背景
前不久,我有幸看到了CSDN知名博主“沉默王二”写的一篇博客《你的青春,值得先给小型创业公司吗?》,这篇博客介绍了他从苏州回到内地小城洛阳之后,虽然远离了互联网的主阵地,但是依然保持学习的态度,并最终出书的心路历程。而在这段蛰伏于东都洛阳的经历,让他把对于技术的积累都凝聚成了一本非常优秀的Java技术书籍《Web全栈开发进阶之路》,这本书深入浅出的介绍了基于Spring Boot开发企业级项目的过程,值得每一位进阶期的Java开发者阅读。
他的这段经历也让我有感而发,作为年轻开发者的我们,总是会很迷茫,面对职场的一万种选择,我们该如何选择自己的职业规划呢?
那些练兵无数的BAT大厂们
在互联网飞速发展的今天,BAT成为大家的首选,借助BAT的练兵,也让优秀开发者更能够出类拔萃。例如阿里巴巴集团,便是一个经典的例子。依托电商平台提供的海量流量和巨大的数据,阿里巴巴的优秀开发者们完成了一个又一个难以想象的技术难关的突破,例如OceanBase的背后,就是数以百计优秀开发者们连续几年的艰难付出,从学习MySql代码出发,到构建了一套完整的数据库体系,这些学习经验的过程几乎无可复制。
除此之外还有阿里巴巴出品的基于流式计算的组件Blink,在大部分开发者依然使用存储过程进行数据分析的今天,阿里巴巴的开发者们仿佛已经提升了很多个段位。除了软件研发实力外,每一个有幸看过《阿里巴巴中台战略思想和架构实践》这本书的,往往也会被阿里巴巴在软件体系建设上的积累所折服,阿里巴巴的软件设计能力也是国际领先水平。
除了阿里巴巴,百度和腾讯同样令人瞩目,这些动辄大几万人大厂,流程完善,技术体系完整,敢于试错,每个开发者都能从中学到无穷宝贵的财富。而那些更善于研究技术的,则可以充分利用这些资源,实现自身技能的快速提升,从而实现了职场的快车道。
似乎从这些可以看出来,对于开发者而言,选择大厂,更能成就一个人的价值,那么多体验新技术的机会,足以让每一个对技术充满爱好的开发者从中获得快速的成长,获得金钱、技术和价值上的巨大满足。然而,事实上,哪怕是大厂也好,也并非每个人都能获得成长的机会,只有在主航道上的开发者,才往往更容易获得快速成长所需的资源,位于非主航道上的开发者,哪怕你能力再强,也难免会被其他跟你同等优秀的开发者遮掩住你的光芒。优秀如甲骨文公司,也有许多开发者曾经很优秀,却没有得到机会,最终被埋没,而荒废了一身武功。
大厂拧螺丝成为互联网开发者技术圈一个流传已久的段子,而且随着BAT技术体系的逐渐完善,前面提到的这些大规模基础设施建设的机会,或许也将不再持续,未来的开发者们大概或许只能依托现有的体系进行修修补补,难以再重现前辈们的辉煌。
小厂的苦,体会过都懂
BAT和互联网巨头虽然美好,但是与中国发达如斯的IT经济而言,只是九牛一毛。要成就一番事业,并非只有BAT独有的机会,由于这些BAT或其他大厂,作为投资圈的风口,也是互联网技术圈的风口。这些巨头们固然具有许多独特的优势,但是或许是由于互联网996的特点,最终却并非适合所有人。
尤其是前几年的万众创业的政府口号,让无数年轻人选择了创业,在IT行业中,同样不乏成功案例,各种90后创业者层出不穷,他们的故事似乎在验证着某些成功学的哲理。而选择一家合适的小厂,跟随小厂一起快速成长,也并非不是一种合理的选择。
当然,小厂的发展过程或许会相对充满挑战,如果是一家缺乏资源的创业者建立的小厂,那么跟着老板一起打拼,将成为一段无比艰辛的过程。且不说可能需要开发者付出自己的精力,更有甚者,还需要开发者去付出自己的资源。
小厂开发者,不仅要求技术能独当一面,还要求能不计较个人得失,跟老板同甘共苦,否则,成功是老板的成功,失败,就是员工的失败。作为小厂开发者的你,或许有机会成为全栈工程师,但是显然难以获得技能上的深入,大部分情况下,大概只能成为各种领域都只知道皮毛的所谓全流程工程师。也有的时候,一些小厂开发者,必须依托大厂开发的技术平台实现所谓的二次开发,来为客户完成一些特定的业务需求,这是一种所谓的“调参工程师”。
作为小厂工程师的你,有时候固然想获得一些进一步的提升,但是往往碍于各种原因,你不见得有足够的时间或精力来实现这些提升。许多小厂的加班情况,可能比互联网996更惨,尤其是一些专注于制造业和国企信息化的外包开发者,你必须花费大量业余时间,去应对客户们提出的刁钻需求,不仅仅要出差,而且晚上甚至要加班到凌晨,第二天还得生龙活虎的继续奋战。
当今时代开发者该如何成就自己独特的技能体系,并成为更加优秀的技术专家呢?
每一位优秀的开发者,都怀揣着梦想,希望通过自己的努力,实现自己的人生价值。而选择一段最契合自己发展规划的职业发展道路,显然是成就梦想最直接的方式。然而即便是大厂开发者,也并非意味着有足够的机会成就自己的人生价值。因此,我们始终必须保持一颗学习的心态,去迎接属于自己的挑战。这意味着我们应该努力时刻保持积极的进取心,去追求卓越,探究最适合自己的发展方式。
1、重视基础技能的积累。哪怕是简单的增删改查,也同样值得发掘价值。而如果我们能够灵活的运用各种设计模式,那么这些代码开发的过程,将会成为一种可以高效积累和复用的方式。接口开发过程中,你是否考虑过当前接口应该更好的契合设计原则?这也是一种思考问题的方式。
2、重视学习能力的提高。经常性的去刷新自己的知识,在项目中运用新技术,也是一种提升技术含量的方式。追求卓越,将让我们的格局与众不同。
3、坚持总结和归纳能力。定期的对自己掌握的知识进行梳理,查漏补缺。
4、敞开心扉,与其他优秀开发者进行交流。如果成为一位封闭的开发者,是一件很危险的事情,而随着互联网的发展,新技术层出不穷,适当的去扩大自己的圈子,将有利于自身综合能力的提升。
很多年一起一位老师在豆瓣写过一篇文章,标题叫做《长成大树,长成灌木》,这篇文章的引子是来自于《构建之法》的作者邹欣老师对于职业规划的评论,原文是这样的:
在条件比较好的企业,因为流程和支持都很到位,职员可以专注于某个领域。 也许可以做出很大的贡献。在条件比较差的企业,你得“盯着”很多事情——否则就会出问题。 在“盯着” 的过程中, 你会了解相关的领域,从财务到清洁工,到IC 设计的工作,但是这些领域的知识是你的核心知识么? 都可以成长,有些是高大的乔木,有些是蜿蜒的灌木,有些是小花小草,有些没等成材就被开发商推倒盖房了。
选择职场,犹如一段种竹子的旅程,一株新竹种下之后,就算每天为它施肥、养护、浇水,头1、2年都完全没有长高的迹象。但第3年,幼竹只花2周时间,就能蹿到27米。那毫无生气的2年,是小竹苗在土壤下疯狂地扎根、生长。站稳了脚跟,它便会迅速长成参天的植物。做事情也是一样。
你的辛苦或安逸,终将使你成为独特的个体。不管你选择大厂,或者做小厂开发者,最佳选择一定是选择一段能够形成技术积累的职业规划,而不是一味的追求眼前的利益,只有这样才会使你的每一段成长历程都会成为下一阶段进步的宝贵财富。