十年职业发展规划

这个阶段主要任务是发展技术,1~3年属于刚入行,无论是计算机专业,还是从别的行业转行过来的,这个阶段都是用来打基础的,需要把学到的知识技能应用到实际项目中,让技能落地去解决问题。在这一阶段首先需要做的是把自己的基础知识补充起来,特别是转行IT的,通常自学或在培训班学习了编程基础以及一些框架知识,能够做一些开发工作了,但对于很多计算机的基础知识是有所欠缺的,对于底层的知识的学习,能够帮助我们更好的理解编程以及框架的设计。其次,要做的是扩展自己的技术栈,比如用的开发工具是eclipse,那就可以去尝试一下 idea;如果用的版本管理工具是 svn,那就去尝试一下 git;如果用的操作系统是 Windows,那就去尝试一下 Linux;如果用的数据库是 MySQL,那就去尝试一下 Oracle;如果用的缓存是 memcache,那就去尝试一下 Redis;如果消息中间件用的是RocketMQ,那就去尝试一些 Kafka;等等。多去尝试同类型的技术,用他们去解决相同的问题,能够大大扩展我们解决问题的思路,提升解决问题的能力,同时也能让我们更有竞争力,比如换工作了,下一家公司用的不是你原来的技术栈,但你自己学习过,面试通过的机率就会大很多。第三,多去了解技术背后的原理,不仅能提升自己工作中解决bug 的能力,在面试中也能更好的回答面试问题。第四,去接触其他编程语言和技术,去了解它们的优势和适用场景,了解技术发展方向,把自己的发展方向和技术主流方向调整到一致。

这一阶段主要任务是能力沉淀和效率提升,经过三年的开发磨砺,已经熟悉开发工作流程,对技术框架也有了一定的认识,能够完成大部分开发工作了,这时候要做的是总结经验和提升自己的工作效率。总结经验就是要把过去3年里做的好的和不好的点都记录下来,以此指导后续的工作,这里要总结的不仅仅是技术上的经验,也应该包括项目管理、需求分析、架构、沟通协调等方面的经验,这些经验是我们的优势。在我们已经能够熟练开展工作,能够解决问题的时候,就需要进一步思考怎么能够提升我们的工作效率了,思考怎么能让我们的日常工作做的更快、更好,比如我们的工作是写增删改查,那就要想想怎么能让我们写的比别人更快,bug更少。等我们的工作效率提升上来之后,我们就可以用节省下来的时间去做更多的事情,比如去做需求分析、架构设计、详细设计、功能开发、测试用例、集成部署等工作,去做这些事能够大大提升自己的综合能力,让自己更全能。此外,节省下来的时间还可以用来去了解基础工作背后的原理,去持续学习,提升自己(不仅仅是技术方面)。

5~10年

这个阶段主要任务是让自己变得优秀,这里的优秀是说能力要超过别人,不是说你有多好,而是说你比别人好多少,比如别人不写周报,那你就去写;大家都写周报,那你就要比别人写的好,把简述、详述、问题、解决方案都写出来;在述职报告的时候,大家都做ppt,那你就要思考能不能以更简单明了的方式表达出来;思考代码怎么才能比别人写得好、文档怎么比别人写得好、沟通怎么做更高效等等。如果有个东西很难,大家都做不了,只有你能做,这就是你优秀的地方。要明确自己努力的方向和终点,朝着这个方向努力。

职业晋升建议

  • 保持积累、沉淀、终身学习的状态。
  • 练能力,长本事,能力是你的基本素质,比如技术能力、沟通能力,本事是指应用能力来解决问题,如果能力很强,但不能解决实际问题,那能力也没什么用。
  • 坚持,在机会没到的时候,保持成长,一定要保证机会到的时候,你是准备好的。
  • 扩展人脉,积极和公司各种优秀的人打好关系,用自己的技术和能力帮他们解决问题,不仅能收获好人缘,还能获得更多的信息,开阔眼界。
  • IT职业发展方向

    开发岗位对技术要求高,但薪资高,细分方向也多,入行应优先选择做开发。

    测试入行门槛低,薪资也略低,适合学历不高技术能力也不强的新人,竞争很激烈。建议转自动化测试方向。

    普通运维岗位发展前景不好,将来会被自动化运维取代,建议学开发技术,转向自动化运维、云运维、大数据运维、DevOps。

    去考大公司的资格证书,正面自己能力。

    我认为作为一个优秀的 IT 工作者,应该做的以下三点:一是,自身技术能力要过硬,而且能够拥有让技术落地,解决实际问题。作为一个技术岗位,最基础的要求就是技术能力要能够支撑工作需求,有基础才能够把事情做好。二是,能够持续迭代,升级自己的技术能力和眼界,不然以现今互联网技术的发展速度,不出三五年就会被淘汰了。三是,协作能力,任何大型项目都不是一个人能完成的,都要靠团队的努力,所以我们必须能够有能力跟团队成员协作,能够很好的沟通,帮助团队解决问题,达成目标。