他的故事和那些大众喜欢的、夸张的、甚至虚假的华丽转身不同,一点也不精彩、一点也不鸡汤,平淡如水,但是能反映出大多数人的真实情况。
故事开始。
地点:上海
时间:2017-2019
1.我曾经失落、失望、失掉所有方向
码农这个词,是我决定要学习编程的时候,我才知道是指程序员这么一个存在的。因为我本科的专业是液压应用,在毕业后的至少四年时间里,我一直都在从事于对口的工作,我对编程一类的人或事的了解程度,大概不会超过美国人对汉语的了解程度。
当初到底是出于什么原因要去学编程的,我真的想不起来了,但至少可以确定一点,绝对不是因为兴趣、热情。可能因为听说工资普遍很高,普普通通月薪可以过万,至少网上都是这么流传的(万恶的网络)。相比于我们液压这行来说,月薪能过万,那是绝对的诱惑力啊。
液压这个词,应该对大多数人都是陌生的吧。既古老又小众的行业,当然最主要的问题就是工资普遍很低。每天在各种油污里抹来滚去,“混迹”在一群年纪比我父亲还大的操作工人里面。他们是一个既可怜又可恨的群体,对待从办公室下来的技术人员却是一副藐视的样子,不服从安排、做事偷工减料,这些就是他们的日常。
采用液压技术的设备最怕的就是密封不行,出现漏油了就是神仙都难救了,因为你根本不知道是哪里在漏,就好比是一片森林起火了,你根本看不出起火源头在哪里一样。所以我们的图纸上会着重标记出密封圈的大小和准确的安装位置,图纸会下发到工人手里,至于他们看过没有,或者就算看过、但是看懂没有,这些事情只有天知道了。因为他们心里明白,产品出现问题,背锅的多半是我们技术人员。
如果你顶真去追查到底的话,哼哼!他们就很不客气地炒了老板,此处不留爷,自有留爷处,分分钟换个工厂继续干,不拖欠“饷银”就行,好不潇洒的快意人生。想想真是可恨,我就不能像他们那样“潇潇洒洒”的呢?领导说,你不同,你还年轻(我是指那个时候,现在也老了),你还要学很多知识和经验,你还有光明的前途,车间那帮子人就这样了。
突然想起一句话(忘记在哪里看到的了,多半是那些泛滥的鸡汤文里吧):人生就像一只趴在玻璃窗上的苍蝇,前途一片光明,但又找不到出路。
彼时的我,大约如此。
2.第一次转行,是去做了销售
想想当初刚毕业时,真是可笑又天真,我抱定学以致用的决心,至少有四年的时间一直是在从事液压行业的工作。后来觉得这个古老的行业只会让人生越来越灰蒙蒙的,于是决定转行去做销售。因为我以为销售就是喜欢与人聊天就可以了的,加上我肚子里还有点所谓的技术积累,怎么着都可以满足客户需求的啊。
当然,看完上一句,你大概都能感觉到我这里要用转折了。
没错,我的销售业绩做的一塌糊涂。我转行做销售,是进了一家贸易公司,是一个瑞士品牌传感器的代理商。公司结构很简单,一共十来个人:老板,销售人员,销售助理,仓库管理,还有一个前台小姐姐。
公司内部群里有一个共同维护着的客户资源库,那里面大大小小的公司有八百多个吧,但真正有稳定可观销售额的客户是个位数,而且大都是在老板自己手里捏着。留给销售人员的,就是一些“路人甲路人乙”之类的客户了。
有的销售人员入行早,他们根本就不屑看公司的这个资源库,因为他们已经积累了大量的客户在手上,用一句时髦的话,那叫“自带流量,那个点击率和成交量可是噌噌的、刚刚的”。所以,也就像我这种半路出家的,要啥没啥的,对公司的那个资源库就像抱着圣经一样,天天挨个打电话联系,过去拜访客户。
我们拜访的人员基本上就是对方公司的技术开发人员和采购人员。因为开发人员要决定买什么,采购人员要决定找谁买,当然我这里只是粗略地描述一下概况,有的公司可能是采购部权力很大,基本上可以一手包办。
在那大半年的时间里,我没有什么直观的业绩,要说唯一的收获就是认识了很多软件开发人员,也就是程序员,也就是码农。
我对这个群体的认识是这样的:他们的年龄普遍偏年轻,但面貌却使得他们看起来又没那么年轻,尤其是其中有些人的头发数量不是太乐观,个性简单纯粹,跟他们聊天是一件轻松惬意的事,为人有礼貌有素质。可能这些经历给我带来了一些潜移默化的影响,后来我又转行去做程序员,应该也与此有关。
坦白讲,跑销售的那些日子里,每天都是在焦虑中度过,最尴尬的时候是跑到没有客户可以跑了,整天在公司坐着,日报、周报几乎没有东西可以写,销售计划也无从下手。真的是如坐针毡啊!觉得这样子搞下去,真的是浪费时间,把整个人都荒废了,唉!这么个窘境怎么破?
在最一筹莫展的时候,机缘巧合之下,我认识了DS,他是某老牌外企的资深程序员,他对软件开发的侃侃而谈让我高山仰止。当时我就心里琢磨,既然销售干不下去了,要不就转行学习编程吧,至少还能混口饭吃。反正老本行的液压应用,我是断然不会重操旧业的。
随即我就鼓起勇气,把我当前的窘境与他说了,跟他说了想跟他学习编程,想请他给我指点迷津。他觉得我是个纯粹的门外汉,十足的小白,零基础没法子教,只留下了一句“你自己买几本书先看看再说吧”。
3.我参加了要2万学费的培训班
后来的几天里,我天天在网上看那些免费的视频教程。就好比是掉到水里的人看见稻草也会去抓一样,人越是在无计可施的时候,就越是去相信那些写着速成的,比如“三天学会什么什么”,“一篇文章讲明白什么什么”,“小白和大牛的差距,就只差这本什么什么”。
慢慢地,看得多了,就知道这些鬼玩意都是骗点击率,或者是软文广告,卖课程的。自学的过程简直是煎熬,晦涩难懂,心里很痛恨那些人就不能说点人话吗?其实自己心里明白,就是智商捉急、资质不够,学不懂嘛。
万般无奈之下,我又联系了DS,跟他说了最近的情况,他建议我去报个培训班吧。既然你不知道该学什么,也不知道该怎么学,那就只能花钱买服务了。
我参加了一个为期三个月的软件培训班,学费2万,培训机构可以提供贷款,但我是交的全款,居然也没给一点优惠。
培训班是置办在一个老旧的写字楼里,租了一整层楼改造成了教室,教室一共有6个,一个班的学员数量一般在30人左右。在培训机构的入口墙壁上醒目挂着一块牌匾,是“XXX培训机构合作企业”,然后下面罗列了很多知名的公司,国内国外的都有,比如华为,中兴,三星,飞利浦,科大讯飞,LG等等,给人的感觉就是,只要我在这里闭关“深造”3个月后,就能进入这些公司了。现在想起来,真是呵呵。
在牌匾的旁边,是一张大红纸,上面用粗体的记号笔写着一些姓名、公司名、薪水。那是已经毕业的老学员的应聘offer记录,薪水大都在6000-7000左右,这家机构还算良心实诚,没有夸大写个2万3万的。
去的第一天,我发现来这里学习的,有八成都是那些野鸡院校的大四学生。因为没法指望学校来找到好工作,只有自己出来参加培训班,学点干货,然后出去找工作。我在的那个班里,有好些人本来都不是住在上海,他们自己说是从江西景德镇过来的,而且是慕名而来,我差点没笑出来,敢情是学费给了你们优惠了吧。
因为还是在读的学生,手上没钱,他们都选择了贷款交学费,而且就住在培训机构提供的群租房里,后来听说被社区管理人员上门砸墙砸床,统统赶走了。
噢,顺便提一句,那时候我已经是奔三的男人。像我这个年纪还来转行学编程的,真的很少,只占个位数。
课程安排很紧凑,每一门课会有印发的教材,当然,都是培训机构自己编写的。对于初学者而言,那些教材编写的非常不友好,基本不会看,看也看不懂。
每个班除了代课老师,还会配有一个班主任,两个班主任助理(是年轻小姐姐)。班主任监督学员的学习状态,每当一门课程结束后,助理小姐姐就会跑来做问卷调查,就是让学员给代课老师评分提意见。
说实话,坐在教室里跟一堆学员一起学习,的确是比自己在家里看视频要更专注些。课程的安排大致就是:C语言、数据结构、文件IO、进程、线程、网络编程、ARM处理器基础知识、linux基础知识、系统移植、编写驱动程序。以我一个零基础的人来说,就觉得C语言和网络编程这两门课的老师讲得还比较白话文,至少我还能听懂。其他的几门课,可能本身知识就比较有难度,但是老师讲得也有点照本宣科,越听越糊涂。
比如说讲ARM处理器的那个老师,据说还是培训机构的金牌讲师,这门课只安排了一个星期。但是我觉得他讲得并不好,完全是他一个人在表演,拿着开发板编写了一段代码,烧写到芯片里后,让蜂鸣器响出了卡农的曲子。最后在卡农曲子的结束下,这门课也结束了,留下了听得很懵逼的三十张脸。
三个月很快,我觉得培训班上完以后,最大的收获,就是知道虚拟机是啥,虚拟机怎么运行linux操作系统,linux的一些简单操作命令,知道vim是啥,会在linux里编写一个服务器和客户端通信的程序,其他的还是傻傻分不清楚。
4.半生不熟的码农日子开始了
接下来就是安排企业过来招聘了,培训机构既然收了你的钱,那戏就要做的足一点。之前提到的牌匾上那些知名公司,你可以放心,是都不会来的。
过来招聘的公司不仅仅只是上海本地的,也有上海周边其他城市的公司过来招聘。而且也不会刚好你一学完课程,就会立即能有企业过来,没有那么刚刚好。据说有的班等了一两个月也是常有的事,就好像谈恋爱一样,还要讲缘分的。
很不幸的,我的班就是那批没有缘分的。那怎么办啊?我花了这么多钱,我对培训机构的期望是很高的,可是却没能马上安排工作,当时心里的着急啊。学员们一个个都哭丧着脸,就都去自谋出路了。
这个时候,我就想起了当初跑客户时,认识的那许多可爱的程序员们了。联系了一圈,最后DS给了我好消息,他给了我面试的机会,也提前给了我一些“考点”。后来依旧不出意外地被面试官问到怀疑人生,当时就觉得没戏了。我还记得我在回去的路上,眼睛一直盯着窗外的浮云,三十岁的男人混成这样,心里只觉得天地都好像翻覆了一样。
就在两天之后的清早,DS给了我消息,说应该没问题,最快下周可以来上班了。我震惊得从床上弹起来,心里说不出的滋味,在我准备放弃的时候,上天又给了我垂青。
在接下来的一周里,我接到了offer,去办理了入职手续,半生不熟地开始了我的程序员生活,一直到现在。
我还在培训班学习时,班里有些好事者总爱流传一些有关码农们的“自嘲梗”:比如“钱多话少死的早”、“程序员的收入水平跟他的发量成负相关”、“我跟我爸走在一起,人们总说是两兄弟”、“程序员之间的鄙视链:BAT等等大厂的瞧不上外企的,外企的瞧不上国企的,国企的又瞧不上民企的,民企的又瞧不上初创公司的”、“培训班出来的是行业鄙视链的最底层”。
等我进去公司后,不得不说,有些梗的确不是平白无故来的。所以,在同事之间,我一向不提我是培训班出身的。因为我的水平有限,所以分配到的项目组是优先级比较靠后的,除了leader,team成员大都是刚毕业不过两年的小年轻,时不时的还有大四的实习生穿插进来,但他们做的最多的事情,就是帮忙点加班餐。
工作内容难不难?真的很难。为了快点上手做事情,我开始了我的加班漫漫之路,这种上班状态有个专门的行话:叫“996上班制”,真是精辟。
我们的项目是属于物联网行业,产品是室内的智能照明灯具,应用的技术是物联网里比较流行的ZigBee协议,可能也不怎么为人所知吧。项目的事情分得很细:架构设计、前端开发、云端服务、网关的协议转换、ZigBee协议栈里的应用开发、系统测试、QA测试。
我是在协议栈的应用开发里。有一天同事给我发了一封邮件,大意是说某个驱动程序的代码有些问题,但是没有找出原因,让我帮忙解决,给的时间是三周,附件里是一个100M左右的压缩包,全部是源代码。
我打开压缩包一看,当时我的脑子就要炸开了,感觉就像是二战时,刚刚参加完3个月训练的新兵,转身就被空降到了诺曼底的战场上。
面对浩如烟海的代码量,我万脸懵逼,根本不知道要做什么,白白地看着时间过去。如果你的任务拖延了,那么与你这部分相关的开发人员就要等着你,代码就合不进去,整个项目都在等着你,在例会上人人都会指向你。
我去向同事请教,希望他能把问题讲得清楚易懂些,他的确讲了,也许他也认为讲得很详细了,于我来说,却没有什么实质上的用处。我心里干着急,在这种状况下,我肯定需要别人的帮助。但那时候还没有关系贴近的同事,于是我又向之前跑销售时认识的程序员们发出求救,GJ给了我很中肯的建议:他让我用思维导图把代码的框架图画出来,分析出你的那部分在哪里,虽然代码量很巨大,但是记住,你用哪个就看哪个,否则你会“深陷泥潭”的。
就这样穿针引线般的努力,我定位到了问题所在的源代码位置,把范围缩小了很多,耐心反复地看了同事的问题描述。虽然我还是不明白该怎么解决这个问题,但是我刚打开源代码时的惊慌失措已经遁去消灭了,我知道应该怎么准确描述出我的疑问,我带着明确需求的问题,去跟同事多次沟通,这次的任务还算完满解决了,尽管有点“夹生饭”。
可能是我太小白的缘故吧,我深深厌恶那些写得晦涩难懂的“炫技”文档。每次完成一个项目需求后,我就会在业余时间里,写下一些图文并茂的文档,用尽量质朴详实的语言。写完后,我便拿去给实习生看,希望他们能照着我的描述把那个环境重新搭建起来,一来可以给他们闲得生烟实习生活带来一些生机,其次也可以验证我写得是否易读和正确,作为自己技术上的一种浅显本分的积累。
然而渐渐地,我自以为这多此一举的文档,居然成为了team里广为流传的好东西。我这么小白的一个家伙写的一些啰嗦话儿,居然也有人要看,这使得我很感意外,但又颇感自豪欣慰,给我注入了不少的信心,因而这个无心插柳的习惯也就一直保持到现在。
5.也哭、也笑、也平凡着
可能对于自己是培训班出来的这件事,一直心存介怀,这两三年的码农日子里,我都保持着虚心战兢的心,我并不是什么高手,仍然是一边学习着、一边努力着。薪水没有网上流传的那么多,但比我曾经的液压行业强得多,足矣!如今的我已经年过三十,供着一套小两居室的房子,也有了一个可爱的宝宝,头发也都还在。每月除去房贷,剩下的结余也没有太多,生活不咸不淡的过着,其中夹带着简简单单的、微小而确实的幸福。
呵呵!看到这里,是不是有点失望,我并没有从平民到王子的华丽转身。从始至终我都是一个平凡的人,我资质平平,却又不甘于曾经的沉如死水的日子。因此,我选择了改变,去尝试、去学习,这一路没有芳草萋萋、落英缤纷的怡人风景,或偶然或刻意,最后的境地却也是豁然开朗了,总归是比以前好了。
写到这里,我等待已久的地铁也刚好到站了,正待进入,车厢里面传来一阵歌声:“我曾经像你像他像那野草野花,绝望着也渴望着,也哭也笑也平凡着”。
【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】