最代码官方的gravatar头像
最代码官方 2016-11-29 18:41:46
工作六年的程序员生涯

工作六年的程序员生涯

作者:纯洁的微笑
出处:http://www.ityouknow.com/ 

工作六年对一个程序员意味什么?在职位上:高级开发工程师?架构师?技术经理?or ... ?在能力上:各种编码无压力?核心代码无压力?平台架构无压力? or ... fuck?看着这些问号都心累。那么,六年你迷惘了吗?又走到了那个十字路口?

六对我来讲总是一个特殊的数字,六年中一直想对自己的程序员生涯做一个回顾,总是有各种的借口飘然而过就到了几天。毕业六年,大学同学们基本上都走在了不同的路线,也走进了完全不同的生活,能在六年冲出来的现在也都小有了名气,为什么相同的学校相同的专业却走向了不同的方向呢,且听我慢慢道来。

每个人程序员的经历都是一个故事

如何入坑

在XX的培训班上有一次我对大家这样介绍:我来自一个二流的本科院校中的一个三流专业,学校本来就是师范类的院校,自然不是特别受欢迎,我们是师范学校里面的非师范专业,而且是学校刚开的专业挂在数学系更加非主流,专业就是:信息与计算科学。我听说有的学校这个专业是计算机系的,不知准确信息。但基本上都是学数学的,带着学习一点计算机,当初报考这个专业也是因为这个名字,看起来很有科技含量,多少农村孩子都是这样报考专业的!!!

大学生活

一般大家回顾都要说说大学生活,我的大学一年一句话来总结,大一基本上都是在网吧度过的,大二基本上都是在篮球场度过的,大三基本上都和女朋友一起过的,大四基本上都在找工作中度过,导致我走向编程这条道路的经历基本上都在大四了。放一张当时大学的图片,当然现在都已经发生了很大的变化。

工作六年的程序员生涯

有几个原因导致了我最后选择去培训机构培训Java编码,第一、对计算机比较感兴趣,大学数学课程基本没听过,都是考试应付,但对相关计算机课程很感兴趣,但学的太浅了,我不讨厌数学,但是让我想到学这么多微积分、线性代数...毕业后有个鸟用,就泄气了,没有一点动力。第二、真的不好找工作,专业几乎没有对口,同学干啥都有,有的走向了培训、当了教师,有的做了文员、公务员、银行职员,有的做了交警、还有公安,但最让我惊奇的是有一个当了律师,太惊讶了,我感觉比编程可困难多了,基本上都是各自找自己的出路。第三、大三暑假那会参加了数学建模竞赛,在小组中我负责编程的部分,那时候用的MATLAB和C语言,随着不断的练习和使用更加验证了对软件的热情和理解,也只是觉得软件应该是一个朝阳行业,慢慢的去了解了入行的标准,找工作的过程中慢慢试着去接触了一些培训机构,但是看到1w左右的培训费用,我犹豫了,那时候的1w对我来讲太重了。

大四那年冬天,印象很深刻,跑遍了省会城市大小招聘会场,不是简历都过不了,就是么消息;最后到应聘上几家公司,但是和自己想象中差距太远,一个是培训机构当老师,没去;一个是做管培生,去了,我靠基本上跟传销一样,什么管培生就是卖软件,记得应该叫“红利软件”,就是跑到各个交易所里面去找大爷大妈,聊天要电话,让听讲座最后引导买软件,一套软件大概是3000左右,可以提成10%;早上7点上班,各种活动游戏,8:30出发,9点左右到交易所各种找人,看着眼睛发光的大妈大爷就是目标客户。下午5点左右回来,各种培训,然后开始根据话术打电话晚上10点回家,我们学校一共去了8个人吧,最后留下了一个我们都想到不到一个人,我们班一个文文弱弱的小女生,学习很好的那种,一干就是两年,真是人不可貌相呀,坚持了两周我就撤了。

 

南下深圳

为什么了去了深圳?几个原因,我老大(初中很好的朋友,初中毕业后当兵,然后南下深圳)在这里,万一不行还有一个投奔的地方。深圳应该是当时印象中南方比较发达的城市,希望可以见见世面,找找工作,对了那年还是非典,疫苗刚出来,只给大四的学生先用,那天还发着低烧,也没管直接就打了。小马是我们班的一个同学,关系比较好,听我说要去深圳,特别激动说,强哥咱俩一起去闯天下去 :),因为小马家境还不错,没有吃过太多的苦,从小都没出过省,还是有点担心,但是看着小马这么激动,恰好我也有一个伴,就欣然接受了。后来我先去的,看了情况还行,就打了电话叫了小马一起过来。那时候从西安到深圳为了省钱买了硬座,应该是做了将近30个小时左右吧,吃了N多筒的泡面终于到了深圳,南方人的普通话真是听不懂呀。对了,小马最终做了一名人民警察,这就是另外的故事了。

因为我先去的深圳,就先去了深圳人才大市场,当然了各种受挫。等小马来了以后我们就先进了龙岗的比亚迪工厂,我们分在了不同的车间,小马比较幸运去了电池车间,就是流水线,我分到了纸箱车间,大家可能平时觉得纸箱子没有啥,但是在没有成品之前,边缘几乎都跟刀子一样,没几天从手到胳膊全部是伤,但最重要的是我和我们车间的老大搞不到一起,整天吵架,有一次差点干了起来,那个车间老大后面瞬间站了两个人,那次之后起我就出来了。

听了老大的建议,我又去了龙华的富士康,有一个朋友接我,对我说那边大学生应聘一人还发一个电脑而且是做办公室的(车间里面的人都羡慕做办公室的,毕竟不用卖苦力;在厂里面一般工服有三种颜色:蓝领,就是普工或者技工身份进厂的;红领,就是质检,专门检查质量的,大部分从蓝领升上去;白领,一般就是大学生了做文职或者管理),我没去,我还是以普工的身份进的富士康,我不信我干不下去,最后又分到了观澜的一个小分厂里面做物流,对了就是富士康当时有名的第一跳,就在那个厂区。厂里面不像大家现在洋气的说996什么的,几乎没有假期,什么周末更别提了,早8点晚8点,半月白班,半月夜班。富士康在深圳还是福利比较好的一个工厂,包吃住用药等。

这个图网上找的,有点像当初那个屌丝的年华

工作六年的程序员生涯

在工厂的这段经历让我明白了,我必须要依靠一个技能来养活自己。这个技能就是搞软件!

培训班

根据之前的了解我大概选了两家培训机构,一家就是野马XXX,另外一家就是XX内培训机构,价格都差不多,但野马有教师,X内是视频教学,当时感觉不能接受,不太靠谱。本来都拿着钱去野马那边交钱了,在付款的时候,财务说可以减免了一百元,跟我一直沟通的那位说政策搞错了,肯定不是这个。就因为这个原因,我感觉他们不够严谨,我说那我就先不报名了,然后就去了隔壁的X内看看,结果他们正在上课就让我试听了一下,里面全是大四的学生,我坐在后排听了一上午,虽然感觉还是跟不上,但是有那种建模学习的那种氛围,我就定了X内。后来我在X内都上课两周了,野马打电话说给我特殊减免3千元让我过去,最后没去,但是感觉水分真大。

其实X内当在西安的培训还挺扎实的,还考了sun的证书,其实也么啥用。开始从跟不上,到处请教别人,到慢慢的理解,写各种小游戏,到最后也有学员来问我问题。那时候周六、周天可以免费在培训机构学习,我几乎周末都在哪里,毕业答辩的前两天才回去,然后又过来,毕业典礼没有去,毕业体检舍友这个帮我测血压,那个帮忙测体重,毕业证书、学位证书舍友帮忙领。我的大四几乎和学校都没有关系。在X内认识了好几个朋友,工作到现在都联系着,有的去了华为,有的在外包,还有的搞了小公司。

培训机构承诺免费介绍工作,那时候的培训好像也没有让大家伪造什么工作经验,学校什么的,一般情况下只要你不是很烂,基本上都能找到工作。X内推荐了几家公司,自己也投了简历记得最后收到了2个或者3个offer,也记不得都有什么公司了,最后选择了去李嘉诚儿子的一家公司就是电讯盈科,这个公司那时候刚来西安,还算不错的公司,主要是电信方面的研发,可惜我再这公司也才呆了不到一个月。

工作西安

刚入这行还是比较周折,也差点进去了另一个方向,所幸最后走向了正轨。程序员都是第一年的工作不是特别好找,过了第一年后,后面就比较轻松了。刚进电讯盈科的时候我的心里状态还是没有调整过来,感觉还是在大学的那种状态,进去之后是淘汰制,一个月内培训oracle,两周淘汰一次人。其实我感觉自己太不会表现了或者其它吧,最终一个月底的时候我也被淘汰了,打电话给我姐说的时候,我姐说,关键人家一共20多个人就淘汰了2个人!其中就有你!对了培训的钱,借我姐夫的。我感觉很憋屈,但我还是不认可,我是最差的。但最终我还是需要面对再找工作的问题。

网上海投了N份简历,电话不多,面试了几家公司后,也收到了几份Offer一个小公司不交社保,1800;有一家外包华为2100正规缴纳社保,我去了华为外包。关于薪资我给大家说两个笑话:1、我当初培训的时候一个学员给我说,有一个朋友从这里出来后,第一份工作2000,跳槽后4000,再跳槽后6000,我们一群人心里都默默的崇拜着,想着这肯定都是大牛级别的人物;2、我毕业第一份工作预期是2000左右,然后我就幻想着以后每年能涨1000元我就满足了,到了30岁我就能拿快8000了,现在真到30了才发现现在的毕业生起步价也是这个数。

第一份工作

那时候我也在网上看了很多外包公司的种种不是,但我的选择不是很多,不管怎么样毕业了就不能再往家里要钱了,总得先挣钱吧。华为外包有一个变态的特点为了保密,不允许带U盘、手机等各种存储、通讯设备,上班后基本就和外界失联了。那时候是做无线上网卡的客户端,就是那时候往电脑一插就可以上网那种。每个人进来会分配一个师傅来带,比较幸运我来的时候分给了一个比较好的师傅,性格、态度,以及他工作的方式其实最后也都影响了我。

我们应该在研发二部,大概分了三个部门,大巴组,小巴组和定制组。定制组:就是不用写代码的那种,华为开发了一些工具通过工具可以改变客户端软件的logo,模块功能等,华为的软件真是遍布全球到处的客户都有,阿拉伯、非洲各种语言大部分的需求都是基本可以工具搞定;小巴组,就是需要改一些代码,但是工作量又不是特别多的那种;大巴组就是需要改动需要1月以上的需求。我当时分在了小巴组,大概有十几个人,其中也有很多硕士毕业的也被忽悠进来。最原始的代码都是印度阿三写的,我们都是在上面做二次开发,刚进去看了一个类代码有上万多行惊呆了,但是代码确实写的非常正规。没有什么架构文档给我们,但改动基本都是外层的皮肤了或者小按钮之类的。

加班非常多,但比较开心的是加班有工资,而且是按照国家标准来的,平时加班1.5倍,周六天2倍,假期三倍。这是我工作到现在最正规的加班制度了,工资只有2100,但通过加班可以拿到3000左右,加到2点都是很正常的事情,特别喜欢假期加班可以拿三倍工资,华为在西安包了N多大楼,当时在软件园三期,班车上百辆开出去还是挺壮观的。华为的中午休息文化,确实好,中午吃完饭熄灯大家都睡觉,中午趟在哪里睡一个小时,下午工作质量明显提高N倍。

我刚进去的时候客户端有两种一种是Java写的,一种是QT(C++的封装),慢慢的Java版本的都淘汰了,全部上线了QT。我从小巴慢慢开发了大巴需求,但到最后没有Java版本的需求了,全部用QT。Java组的大家都各种转型,有的去了另外一个js控制的项目组,我选择了留下来搞QT,开始学习C++,因为有C语言的底子,倒也不难慢慢的可以开始搞QT版本的小巴需求,但是最后我就纠结了,我以后到底是往Java方向发展呢,还是C++呢。后来终于想通了,我花了那么多钱培训java这样太亏了 ,于是选择了离职。那时候华为方的领导其实对我也特别好,还专门给了我两周时间不用上班去参加华为Java的培训,大家都带着华为的白牌子,我带着外包的黄色牌子,培训老师问了我好几次我是那个部门的,但最后我还是撤了。

放一张我们小巴组出游的照片

工作六年的程序员生涯

第一份工作促成我从学生到职场的转变。

第二份工作

当时面试有意向的公司大概是两家,一家是做GIS系统关于地理信息的公司,另外一家是XX系统,主要是做思科代理,给思科做各种软件或者给思科的硬件去做集成方案的各种软件。我选择了后者,没有别的原因,后面这家工资给的高,我就这么实在。

刚进公司其实比较紧张,因为半年没有做Java了,每天各种学习,各种加班最后发现其实还可以,虽然半年没有搞了但问题也不大,公司用的是hibernate和Struts基本上都是以前用过的框架。第一个项目是,smart meeting智能会议,就是大公司预定会议的一套系统,大部分的工作都在前端,那段时间让我对js有很了很大的了解,因为预定会议的系统界面都是各种拖拽。第二个项目大概就是vozimate,就是给思科的IP话机上面做应用,就是通过电话可以查询股票了、天气预报了等等,我们的这些信息都是通过爬虫抓取第三方的,过一段时间就需要调整一下爬虫策略。第一次让我对硬件和软件交互有了理解,思科的IP话机当时还是蛮先进的视频通话,各种会议都是没有问题。

最重要的一个项目也是我几乎入职一直在搞的项目就是UC manager,就是通过思科的电话打完短途、长途、漫游、国际漫游、转接、会议等等,凡是和打电话相关都会有,其实就是相当于联通或者移动公司话费的计费系统,当然还有路线最优路由,统计等各种功能非常多,刚开始做一些小功能,到负责一个模块,到最后整个系统都是我来负责,直到我离职的最后一天,我都在做这个项目的最后一版计费优化。正因为这个项目到北京面试的时候得到了一个高薪的机会,这个下面再讲。

其实在这个公司里面,项目中规中矩,代码也是主流的框架和技术,一年多的时间稳扎稳打让我对大项项目框架和设计有了很多的认识,特别是爬虫什么的让我非常兴奋。那时候中午我经常看博客园的新闻,整天都是互联网公司怎么怎么了,但是西安基本没有一家正正经经的互联网公司,于是就有了去北京想法,刚好jerry也有这样的想法13年过年后,大家纷纷提离职,准备去帝都呼吸新鲜的雾霾。

记得是11年十一过后入职的,当天一起入职了四名同事,我什么要强调这个呢,因为这四个同事到现在为止,都成了我职场后关系最好的四个好基友,其中有一个女孩,但我们仍然这样认为。jerry、波仔和鸽子,我们四个各有特点,jerry就是那种极客精神,喜欢各种硬件、软件,做了好几个网站,创业几次,目前创业中;波仔,天生搞笑天王,唱歌天王,在生活中带来无限的乐趣,跟他在一起永远是欢笑不断;鸽子,是女汉子或者是逍遥着,天生喜欢流浪、喝酒,拉萨、云南、日本、台湾、英国各处流浪,永远给人一种激情满满的感觉。

我们甚至创建了自己的户外组织Flyever,有自己的官网,甚至印了自己的队旗,logo和口号:自由 梦想!每月组织去排山,腐败、各种活动。发工资了说今天活动一下吧,十几个人就去吃饭喝酒,晚上通宵唱歌;世界末日了说去庆祝下吧,这两天心情不好,去活动一下吧!找各种借口去腐败,爬了很多山,喝了数不清多少瓶的9度。这是曾经的官网www.flyever.cn

北上帝都

来到北京的时候,我身上只剩了3000快钱,1000多在分钟寺(现在已经拆迁)租了个公寓,买了些日常用品后就剩1千多了,我专门挑互联网公司来投简历,大概头了100份左右,找了10家去面试,一周内面试完拿到了5份offer,其中有一家给的特别高就是因为我以前做了UCmanager这个项目,他们公司刚好给爱立信做项目,缺少这样项目经验的人,我犹豫了很久,毕竟工资给的很高,但最后还是放弃了,进了一家第三方支付公司。

第三方支付公司

选择第三方支付公司的时候,其实我还不是特别了解这个行业,只是觉得支付应该是比较不错的。这家公司也是我现在公司的母公司,刚入职的时候感觉周围一大片全都是大牛!公司还管饭,感觉特别好,没过了几天,就被同事拉进了一个XX山炮群,又开启了胡吃海喝的时代,经常私下我们几个组织着去AA聚餐,各种吹牛,各种烧烤啤酒也别有一番风味,混熟了之后,才发现和我一样大家都是屌丝,有一次部门聚餐的时候,部门经理说,大家都举下手看看大家都是那个省的,结果几乎每个省都是一两个这种,看着来自五湖四海的同事在一起工作,也是一番景象。

刚来公司做的是,第三方支付的前置接入系统,当时公司每天交易额刚刚上亿,服务压力非常大,每天各种报警,我们就辅助从前置开始跟踪,慢慢的对业务有了了解,后来也写了专门的压测程序来跑。再后来开始负责公司官网的改版,收银台改版,到后来开始了解J8583,银行接入平台 慢慢的才对第三方支付有了一个整体的了解,13年底的时候慢慢的兴起了很多p2p,很多公司在做对接平台,那时候大家都不懂什么是p2p,我们也不懂,也是一边学习一边搞,项目持续做了很久,我带了两三个人来做后端。最后这个项目也没有做起来,因为我们还是不了解p2p公司到底需要什么,自己琢磨的东西还是不太靠谱。

14初的时候总监,偷偷告诉我要封闭去做一个关于金融的项目,想让我参加,没想到正是这个项目对我的职场有如此大的影响,所以说关键时候的选择非常的重要。紧接着没过几天,就开了几个车拉着我们去了四星级酒店开始封闭开发,后来方案定了使用PHP开发之后,我又撤了回来做平台接口层的开发。大约过了一个月项目基本完成了,大家回来后项目组因为一个老总出走,带走了一个团队,剩下的开发几乎都走光了,那时候其实我也找好了工作,新的公司待遇和环境都不错,领导找我谈话,想让我负责这个项目。我对领导说我先考虑一下,等我休假回来后给回复。那段时间太累了加了很多班,请了好几天假去了青海湖大玩了几天,朋友都建议我去新的公司,后来我考虑一下还是选择了留下。 

互联网金融

那个封闭的项目就是互联网金融,那时候互联网金融已经慢慢热了起来,14年我们上线的时候应该是最后的一波热潮了。直到今天我们公司在行业的排名都在20-60之间来回。

14年初的时候大家搞的p2p都是网页版,app端有几个公司有,但都很基础,当时公司人力有限,就面临一个选择先做APP还是网站的问题,其实APP的问题主要是通道的问题,当时快捷支付应用到P2P公司还是非常难的。最后领导还是拍板先上APP,大家就集中人力先做APP,最后证明这是个正确的选择,现在监控我们公司的交易,几乎百分之80来自APP,第一次感觉移动互联网的浪潮就是这样来的。

系统刚投产的那段时间,交易量火爆,最夸张的时候1000万的标的几秒钟就满了,虽然现在平台也是这样。但当时对我们来讲还是蛮震惊的。在交易量火爆的情况下,系统出现了各种问题,首先是秒杀的时候控制不住并发,有时候会出现超卖的现象,最后各种优化,通过memcahed锁解决了这个问题,紧接着服务器又因为流量太大扛不住了,于是又上线lvs做负载。期间各种问题不断,那段时间我几乎晚上11点之前没有回过家,每次我走的时候老婆还在睡觉,回来的时候她又睡着了,周末也是各种加班,总感觉自己见不到太阳,持续了很久,但是成长也是非常的大。

因为我们的前端是PHP写的我又逼着自己学习了PHP,从开始能看懂,到最后可以写一点。公司慢慢上线了官网,又增加了小网页(H5),各种分布式系统改造。做各种活动,和滴滴打车做活动、和河狸家做活动、和携程做活动等等,有一次一天注册了X千个用户,惊呆了,发现羊毛党来了,又是各种限制。在后来慢慢的有黑客盯上了我们,各种骚扰,DDOS攻击,SQL注入等等。反正是能遇到的问题我们基本都遇到了,每一次问题之后,我们系统就又健壮了一些。

再后来要做大数据分析,我们又开始启动golang+monggodb这套方案来做大数据,刚开始也很困难,但是大家对新技术的这种渴望战胜了一切;再后来上线了dubbo做SOA服务治理,到现在启动spring boot+cloud。我们的系统也从第一代平台开始到现在第四代平台更换中,对这四代平台做一个简单的介绍: 第一代平台,主要是集中式,以快速上线为目的;第二代平台主要是分布式改造,缓解各服务压力;第三代平台主要做服务端SOA治理,后台统一账户中心;第四代微服务化改造,已达到灰度上线、动态部署集中管理的目的。

我也从负责Java端,到负责整个技术团队,慢慢的在领导的信任下测试交给了我,再后来分公司独立后将运维也交给了我,于是成了整个分公司的技术负责人。这就是我的故事。未来仍然有更多的挑战,感谢我们团队的兄弟姐妹,感谢工作中遇到的所有同事和领导。

我特别喜欢一句话在这里分享给大家:

我的代码曾运行在几千万用户的机器上,作为一个程序员,还有什么比这更让人满足的呢?如果有,那就是让这个用户数量再扩大 10 倍。

路漫漫,欢迎大家在博文下面回复自己个人的经历,以共勉!


打赏
最近浏览
80730176  LV7 6月7日
youwuzuichen  LV10 2019年10月5日
安安an  LV17 2019年7月23日
asdsasddas  LV6 2019年7月2日
lileyan516  LV7 2019年4月29日
likezhensan  LV8 2019年2月18日
dongzhan  LV12 2019年1月21日
lmg1qaz  LV5 2017年12月7日
coding喵  LV16 2017年11月19日
ship007  LV10 2017年11月4日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友