一、引言
从原来的单位跳槽至今已经半年了,无论自身能力、心态都经历了几轮过山车。从最开始拿着上家公司一半工资,每天却兴奋开心得不得了,到后来发现自己的差距,奋发努力,希望及早弥补差距,再后来迷茫不知所措,到如今获得小小成就的同时伴随着失望、恐惧、焦虑。总结下转行做程序员的一些心得吧,和后来人共勉吧。
二、端正心态、从头开始
从毕业开始工作已经三年了,在外界看来我的工作稳定、有钱、有前途的金饭碗,但我和我的小伙伴们都深知在体制内混日子的痛苦,每天重复工作,早早的心理年龄就变成了老年人。好在我自己平时比较“要”,会在闲暇凭兴趣去学很多杂七杂八的东西,在工作中也有运用,比如Perl、Excel宏、.NET等,所以我一直梦想能做一个拿得出手的产品(APP、网站、小工具等 ),小工具倒是做了不少,用处也很明显,自己成就感膨胀了,于是准备转行。
当时考虑转行主要因为两点原因:
1、利用业余时间自学的最大问题是没有经历真实项目的洗礼:这点很好理解,没有一个网站没个几万活跃用户用能说自己是成功的吧。
2、业余时间太有限,进步实在太慢:编程是需要大段时间高度集中的,可能是有人能在地铁上用手机写伪代码,但我相信那毕竟是少数吧,回家后烧烧饭做做家务就没多少时间能用来写代码了。
转就转,把家里人搞定后就开始投简历了,并且第一次面试就成功了。当时抱的心态是:只要愿意收我,我能学到东西,工资多少我都能接受。这家公司没有技术团队,但是正在计划招募自己的技术团队,老总和经理都很nice,并且允诺以后会招大牛进来带我。
和以前的小伙伴说ByeBye后,我来到新公司,老总说人很难招,目前只能靠我自己,我其实早有心理准备,不管怎么样,在这里有我喜欢的编程工作,而且压力也不大,毕竟就我一个新手,老总也不可能把工作都压下来给我。所以且做且珍惜呗。
三、一己之力,“力挽狂澜”
公司的网站原来是乙方开发的,我毕竟也不是小白,从大学到现在编程一直都没扔,基础都在,看得出乙方的代码是赶工,后来又经过多次修修补补,代码已经面目全非。最要命的是源代码还不全。于是我就提出在大牛来之前,我可以把整个前台页面全换掉,招了两个前端的应届毕业生,我带着他们开始改页面,好在他们也是用.net三层开发的,用反编译的源代码揣测每个功能和意图,把整个网站换了一层皮,我接触html5、css3、javascript、Jquery只比两个毕业生早两星期,但他们的代码规范和解决问题的能力反而远远不如我,一边教他们,一边自己做,可以说提高非常快,花了一个月时间我们就把整个网站换了层皮,在项目完成的时候,团队扩充到4个人,除我之外两个前端,一个后端,牛人也终于来了。这时的我信心满满,觉得前途一片光明。
四、陷入泥潭、垂死挣扎
牛人来了,我们终于开始重做后台功能和网站了,把原来的代码完全推翻,重新来过。兴奋地做了一个星期,热情可以说被浇了一半,发现企业级的后端开发,和我以前做的内部管理系统完全不是一个概念!企业级网站需要考虑事务处理、性能优化、日志记录、第三方接口调用、后期可扩充性,这些说什么都不肯能在短时间内完全靠自己研究能琢磨出来的。不过还好现在有技术经理了,在他的带领下,至少项目还是在进展的,虽然质量和规模不如预期了。
这时另一个后端回家了,所有后端开发工作都落在了我身上,进度更加慢了,我几乎每天加班,但还是赶不上进度。这还不是最要命的,技术经理和原来的管理层产生了间隙, 这种间隙其实就是各种不信任造成的。技术经理心态一直很起伏,我变成了整个团队的粘合剂,各个人都需要哄。
不是我不喜欢这里的工作,也不是我不喜欢这里的同事,但是每天这么负能量满满,写代码还被各种打断,特别是在测试期的时候。
这时我迷失了,主要就是在业余时间看书写代码的时间变少了,玩游戏的时间增加了。其实这里损失最大的是自己。
五、小有进步、心情低落
随着时间推移,项目逐步推进,虽然速度慢,但是每天学到的东西一点不少,技术经理给我的指导非常多,帮助也非常大。就像学生做到难题的时候直接看答案的那种感觉,而且是问什么都答得上来的那种答案。才两个月时间,我已经独立写下了整个电商系统,虽然是极简版的,但是商品、用户、订单、购物车、支付五脏俱全。和原来乙方开发的系统比多了短信登陆、微信第三方支付、微信支付、商品套餐售卖、预售等。 中途被叫去开发母公司官网,后端代码一个星期就完成了,而且功能也不算很简单。
问题来了,由于领导层对技术不了解再加上沟通不畅,我们的工作成就不仅没有被认可,而且还被逼宫了,越来越多听到xxxxx一定要x月x日上线,每个功能给的开发时间越来越少,人又一直没招来。所有的声音都是:你们行不行啊,不行我们找其它人了。于是技术经理被叫去找外包。最后的结果是他找的外包领导都看不上,了解下来主要是钱的问题。后来领导层其中一个人的朋友提供了一个外包的机会,由对方出6个人,给三个月使用时间以完成开发,技术架构转为JAVA。价格相对便宜很多,但是靠谱程度不是一般的低。而且以前辛辛苦苦两个月做的东西都被推翻,心里不是个滋味啊。
技术经理也表示让他留下来的理由已经基本不存在了,我也时刻担心他会离开我们。总之到目前为止,整个项目的成功可能性已经基本为零了。
六、总结
前面发了一通牢骚,其实这里才是干货:
- 不要以为自己什么都会,以为自己很牛逼很好学,其实任何一项拿出来深挖,你都比不上已经工作半年的人
- 如果想创业,没有明确的目标(短期、中期、长期),是不可能实现的,简单来说给你一笔10万元,你都不知道该怎么花,只能挥霍掉
- 不要指望毕业工作后别人处处都教你,教你那是对方人好,自己不愿钻研,最后谁都不愿教你
- 作为团队leader碰到能力不足的下属(通常人都很好),不能充当烂好人处处放纵过失,不能说你代码写的不好我来改,必须引导他自己改,即使这样更花时间
- 如果领导对技术不懂,必须要经常告诉他,你们团队在做什么有什么进展,能拿的出手的东西要赶紧show,同时需要支持的地方一定要及时指出,这样领导(如果性格没有缺陷)才不会无端的强加任务,也会对你比较信任。
- 招人的时候,尽量不要找毕业生或者没有经验的人,通常这类人不知道自己到底想要什么,即使他表现的很有目标。你不仅需要花时间带他,还要担心他学成后甩手走人。
- 转行之前一定要想充分自己的目标,知道自己真正想要什么,转行后如何达到,不要因为对现在的行业一时不满就转行
先就写这么多,本来想简单写写的,结果一写就收不住了