专属客服15058525901 在线咨询 留言/需求提交

程序员的黄金十年,应该怎样规划?

 程序员或者软件工程师的职业生涯按照年限一般分为以下若干个阶段:



1~3年

      这个阶段是起步阶段,离开学校,从0开始,一切包括技术技能和职场经验都需要从新学习;这个时候非常重要的是挑选一个好的mentor或者老板,他或者是你的团队领导,亦可是比你资格老经验丰富的老程序员;他所带给你的东西将深深影响你之后的发展之路和技术习惯。所以一定要慎重挑选团队,尤其是带你的那个mentor。

       这个阶段主要潜心熟悉业务,掌握技术,将工作中用到的技术点学好用好,做到用过的技术都是熟悉的;如果能够做到知其然还要知其所以然,将是一个非常大的加分项。

如果你足够幸运的话,或许正好碰到一个项目启动,从零参加一个项目,参与到其中的主要的技术决策点、技术讨论、团队的协作开放模式、沟通方式、架构设计等,都对你未来的发展裨益甚大。这个机会或许有,但是能从中收获多少,因人而异。

       此时的角色为新手,初级程序员。


3~5年

      这个阶段,基础的技术素质已经具备,具有若干或者不多的项目经验,曾经有一个或者几个公司团队的工作经历,此时将面临提升的问题,如何提升自己,将所用到的技术能够深入的理解相对于理解技术的使用,变得更为重要;知其然还要知其所以然。

       在团队中处于干活的主力,此时需要注意学习好的工作习惯、沟通方式;在团队技术讨论或者大的技术决策中,除了了解到其中的技术讨论结果之外,还需要认真思考为什么选择这个技术方案,而非另外一个技术方案,其中的利弊会是什么样子,做出的技术决策最终驱动力来自哪里;对于其中不明白的地方,可以和其中的当事人多讨论,可以极大提升自己对于技术的理解和判断能力。

另外一个重要的学习点是理解项目或者团队的运作方式和工作方式,不同的公司以及团队的风格各异,且与其中的灵魂人物或者负责人息息相关。因为身处其中,故可以近距离观察团队的工作方式,分析其中存在的问题,帮助自己理解项目、团队、协作以及如何解决其中的问题方式。这一点非常重要,团队中的善于学习者将从此被打上团队的烙印,如果是好的做事风格将裨益良多,反之则会走诸多的弯路。

       在这个结束之后,已经建立起了扎实的技术功底和良好的技术分析能力,对于团队化的开放方式具有自己的理解和判断能力。角色为中级程序员。


5~10年

       在这个阶段,如果所处的团队无法提供新的提升以及上升空间,一般可以考虑选择新的机会。这个阶段是程序员的黄金阶段,已经具备了独当一面的能力,可以实现从想法到落地的整个过程,角色为高级程序员。

       在项目中承担主力实施者,可以具备挑选技术方案和评估技术架构的能力;关注的问题将从之前的实现功能转化为挑选一种最优的技术方案来实现,考虑方案的技术特性以及系统中的诸多限制因素,综合考虑,选定最优的方案;可扩展性、可维护性、团队的驾驭能力、时间周期、性能要求、变更频次等等都将成为影响技术方案选择的因素;某种意义上来讲,技术方案的确定其实是一个对比分析和选择的过程,平衡各个方面的影响因素,做出最优化的选择。

      对于技术保持敏感度,虽然一定有若干的技术,没有机会了解;但基于技术的原理来分析,通过快速的学习,是可以做出正确的判断选择,这个就是所谓的技术感或者潜质;每种技术都有其适用的场景,有其面临的问题和不足,结合业务系统的场景,做出最为合理的判断选择。

        对于项目中出现的各类技术难题和诡异问题,都是可以基于自身的技术理解和逻辑推理判断来进行快速定位分析的,这个技能是必须具备的,是之前阶段积累的各种技能经验的综合应用;在真实的项目中,总是会有相当多诡异或者偶尔出现的问题折磨着技术团队,能解决此类问题,会成为程序员能否更上一层楼的标杆卡尺,能胜任此类问题,建议考虑向架构师方向发展;反之,可以考虑走项目经理,走综合素质的方向。



10年以上

       此时角色是项目的架构师或者核心负责人;将承担着整个项目团队的兴衰成败的关键;这里主要是讨论有追求的团队,希望做出点拿得出手的项目的团队或者项目,并给团队成员带来有价值的成长经验。其他不在讨论之列。

       平衡的艺术;需求、技术架构、可维护性、时间周期是其中冲突最为严重的若干因素,平衡就是在取其中的折中和妥协;完全偏向任何一方都是非常危险的,由需求方决定技术方案更是为整个项目埋下深深的技术隐患和不确定性;所以,坚持原则,合理平衡会是此时对于程序员的巨大考验。

       团队培养的技能。此时身负培养团队的责任,手下有若干号人在相当长的时间之内,和你一起工作;除了保障项目的顺利实施,还需要让技术团队在这段一起工作的过程中,都有所提升,在未来会有更好的发展机会。如有可能,可与团队的成员进行一一沟通,基于自身的经验为团队成员设计不同的职业目标提供建议;通过不同的方式,比如技术分享、stand-up的技术直接讨论等,营造开放自由的学习氛围,让团队从中受益。这样才是一个合格的架构师和团队领导。

       勇气与信念;在团队进行项目的开发和维护过程中,一定会有各种冲突和矛盾,作为项目的核心和负责人,请注意保护团队成员;如果他们有做得不够好的地方,请提醒他们。如果他们犯了错误或者与其他相关方发生冲突,请站在他们前面,分析问题解决问题,帮助他们共度难关,让他们从冲突和错误中学习和成长;士为知己者死,团队用命,最大限度激发团队的荣誉感、向心力,才是凝聚之道,为团队文化之精髓。最为团队的架构师或者核心负责人,要有勇气和信念,有所坚持有所舍弃,知道什么是错的东西,什么是正确的做事方式,在无法改变大的环境情况下,尽力维持,保证团队的稳定与战斗力。

       过了10年,更多的时候是选择平台和未来发展的立足之地;也可以慢慢学习如何做一些自己感兴趣的事情,如果有机会参与到创业中也是不错的尝试。总之在具备的经验、能力和团队领导力之后,可以有更多的选择和机会。



        IT行业求职,蘑菇天堂一对一求职服务,快速入职,让offer就在你口袋边!

      


蘑菇天堂——专业求职大管家,提供求职解决方案,快速就业,保障个人职业收益!

咨询热线:025-86555521

QQ咨询热线:3287108099(蘑菇客服)