从创业失败到前端负责人:我的非典型程序员之路

220 阅读26分钟

前言

我是一个在互联网行业跌跌撞撞摸索了快6年的普通开发者,没有太高的学历,也没有太强的技术,也不怎么善于分享,但受到狼叔和captain所创办的浪说博客的启发,我决定分享我的经历。我想我的故事或许能为刚踏入互联网行业的朋友们提供一些启示,同时我也期待行业前辈们能给予我宝贵的建议和帮助。现在,我将讲述我作为一名前端开发者创业者的故事。

毕业后

我是2019年从重庆理工大学毕业,当时在大学学的是信息与计算科学的专业。和大部分人一样,当时对未来并没有什么规划,于是就稀里糊涂的去考研了,选了一个计算机408,虽然当时备考时间还算充分,但是没有系统性地学习,最后也在计算机专业课的题目上吃了亏。

考研失败后父母问我以后的打算是什么,要不要去上海和我表哥他们一起去创业试试看。大表哥是海康威视的销售管理,二表哥是海通证券的技术专家,父母也是从小看着他们长大,出于对他们的信任,父母让我带着全部50万积蓄就前往了上海,作为股东和他们一起创建公司。

探索和学习初期

刚去的时候,寄住在二表哥家,那个时候表哥们都还没有提出离职。他们对新公司需要做哪方面的业务并没有太明确的目标,于是让我先自己学习一些实践项目的知识,二表哥再辅以指导,先提升自己的能力。

学习初期是很煎熬的一件事情,当时的我除了在学校中学到的一些python,java语言外,对完整的项目的经验几乎为0。当我拿到二表哥给我的一个ssm框架的项目时,完全不知道从何下手,光是启动项目都做不到。对IDEA编辑器不熟悉,不知道各个文件有什么作用,去查问题的时候又会有新的的问题出现,导致我老是没办法集中精神去思考,心里面特别烦躁。二表哥晚上回来之后问我有什么问题的时候,我自己也无法将遇到的问题描述清楚,他给我讲框架中的mvc模式,aop功能我也听得云里雾里,导致在问问题的时候被他骂了好多次。后来我开始用笔去抄写这些代码,虽然看上去很蠢,但还是能让我静下心来。最后用了快两周的时间,我终于跑通了这个图书管理系统。表哥和我都开始怀疑我是不是真的适合做软件开发,因为在他看来这个系统很简单,不应该需要这么久才能堪堪运行起来,而我也觉得自己学起来特别难受和吃力。

于是他也开始给我介绍了软件开发的全流程,告诉我 销售打通用户渠道产品经理设计产品原型UI工程师优化原型图前端负责还原设计图,完成页面,对接数据接口后端负责提供数据接口,维护数据测试负责发现软件中的漏洞和错误运维实施负责部署程序,维护程序正常运行。到这时我才对一个互联网公司的结构有了整体的认知,他问我想要往哪方面发展,思考许久以后,我选了前端,其实在做ssm前后端未分离的项目的时候,看jsp文件以及调整页面这一块给我的阻力是最小的。同时他也提醒我,对于前端领域,他其实并没有太多研究,主要得靠我自己去学习。

初窥前端,公司正式成立

于是我正式开始接触前端,先去学习html和css,通过做一些静态的页面去了解每个标签,每个样式属性。在这个过程中开始真正的对前端产生兴趣,做这些静态页面的时候,给我一种用代码在画画的感觉,当我跟着视频用html和css画出了很好看的页面,给我带来了一种满足感。然后开始学习js和jquery和boostrap,通过js方法让这些页面动起来,有了交互感,让我感觉到我做的东西能够有实际的应用。也得益于js的简单的语法和详细的文档和社区生态,在学习的过程中有很强的正反馈,也让我坚定了继续往前端钻研的想法。表哥也经常会给我一些业务场景,让我自己去设计实现页面,也告诉我他们成熟大厂前端的技术栈,让我尽早去接触vue,react和typescript,也教会我去多用github,google和stackoverflow去搜索问题。刚开始的两个月,除了吃饭睡觉,偶尔帮着表嫂带一下娃,每天都是敲代码去实现业务功能,学习前端各种常用的框架和语法。或许是自己确实对前端感兴趣,那段时间在我看来是充实快乐的,也让我在前端开发的路上打下了基础。

后来的10月份,公司正式注册,我们在松江区泗泾镇的一个科创园区里租了一个小办公室,表哥也接到了一个医院的小项目,也招了一个产品和后端同事。虽然只有6个工位而且没有窗户,但还是给我一种一切都步入正轨的感觉,也让我对未来有了期许。在之后的两个月,我也开始慢慢进入工作节奏,开始习惯和其他同事一起去开发,讨论实现业务的方式,也开始用vue去开发第一个正式项目,而在实际项目中,开始更能够体会到vue的设计的优秀之处,慢慢掌握了vue工程的状态管理路由管理webpack和vite构建跨域处理,也开始对elementUIant-desginecharts的功能慢慢熟悉,也开始用git去管理代码。最后成功地交付了这个项目,公司也因此收获了第一桶金,并且拿到了医院后续的大项目合同。更让我觉得高兴的是来自同事们的认可,他们一直都觉得我已经在前端工作了1到2年了,让我对自己有了更多的自信。再后来,表哥们从之前的公司辞职,开始全身心地投入公司的事情,一切都仿佛朝着好的方向发展。

疫情来临,确定基础开发架构

意外总是悄无声息地来临,疫情打破了我们对未来的规划。封禁在家里的日子让我们倍感煎熬,医院的项目也被无限期的搁置。线上办公的效率也很低下,整个公司的情绪都很低迷,于是在这种情况下,同事们也都一一辞职。当时的我心情也很复杂,二表哥对我说:"没关系,只要我们不散,这个公司就不会倒,我们可以趁现在优化前后端的架构,等解封后再去迅速开发业务"。于是我们俩开始了对现在已经开发的业务进行重构,去思考如何做一套针对于各种项目的通用管理平台的功能,去学习各个管理平台的优点,去站在客户的角度上去开发一个好用好看的平台,也站在开发者的角度去想如何能够快速无误地去交付项目,也开始习惯自己去反驳自己的设计和思考。最后我们也完成了基础的版本,实现了多数据源多租户的权限分离完善了sso单点登录集成了报表和工作流的插件确定了项目部署方式,前端也封装了很多基础的业务模块组件。也因为医院那个项目之前提到可能会用到微信小程序,我也在那段时间学会了微信小程序的开发。在做完这些之后,强制居家隔离的条令也解除了。

我们又回到公司进行开发,因为医院的那个大项目会涉及到集成医院的三维地图,而大表哥谈成合作的三维地图的厂商是在杭州的一家公司。于是我作为前端工程师前往杭州去讨论如何集成他们的地图功能,在去之前我其实心情是忐忑的,也因为自己算是第一次直接接触到其他公司的前端的技术开发,担心自己会做得不够好。但幸运的是,和我对接的是他们的技术总监,他是一个很平和友善的人。他给我详细讲解了他们的技术架构,因为我没接触过cesuim,他也耐心地去给我介绍了一些cesuim的api以及他自己封装的方法的思路。更令我惊讶的是,他居然是用jquery去完成如此庞杂的系统,他也笑着说,他做这个项目的时候vue还没发展起来,后续也会慢慢迁移重构,提高性能。经过两周的学习和交流,我基本掌握了封装的方法的功能,也确定了单独部署地图服务,然后在页面嵌入iframe,通过postMessage去调用其中的方法。这两周和他的沟通和交流,我感觉到我的技术是有一个跨越性的进步的,我开始习惯去一层一层去往下钻代码,不再对繁杂的代码感到畏惧。同时我也开始意识到,使用什么技术框架不是关键,关键的是在自己的能力范围内稳定快速实现业务,确保不会出现大的问题。

全栈之路,公司慢慢扩大规模

时间来到2020年中旬,公司的系统和平台以及文档变得越来越规范,大表哥也带来了很多意想不到的项目。也是因为疫情,各大高校和医院的管控开始愈发严格,这些单位都迫切地需要对自己的安防系统进行升级,或者开发新的定制化业务。而海康,大华,宇视等厂商对这些需求实际上是看不上的,他们只负责提供自己的硬件和基础平台。加上我们之前做的产品,大表哥之前在海康的人脉资源,以及我们比较低的报价,于是我们争取到了不少这方面的项目,也明确了我们未来短时间内的产品形态。

中旬到年底,我们开始马不停蹄地开发业务,在做业务的同时,也同时去在业务之中去做产品化,以求更快完成不同的业务,在后端建立边缘层编写中间件,在前端也不断迭代针对各厂商api适配的组件。因为有业务交付时间的压迫感,连续几个月保持着高强度的工作,从早上9点到晚上12点,没有一天的休息时间。不过这种忙碌在我们看来是很值得的,年底我们完成了90多万的入账。表哥们和我也都决定把这些钱用做扩大公司规模,暂时不做分红,同时也开始给我们自己发工资,表哥们因为都有家庭和房贷的原因,他们的工资是5500元,而我也拿到了自己的第一笔工资,2800元,也开始自己在园区附近租了一个小单间。当时的我其实还挺高兴的,没有觉得不公平的感觉,因为我知道这只是开始而已。

也是经过这一年的前端开发,我对各类业务越来越熟悉,写页面的速度也越来越快,出现bug的次数也越来越少,使用的前端框架也越来越多,但是我却觉得写前端越来越没有意思,我发现我掌握的前端知识已经能解决99%的公司能接触到的业务,很少再有那种学到新东西,完成业务需求的满足感了。于是我也开始去研究nodejs,尝试用nodejs去写中间件完成部分业务功能,但是表哥讨论后还是觉得我们这种体量的公司,不应该将我们自己的技术栈复杂化,最后还是使用springboot和java去做中间件的工作。再次去接触后端的过程出乎意料的顺利,我发现以前想不通的流转逻辑并没有那么复杂,我开始理解到自己以前学到的不只是前端,而是学到的是解决问题的能力,当有一个清晰的目的和思路的时候,一切问题也都会迎刃而解。从这个时候,我开始自己去写部分接口,去学习docker部署,去看表哥在后端的架构,在学习的过程中反而让我对自己前端的设计提供了一些新的思路,让我对技术在不同领域也会有其共通性有了更深的理解。

再后来公司的业务也涉及到手持设备app的开发,可是公司却没有会android开发的人。为了节省去招人的钱,于是我又开始去做android开发。也是在做android开发的时候,我越来越多的时间往外面跑,去现场去梳理网络调试设备部署程序,去对接客户的需求。在这段时间也接触到了各种各样的甲方负责人,有的负责人自己都不清楚自己的需求,需要我们去给他引导梳理;有的负责人有自己的小心思,不想让我们接手项目,会刻意刁难;有的负责人在设计完成之后,会加入自己的想法去大改程序流程;也有的负责人会很严格专业,需要我们去提供项目实施过程中详细的技术说明。而接触得越多,我开始怀疑自己的开发工作是否有价值,甲方客户领导轻描淡写的一句话就能推翻之前通宵加班加点做完的工作,软件系统本身的质量反而像是项目验收最不重要的事。我才明白,软件开发并不困难,复杂的是人心

团队分崩离析

团队的规模到21年初达到了14人,也换了一间大办公室。而我们的营收情况也只能让公司除去各种开支外勉强活着,而未来的形势算不上太好也算不上太坏。而公司内部其实一直也都存在着一个隐患点,大表哥基本都在外面跑业务,无暇管理公司内部事情,所以公司内部的事情基本也都是二表哥说了算。可是二表哥是一个严格,傲慢但又细心的人,他能很敏锐地发现别人的问题,并且毫不留情的指责谩骂。公司的每个员工都很怕他,问问题也都战战兢兢,再加上公司的开发节奏也很快,导致了这两年公司的成员无法长期留存。而我自己对二表哥的感情也很复杂,我和他有过争执,不过也赞同他的很多理念,我认可他的技术能力,同时也反感他的处事能力。在我眼中他一直是一个亦师亦敌亦友的角色,我们虽然不太对付,但是我们目标一致,在开发节奏上倒是配合得也算默契。

而我自己也在慢慢地变化。学习得越深入,思考得越多,我发现自己越来越不爱说话了。我感到越来越孤独,表哥们一直把我当小孩子,不太把我对公司的建议当回事儿,和我差不多大的同事们却把我当老板,也没办法彻底融入他们。可是我却能体会到作为公司方因为未来不择手段前进的焦虑,也能体会到同事们在这种高压环境下的难受和痛苦,我本应该去做些什么,但是我却不知道怎么做才是对的,让我倍感折磨。不过繁重的开发工作反而却拯救了我,让我不会过度沉迷在那种抑郁的情绪中。既然做不了公司的领头羊,也无法充当团队的润滑剂,至少要成为最锋利的剑。 秉持着这样的思想,我开始在工作中做得越来越好,可是某些重要的东西也在我的身体中消失,我开始不再情绪化,也不会在写代码中感到快乐和沮丧,眼中只有完成目标的迫切。我在慢慢失去人情味,除了讨论业务逻辑和接口对接,不再说多余的一句话,只是在想着我要是做得再快点,情况会不会更好。

压死骆驼的倒数第二根稻草悄然来临,22年年初,上海疫情失控,突如其来的封城让人猝不及防。从最开始的封城3天到7天再到14天无限延期,每个人都被关在家中惴惴不安。我们又开始了居家办公,可是这一次封城比上一次带来的情绪还要差,防控的体系好像在逐渐崩溃,新闻带来的基本都是坏消息,大家的工作效率也受到很大的影响。而公司的开支却依然巨大,租金,工资在慢慢消耗我们的剩余存款。无可奈何之下,表哥只给同事们发基础工资,大家虽然嘴巴上不说,但其实能够感觉到那个氛围其实是很低落的。于是员工们开始陆陆续续辞职,随着和我们在一起两年的同事的离开,最后又回到了刚开始只有我和表哥两人开发的时候。而我也在这时候感染上了新冠,身体上的难受并不算什么,让我沮丧的是我对未来感到迷茫,如果真只有我们几个,公司最后能到达什么地步呢?好在母亲的关怀和不远千里寄来的药让我慢慢好转,园区的食堂也开始能把饭送到门口也让我们这些没有锅和灶的人不至于饿死。最后封城结束后,表哥们带我去吃了一顿羊蝎子,这一晚他们都喝了很多酒,二表哥醉醺醺地拉着我说:“你一直以来都做的很好,辛苦你了”。听到这个话的时候我突然莫名的心酸,眼泪不由自主的往下流。他们也给我倒酒,让我不要想的太多,不喜欢喝酒的我在这一晚,喝了人生中最多的酒。

封城持续了三个月,这三个月和之后的日子,我们搭建了自己的低代码平台可视化大屏编辑器threejs地图编辑器,也做了AI识别相关的应用和项目,也开始去研究树莓派去完成快速轻量的硬件程序对接。我还是过着平凡忙碌的日子,可是这一切都在23年初被彻底打破。公司最大的隐患点其实是财务和股权,最开始公司创建时并未确定股权如何分配,表哥们也都说着我们先不去想如何分红,等以后赚钱了之后再来讨论这个事情。也是出于对表哥们的信任,就答应了下来,财务和账也由表嫂去打理。三年时间过去了,父亲让我再去找表哥们讨论股权的分配问题,最后表哥把分配的结果公布出来,大表哥二表哥各占25%,而我占7%,其他留作股权以后用。父亲直接在会议上就骂了他们俩,说我们大家都投资50万进去,大家都在上班,凭什么他们俩比我多这么多?可是他们却觉得他们有资源有技术就该占这么多,后续父亲去查公司的账,又发现了更多的问题:很多支出没有备注详细,约定好的每人50万投资实则账上初始只有父亲的50万,后续表哥们都是陆陆续续往里面投入,到22年每人总共才投入了20万左右。21年表哥们的工资都自己涨到了11000元,而我还是2800元。知道了这些之后,我的心彻底死了,失望的感觉蔓延全身,感觉不到愤怒和生气。父亲依旧和表哥们吵得不可开交,要求他们退还投入的50万元,他们也只对父亲说投资有风险,50万是不可能退还的。后来父亲通过亲戚和律师的调解拿回了钱,而我在补齐了交接文档后离开了上海。

离开上海后的日子

回到重庆后,很久没联系的朋友们还是拿我当朋友,来机场接我带我去吃火锅,我们一起谈天说地,心中的孤独和落魄仿佛也在慢慢变淡。后来,我开始暂住在朋友家,开始了投简历和面试的求职生活。摆在我眼前的难题有两个,一是我究竟是以全栈工程师的身份还是前端工程师的身份去求职,二是重庆互联网行业并不太发达,薪资待遇普遍较低。最后我还是决定去找前端的工作,毕竟要创造出足够的价值,就必须拿出自己最拿手的本事。在这个过程中,我不断优化简历,投递简历,去刷各种面试题,陆续接到面试,也屡屡受挫。让我印象最深的一次是一个hr建议我隐藏我的创业经历,说是很多公司都不太喜欢有创业经验的人。可是我却觉得求职是个真诚互相选择的一个过程,而且我的创业经历也让我在技术上有飞跃的提升,我也没有气恼,继续我的求职之路。

也许是渴望证明自己的心情太过强烈,也不想多给父母和朋友增加负担,回去的时间里每天都约了4到5个面试,大概是用了两周的时间,一家小规模的公司领导在听了我的故事之后很认可我的能力,当天就给我发了offer,思考了一晚之后我接下了offer,拿到了月薪11000元前端负责人的职位。对于这份工作,我其实是有一些忐忑的,因为在上海的时候,前端部分的工作一直都是我一个人完成的,不存在团队分工合作的情况,而现在我得去管理6人的前端团队。在这之后的时间里,我开始整理公司的前端技术文档优化eslint规范产出适配业务的组件定时组织前端交流问题审查前端同事的代码分配协调开发工作。也是在这个过程中,领导和同事们也对我慢慢认可,公司也给我提前转正,我也在公司里扎稳了脚跟。不过,公司还是存在一些问题很让我头疼,一是产品和UI同事的水平太低了,经常设计出很多能一眼预见的问题,和客户沟通的也不够深入,导致经常出现返工。二是我手下的小伙伴的开发水平也有点参差不齐,虽然他们也工作有一两年了,可是我发现他们确实还没有我刚开始接触前端半年的时候强,有时确实能把人气个够呛。

现状和未来的思考

从23年到现在的时间里,我的生活也发生了巨大的变化,我的人生好像被按了加速按钮,半年时间内买了房子车子,有了女朋友。比起在上海的日子,我再也不用每天每周加班到凌晨,也不用去面对客户的刁难和质疑,也不会再有因为下雨骑共享单车回公司摔倒在泥水中的窘迫,也不用再因为省钱各种凑单领优惠券去点便宜外卖而吃出胃病,上厕所前也不用再去挪动洗衣机了,也不再有以前那种强烈的孤独感。日子确确实实的变好了,可是生活的琐碎也变多了,房贷和装修的费用也让我小有压力,经营感情也消耗了我很多时间,人际关系的处理也变得多了起来。没有了以前眼中只有代码的专注,我能清楚的感受到自己对于技术的提升在变慢甚至停滞了,焦虑开始萦绕在心头,开始对未来的路进行思考。

我其实对前端的未来前景是既不看好也不看衰的,互联网对于页面展示的需求是巨量的,所以前端开发的工作需求也是很多的,但是前端的技术架构却已经很成熟了。大家都开始去重复造轮子,各种UI组件库一个接一个,css也在原子化......可是这些对前端的业务和代码性能提升到底有多大呢?前端在我看来是一个上限很高,下限很低的工作,一个普通的页面让一个一年经验的人来写和五年经验的人来写也许并不会有什么差别,只有遇到棘手的问题或者需要去做一些开拓性的工作的时候,经验丰富的前端工程师才派得上用场。可是在一些成熟的公司里,规划好的架构并不需要做过多变动,更多需要的只是添砖加瓦的工作。所以导致了大多数前端用的技术栈同质化严重,我也一直都觉得,眼中只有前端的前端工程师是走不长远的,也是很容易被替代的

而我一直看好的是游戏AI。游戏会给人带来极大的情绪价值,AI是开发者的生产力工具,也会是未来普通人的搜索引擎。而去年黑神话的成功和最近deepSeek的火爆也印证了我的想法。我自己也是一个很喜欢玩游戏的人。在电竞比赛中,会因为fy在烟花下落寞的神情中感到遗憾,也会因为collapse猛犸再次拱碎了lgd的冠军梦感到失望,也因为donk的夸张枪法感到震惊,也对faker5次拿下总冠军感到佩服。在单机游戏里,我扮演过猎魔人在中世纪狩猎怪物,也当过传火的不死人,也在月光下的芦苇荡和剑圣起舞,也为牛仔亚瑟的逝去黯然神伤,也在不夜的夜之城反抗过命运,也作为褪色者纵横交界地,甚至还能成为天命人和二郎神与大圣舞枪弄棒。这些游戏都带给我很难忘的体验,一个精彩的故事一直都是人们喜闻乐见的,而游戏从来都不缺乏故事,它能筛选出来很多天才少年,让他们成为一代传奇,也能让我们进入很多奇妙的世界去探索和战斗。游戏更像一种造梦的工具,开发者去构建世界,玩家去享受世界,很像以前很火的元宇宙的说法。随着渲染的技术越来越强,构建的世界也会越来越真实,游戏也会变得不再只是消遣娱乐,会有越来越多的实际应用。

而对于AI,我的看法是它能替开发者解决很多问题,但是它还是有其局限性。开发是提取信息,分析问题,解决问题的一个过程,在我看来,它能在分析问题和解决问题的时候做的很好,可是无法在提取信息这一步上有太大的帮助,因为很多人并不知道该怎么做,无法描述问题自然也无法解决问题。而且AI在解决问题的过程中大多时候会生成碎片化的代码,也需要自己有经验去整合才能做好。这也是我认为它暂时无法完全替代开发者的原因。

新的一年,我也准备开始多写写文章,继续扩展自己的技术栈,也打算换一份更好一点的工作,想要更充分的发挥自己的价值,可是问题还是我不知道除了前端该往哪方面发展?无法找到更适合我的工作,虽然有自信能做好所有开发的工作,但是毕竟经验不够丰富,自己也并不想编造履历。而对新入行的开发者,选择是很重要的,不管是前端还是后端亦或是其他领域,都要有兴趣才能走得长远,在没有选择或者选择了之后,适当地去给自己一些压力,与其感慨路难行,不如马上出发