如果你选择做程序员,无论你是前端还是后端,注定这份工作不轻松。经常有学前端还有后端端的程序员朋友向我请教经验,毕竟做了十几年的程序员了。所以多多少少有不少经验,今天就给大家说说吧。
写在前面
12月的第一天,我从忙碌的工作中突然解放了,我摸着快要秃顶稀疏的头发,释怀又伤感。突然不要早起不要面对那些写到恶心的业务代码了,也不需要面对“业务型产品经理”输出的各种漏洞百出的需求了,这几个月几乎天天加班,加班在国内确实是一个很敏感的话题,有人批驳的有道理,有人赞成的也有道理,正方和反方都能说出一堆义正言辞的理论,不仅现实还很吓人,跟那种支付宝文案差不多。
还是经历的不多,太年轻,还有很多很多的套路没经历过,以前没遇到过把加班当默认文化的公司,等你遇到这种公司,你就知道你原来的加班都是闹着玩,你要是抱怨加班多,我们的HR会神秘微微一笑,暗说,来吧,加班加死你!
四个前端,天天被淫浸在业务活动里不可自拔,根本没时间再想点别的什么,长久下去必然废掉,这就是为什么很多人感觉自己越上班越觉得自己Low、越上班技术越差的原因了,我个人觉得导致这种糟糕情况有以下几个方面。
原因
第一,个人原因。本身技术一般,也缺乏进步和学习方法,在这种经常加班的环境下,确实可能会造成一些技术荒废,严重的甚至是大面积荒废,日常所用的技术比较窄,都是那些东西翻来覆去,就算有时候想对某个技术进行更深入的学习,但苦于产品总是催你估时间什么时候提测什么时候可以上线,为了上线只能暂时放下一点追求的念想。久而久之欠下的技术债就越多,会让人产生沮丧的感觉,一旦失去写代码的快乐,失去了工作的快乐,那么离被淘汰也就不远了,很残酷的社会现实。
除了时间确实不够外,还跟一个人的时间管理和高效率经验有关。熟话说,时间就像女人的乳沟,挤挤总会有的,就看你愿不愿意挤了。怎样把大部分空闲时间都利用好,静下心来学习是我们要不断探索的技能,你还能静下心来去啃一部大部头经典书吗?别说啃大部技术头书,就是闲书现在绝大部分人一年都没读过几本,明明桌子上摆了不少书,却硬是从今年摆到明年,从明年摆到后年...等到你想起来的时候却发现这本书的内容已经有点过时了,还崭新的一本书呢,没办法,继续摆着吃灰吧,扔了舍不得,留着也觉得内疚...
高效率的问题,是一系列的问题,跟你自身高效率有关系,也跟工作流程,公司等有关系。自身,也许是你有什么神奇工具,能让你写代码更快或者做一个东西比大多数人都又好又快;也许是你对某个技术掌握的很好,相关方面的技术应心得手工作效率自然高了,然而前面我们说过,你没时间和精力研究技术,越上班技术越差劲,这是一个恶性循环。
第二,团队和公司。团队是否优秀。你能否得到团队其他成员的帮助,是否有大牛,是否有追求。什么是优秀的团队,我个人认为应该满足几点:
格局:气质、心态、视野
技术:差不多水平的成员加一两个技术带头人
追求:是否渴望更进一步,是否有改变世界或作出伟大产品的情怀,是否乐于分享等
品味:能识美丑、能断高下、独特等
格局,这个更多的是对老板或Leader的要求。可以理解成为团队Leader或者团队成员是否有开阔的心怀,得到不傲、失去不躁、好聚好散,不随便指责别人,站得高看得远,具有深见(深度的理解和宽广的见识),比如某人离职,假如这个人对公司对团队很重要,是公司或团队幸苦培养出来的,你是否认为是一种背叛或者不忠?如果你这样认为那么你格局还有待提高,格局这个概念是今年对我印象最深刻的一个。对格局的理解还可以延伸到性格,是否听的下意见,是否能接受批评建议,当两个人在一起是否让对方摸不得碰不得,总是容不得对方说自己做不好的地方等。
技术,这个就是实打实的技术水平了,成员之间水平不应该相差太大,太大就没有默契了,之前看过一些文章,把程序员分为几种类型,我记得一个叫独狼型程序员,原文对独狼的解释我已经不是很记得了,在网上找到一篇文章程序员,你不应该成为一匹独狼,总之独狼型程序员就是尝试做所有的事情,无法获得帮助和意见,更容易放弃。关于程序的类型网上有各种说法。团队里应该有几个技术能力比较强的,起到带头作用,如果都是水平差不多的,遇到问题大眼瞪小眼就尴尬了。
追求,这个我觉得是一个优秀团队最重要的品质。团队是否安于现状?还是有着强烈的求知、改进、偷懒的欲望?是否总是想着去优化流程、制造工具、自动化、提高效率?是否对建设团队有着积极的想法和实践?是否自发推动或组织能帮助团队成长的事?也就是得有情怀,虽然情怀现在已经被玩坏了,但是不得说,有情怀能带来长期的好处,没有情怀的公司一般也没什么出息。有追求才有动力。
品味,这个也很重要,一个团队的品味才是决定团队有什么样的追求,和追求格局密不可分。团队是否存在审美偏差?是否存在认识误区?只有具有正确的审美、独特的审美、正确一致的认识才能做出最好的结果,产生最好的影响。什么是审美偏差呢,就是大家都觉得谷歌首页设计的美,百度的丑,你却相反,罗永浩说过,美并不是主观的,而是一个客观的东西,是有标准的。
个人自身的努力固然重要,但是身处的环境和团队也很重要,毕竟我们基本上绝大部分时间都贡献给了公司、团队,自己的时间反而是最少的,一个好的团队能促使你进步。
我想大部分公司的团队很少能满足上面所有的情况吧,我也遇到过糟糕的团队,出了问题总是互相指责,互相推诿甩锅,气氛很糟糕,各自为战,这是最糟糕的一种情况。
前几天我们前端组在群里聊天吐槽,也是很有收获,我们得出一些感觉不错的结论:
1. 要么团队很有追求能影响公司,要么公司很有追求能推动团队,个体户更是浮云!
2. 个体只能搞点小技术,团队才能决定方向...没有前端团队,根本谈不上前端架构
3. 宁愿做鸡头还是凤尾?看个人理解了,鸡头再牛还是个鸡,凤尾在低也是凤凰…最重要的是自己能得到什么,只要是自己想要的,你管这些干嘛。