程序员职场工作七年的失败之路总结

时间:2021-06-14 19:31:19

程序员职场工作七年的失败之路总结、、、

七年,七年,七年。从09年7月毕业至今(2016年7月)整整七年,在我的逻辑里,7年时间足以让一个初出茅庐的应届毕业生,打怪升级为一个高级程序员、高级项目经理(如果创业的恐怕也拉到风投了吧)。这也是我当时的景愿,可现实总是那么的残酷,它告诉我没有什么是理所应当,这七年我走了一条弯的不能再弯的路,各种不如意接踵而至,最终的结果是我成了一个算不上哪门子精通,哪门子熟练的,普通的程序员。我并不抱怨各种客观遭遇,我认为一定是我在一些思维方式、习惯、技巧、方法方面出了问题,才导致落到今天这个境地。古人云,可怜之人,必有可恨之处。

    今天想把七年的经历说一下,一是为自己理清思绪重新上路,二是为各位朋友做一个反面案例,做一个警示,三是看看有没有过来人指点一二。下面入正题。

    第一段,企业建站,在职1.5年。Asp语言估计现在毕业的朋友听都没听说过吧,我当时也不了解。其实我大学的专业是J2SE、J2ME、J2EE,也就是如今大热门JAVA专业。但在当时09年初那会儿刚刚金融危机后,经济萧条外包行业有点萎缩,我在人才市场蹲点一个月,一直就找不到工作(可能跟非重点院校、大专文凭有关吧),家里经济条件不好,这样干耗着也不是事,所以最后有一家做ASP建站的公司要我,虽然不是本专业但是没办法也就从了。那时候市场不景气,所以建站已经很廉价了,最低的时候1200元包建站、包域名、包维护。入职头半年还在从JSP到ASP的切换中,我是想把工作做好的,当时埋头苦干很快也就上手了。但是每天的增删改查做了一年之后,真的有点受不了,感觉太low,太没成就感,关键工资还相当低(有6个点的网站提成,但是一个月也没几个单所以。。。) 所以鼓起勇气写了人生第一张辞职申请。当然也就第一次遇到老板挽留,咱这人坏就坏在脸皮薄心肠软,老板找我谈了两次,于是我同意再干一段时间。其实留下来也是有一些内心想法的,觉得已经1年没碰JAVA了,有点陌生,加上之前找不到工作的心理阴影,所以没怎么敢再往JAVA方向走(当时.Net名声还是更大些吧,工资高一些吧),而做了一年ASP,对ASP的处境也有点了解了,觉得Asp.Net才是发展趋势,所以留下来也是想用时间自学ASP.NET然后再去找一份好些的工作。哦对了,忘了对公司的结构介绍一下,人不多10人不到,2个开发,1个美工,其他就不说了。所以自学真的就只能自学了,拖控件交付了一个网站,很心虚,很怕维护。。。就这样半年后带着半桶水的Asp.Net水平,再一次提出辞职,这次真走了。

    第二段,内部系统开发维护,在职3.5年。半桶水的.Net技术,可想而知得吃多少闭门羹了。我当时自己的分析是,毕竟用ASP开发是没问题了,就是.net差一些需要继续提升,那么对口的企业就应该是含有ASP业务,同时又有.Net需求可以供我后期发展,关键一定要有团队配合,我不想自己闭门造车了。按着这个标准,没多久就让我找到了,这个公司内部旧系统维护用的是ASP,同时新上线的CRM是需要用.Net开发的,内部还有几个开发人员,并有外包团队跟进CRM,我一看一切都符合我的想法,开开心心就接受了。只是后来事情的发展并不如我所预料。在我入职的半年内,旧的开发人员逐步流失,最后竟只剩我一个开发人员及两个硬件工程师。接下来又由于公司与外包公司闹矛盾导致验收久拖不决,不久外包团队也整体撤走了,留下了一个半生不熟的CRM系统。在开过几次会后,公司领导不希望再投入大笔资金去请外包团队了,功能从简只做核心需求,希望我能把CRM盘活起来,也许是太想做出成绩的缘故吧,最后我真的答应了。所以大概有一年半的时间,我就跟这个系统耗上了,我原以为公司后续还会再招人来帮帮我,如果招到高手还能带带我,等呀等呀望穿秋水,结果你懂的,真的是我一个人从头干到尾直到我离职。

    前期参加了无数个会议获取开发需求,当然这些会议不是专门为我开的,因为公司准备转型各个流程都在变。接下来我利用大学学到的有限的软件工程知识进行概要设计,参照百度模板写了好几个很粗糙很稚嫩的文档。其实领导并没有要求写,但是我当时希望自己能做好一点,还想着以后接手我工作的人会顺利些。再接着轮到绞尽脑汁用半桶水的.Net技术进行开发工作,那时候还不知道JQuery这玩意这么好用,我一直用着纯Javascript,后来在参考那个外包团队的代码时发现的JQuery,如获至宝。这个MSCRM是微软的平台,项目其实是在上面做二次开发,功能接口倒是齐全,就是中文资料很少,所以至少有3个月时间是边看它的英文文档边开发的(我觉得我后来看英文文档的功底都是在那建立起来的)。 别以为开发完了就万事大吉了,没那么容易,还得搞项目实施和用户培训,很多销售人员都不愿意把客户信息录入系统、很多大龄销售人员不会用电脑,所以得听着无数人把他们的怒火砸在我身上,咱还得耐心跟他们讲解,有时候晚上很晚了还要电话远程教他们怎么用(他们白天都要跑客户,晚上才会回家录数据)。由于项目不止涉及到销售部门,这是一个财务部、采购部、商务部、销售部、生产部联动的系统,我还得组织各个部门的操作专员开会,判断哪个环节有问题,哪个环节要改进。这里还得念一下老东家的好,领导层对我的工作还是很支持的,都很好的约束了自己的部下,所以各个部门都比较配合我,任我瞎折腾,再多的抱怨也只是抱怨,过后还是会老老实实的在系统录数据。朋友说怎么看都像是项目经理干的事,那时候的我哪里知道项目经理该干嘛,只是项目经理至少有小弟可以指挥吧,我自己就是最小的小弟,没人可供差遣。

    就这样时间一晃三年半过去了,我开始着急了,我的最初设想是来提升.Net技术的,我是来寻找团队,结果团队一直没有,然后各方面的杂事干了一堆,.Net技术只提升一点点。我在最后那段时间很崩溃,两份工作的时间1.5+3.5=5年,天啊,一个毕业5年的技术人员,还是初级程序员。其实本来早该走了,但我当时觉得项目还没有完全收尾,如果我走了,唯一一个知道来龙去脉的人走了,这个项目就Game Over了,不管是公司之前的投入,还是之前自己的努力,都会付诸东流。说得好听点这叫主人翁精神,有责任心,说得不好听的,这就二啊以为世界没了自己就转不下去。这里面还有一个因素,当时公司好多同龄的小年轻,大家玩得很好,所以也是有点不舍。后话是,我离职半年后有老同事说,接手的几个程序员都不愿意干那些累活,慢慢的那个系统就真的废了。

    第三段,CRM系统开发,在职一天。其实算不上一段,也就上了一天班,但是却是烙在我心头永恒的伤疤。半个月前,一个叫某某CRM软件公司(挺出名的行业软件公司)的主管面试我,过程就不说了反正面试时我对自己的描述并不含任何吹牛成分一五一十的说情况,他当时觉得可以,定的半个月后过来上班,offer也正式发了。结果第一天上班,他出了一个题目,说是考察一下代码风格,我其实没太看懂题意,所以也写的不是很好(由于之前的养成的CtrlC+CtrlV的坏习惯,他们公司是盲敲的不让上外网,我肯定没有随身带开发案例嘛,这也算一个因素吧),然后还是那个主管不由分说的把我赶走了。。。我推掉了其他offer来了,却是这样的下场,但是当时又无奈又羞愧,处于崩溃边缘,拿着入职体检默默的走了。后来朋友说他们这涉嫌违约,可以要求补偿的。这天刚好是2014年的愚人节,嗯真巧,大家快乐就好。 

    第四段,OA系统开发。这算是一个小小的转折点吧,我终于找到了一家真正的专职的有团队的开发公司。我以为我会呆很久,结果意外总是如影随形。虽然时间很短,仅仅是一年时间,我却成长的很快,从初级程序员升级为中级程序员,毕业5年了终于可以专心的写代码,不用操心杂事。在这段时间里其实很累,晚上有时候加班到一两点,早上6点依然要起来继续干活,为的就是抓紧完成项目收到回款,虽然累但是大家还是激情满满。一年后,公司由于经营不善情况急转直下,出现了很严重的资金链问题,项目团队越来越懒散,已经超过我能承受的范围。这一次我不再拖泥带水,果断的辞职不接受任何往挽留,寻找生命中的下一站。

    第五段,高端商品在线订购系统,在职1年。这也是我现在正在就职的公司,刚刚干满一年。这一年我倒是接触到了不少新框架、新平台,但是却开心不起来。感觉这一年提升不是很明显,虽然项目在不停的变,但是做的东西没什么深度,在可以预见的明年中感觉也不会有太大变化。这让我很焦虑,主要是这么三个焦虑:

        一、新技术焦虑。我们做的是高端商品订购,价格很贵,流量不会很高,所以根本不用去考虑什么高并发访问,分布式这回事,功能做出来逻辑通了,业务通了基本就不会有问题了,相当于说高并发、分布式这一块基本没有实践机会,但是如果我想再往上走,这些就很重要了(我自己认为的)。朋友说既然想搞这些那就去一些大公司,我又何曾不想,只是陷入一个死循环中——没机会提升这些技术,大公司不收;大公司不收,还是没机会提升这些技术。实话说很多时候我都不敢上CSDN,一看首页总是有那么多新框架,新技术出来,看完就感觉这辈子也追不上了,要被遗弃了。开始怀疑还有必要往这个方向走下去吗。

        二、面对肤浅的焦虑。说一个很基础的东西,面向对象开发,对现在的我们来说,只是拿着面向对象的语言,来开发面向过程的功能罢了,底层结构是基本定好的,所有的项目基本不用改,工期在也不允许改,因为重新搞一个底层架构耗时太多,没有必要。所以我们的工作模式也就是“取数据-加工-输出”,这跟设计模式没有半毛钱关系,这样再做一年我还是廉价的代码搬运工。

        三、标准化的开发流程。我其实也不清楚什么是“标准化”,也不知道怎么标准化,但是我觉得一定有一套规则需要对开发过程进行约束,现在虽然我们表面上有一个团队,但是其实说不上什么配合,每个人用着自己的风格写着可读性、复用性很差的代码,文档是个什么东西,没听过。用一句流行的话调侃,程序员最怕两件事,一是要自己写开发文档,二是别人没有写开发文档。(当然这个问题在大大小小的企业存在着,只是程度问题)。我跟项目经理提过要往这方面改进,经理同意了,但是大家都不知道怎么做,而且有些措施很占用时间和精力,推了一段就推不下去了。

        这三个焦虑其实困扰我很久了,一直在想破局的办法,只是一直找不到切入点。我现在还不知道这个会不会引起我的再一次离职,一方面我感觉在当前环境中无法自我破局,所以想换个环境看看会不会好转;另一方面,到了快奔三的年龄换工作的成本有点高,关键用当前实力换来的工作还不一定能解决我上面的问题。

    工作7年的童鞋你们是不是很厉害了,但是我感觉我就只有2年的工龄,差距好大好失败。

    其实,我知道上面的问题很多技术人员或多或少都会遇到,只是这些问题全部出现又刚好跟我的浮躁心理、奔三前一无所成的焦虑搅合在一起,突然间不知道怎么解决。面对这种情况也不知道去问哪谁,好几个夜晚难以入眠。我自己本来是有一个中期目标的——架构师。但是感觉当前的知识量太少,有一种深深的挫败感,啥事也不想做了。所以放荡堕落了一月余,上班迟到、做事不用心、拖拖拉拉。

    有时候这些经历确实也不好意思说出口,真的今天自揭伤口,需要一些勇气,但我感觉只有直面过去,才能走好后面的路。这个月开始放荡够了,还是要找回那个积极向上的我。当然光靠调整状态、励志并不会有太大收效,前面说过我觉得应该是思维方式、习惯、方法上面出了问题,接下来我将会在这些方向去做一些改变。

    就说到这里吧,这是我来博客园的第一篇文章,以后我也会时不时的在上面发布一些半桶水的技术文章,不要见怪,水平这种东西没法作假。我只想逐步的提升。