不知不觉我已经写了五年代码了从刚毕业的青涩新人到现在能独立负责项目的老程序员五年时间过得真快仿佛昨天还在,学校里写毕业设计今天就已经是工作五年的老鸟了。
这五年里我经历了很多写了很多代码也踩了很多坑学到了很多东西也对程序员这个职业有了更深入的理解最近经常在想职业规划的问题程序员这个职业未来该怎么发展三十岁之后,该怎么办是继续写代码还是转管理还是创业等等想了很多今天想把这些思考整理一下分享给大家也算是对自己五年工作的一个总结和对未来的一个规划。
一、五年工作的回顾
先简单回顾一下我这五年的工作经历和成长吧这样也能更好地思考未来的职业规划。
第一年:入门期从学生到职场人的转变:
刚毕业的第一年是入门期主要是从学生到职场人的转变那时候刚进公司什么都觉得新鲜也什么都觉得难学校里学的知识和实际工作中用的东西差距很大很多东西都要重新学,比如公司用的技术栈开发流程代码规范协作方式等等都是学校里没学过的需要从头学起。
那时候我主要做一些简单的功能开发和bug修复在老员工的指导下慢慢学习和成长,虽然做的事情比较简单,但是也学到了很多基础的东西,比如怎么写规范的代码怎么用版本控制工具怎么和同事协作怎么排查简单的问题等等这一年,虽然成长不是特别快,但是打下了比较扎实的基础也完成了从学生到职场人的转变。
第二年:成长期开始独立负责功能模块:
工作第二年是成长期我开始能独立负责一些功能模块的开发了不再需要老员工手把手指导能自己分析需求设计方案写代码测试上线这一年我做了几个比较完整的功能模块对整个开发流程和,技术栈都更熟悉了也开始关注代码质量和架构设计不再只是实现功能就完事了会思考怎么写更优雅更可维护的代码怎么设计更合理的架构。
这一年我也开始主动学习一些新的技术和知识不再只满足于完成工作任务会在业余时间看技术书籍博客学习一些工作中用不到,但是对成长有帮助的知识这让我的技术视野开阔了很多也为后来的发展打下了基础。
第三年:快速成长期成为团队核心:
工作第三年是快速成长期我开始成为团队的核心成员能负责比较复杂的项目和系统也开始带新人指导他们工作这一年我负责了一个比较大的项目从需求分析架构设计到开发上线全程参与也遇到了很多挑战和问题,但是都一一解决了这个项目让我成长了很多,不仅技术能力提升了项目管理能力沟通能力也都提升了。
这一年我也开始在团队里有了一定的话,语权能参与一些技术方案的讨论和决策也能给团队提一些改进建议这让我对技术和团队的理解更深入了也开始思考除了写代码之外的一些事情,比如团队协作流程改进技术选型等等。
第四年:瓶颈期开始思考未来方向:
工作第四年是瓶颈期我感觉自己的成长速度变慢了技术上好像遇到了瓶颈不知道该往哪个方向继续深入,而且每天的工作也开始变得重复和枯燥大部分时间都在做类似的事情写业务代码改bug开会等等感觉学不到什么新东西了成长很慢这让我很焦虑也开始认真思考未来的职业方向和规划。
这一年我尝试了一些新的东西,比如学习新的技术做一些副业写技术博客等等想找到新的成长点和方向,虽然没有立刻找到明确的方向,但是这些尝试也让我对自己有了更清楚的认识知道自己喜欢什么擅长什么不喜欢什么不擅长什么为后来的职业规划打下了基础。
第五年:稳定期明确方向持续积累:
工作第五年也就是今年是稳定期经过上一年的思考和尝试我对自己的职业方向有了更明确的认识也不再,那么焦虑了开始沉下心来持续积累和提升这一年我在技术上继续深入学习一些核心的技术和原理也开始关注技术之外的一些能力,比如沟通表达项目管理产品思维等等,因为我意识到程序员不能只会写代码综合能力也很重要特别是想往更高层次发展的话。
这一年我也开始更主动地规划自己的职业发展不再像以前那样走一步看一步而是有了比较明确的短期和,长期目标知道自己想成为什么样的人该怎么努力这让我的工作和学习都更有动力了也更有方向感了。
二、程序员职业发展的几个方向
思考职业规划首先,要知道程序员这个职业有哪些发展方向根据我这五年的观察和思考我觉得,程序员的职业发展主要有以下几个方向。
方向1:技术专家路线深耕技术:
第一个方向是技术专家路线深耕技术在某个技术领域做到顶尖成为技术专家,或者架构师这个方向适合真正热爱技术喜欢钻研技术问题的人走这个方向需要持续学习和钻研技术对技术有热情能静下心来深入研究技术原理和细节解决复杂的技术问题。
技术专家路线的优点是比较纯粹不用太多处理人际关系和管理事务专注技术就好,而且技术专家的薪资也比较高职业生命周期也比较长,只要技术跟得上就能一直做下去缺点是需要持续学习技术更新换代很快要不断学习新的技术,不然容易被淘汰,而且技术专家的天花板可能比管理路线低一些在有些公司技术专家的地位和话语权不如管理者。
方向2:管理路线带团队做项目:
第二个方向是管理路线从技术岗转管理岗带团队做项目,比如技术组长技术经理技术总监CTO等等这个方向适合沟通能力强喜欢带人做项目对业务和管理有兴趣的人走这个方向需要提升沟通能力管理能力项目管理能力业务理解能力等等不再只是专注技术。
管理路线的优点是职业天花板比较高能做到比较高的位置薪资也比较高,而且掌握的资源和话语权也比较大缺点是管理工作比较琐碎要处理很多人际关系和团队事务可能没有太多时间写代码和钻研技术,而且管理岗位的压力也比较大要对团队的业绩和项目的成败负责不是所有人都适合做管理。
方向3:产品/业务路线转产品或业务岗:
第三个方向是产品或业务路线从技术岗转产品经理,或者业务岗这个方向适合对产品和业务有兴趣沟通能力强有产品思维的人程序员转产品有一定的优势,因为懂技术能更好地和技术团队沟通也能更准确地评估产品需求的技术可行性和成本。
产品路线的优点是能更接近业务和用户对产品和业务有更深入的理解职业发展也比较广阔缺点是需要重新学习产品相关的知识和技能,而且产品岗位的压力也比较大要对产品的成败负责不是所有人都适合转产品。
方向4:自由职业/创业做自己的事:
第四个方向是自由职业,或者创业做自己的事,比如做独立开发者开发自己的产品,或者接外包项目,或者创业做自己的公司这个方向适合有一定的技术积累和资源有冒险精神想做自己的事的人程序员做自由职业,或者创业有一定的优势,因为懂技术能自己开发产品不用依赖别人。
自由职业/创业的优点是自由能做自己想做的事不用看老板脸色,而且,如果做成功了收益也比较大缺点是不稳定收入没有保障压力也比较大要自己考虑产品运营销售等等各种事情不是只写代码就行,而且创业的失败率很高大部分创业都失败了,所以要谨慎考虑。
三、我对职业规划的一些思考
了解了程序员的几个发展方向之后,我也结合自己的情况思考了很多关于职业规划的问题这里分享一下我的一些思考和观点。
思考1:不要过早限定方向多尝试多探索:
我觉得,刚工作没几年的程序员不要过早地限定自己的职业方向不要刚工作一两年就说我要做技术专家,或者我要转管理,因为这时候你对自己和各个方向的理解都还不够深入可能你以为自己喜欢技术,但是后来发现自己更适合做管理,或者产品也可能你以为自己想转管理,但是真做了管理之后,发现还是喜欢写代码,所以不要过早限定方向要多尝试多探索在工作中主动接触不同的事情,比如除了写代码也可以尝试带新人做项目管理参与产品需求讨论等等通过这些尝试了解自己喜欢什么擅长什么,然后再确定自己的方向。
我自己就是在工作第四年的时候,遇到瓶颈,然后尝试了很多不同的事情才慢慢了解自己的兴趣和特长确定了大致的方向,如果我刚工作就限定自己只做技术可能就不会发现自己在其他方面也有潜力,所以多尝试多探索是很重要的。
思考2:技术是基础,不管走哪个方向都不能丢:
不管最后走哪个方向技术都是基础不能丢,即使是转管理,或者产品也需要有扎实的技术基础,因为,只有懂技术才能更好地和技术团队沟通更准确地评估技术方案和成本也能在团队里建立威信,如果你技术不行,即使做了管理,或者产品也很难服众也容易被技术团队忽悠,所以技术基础一定要扎实,不管走哪个方向都不能把技术丢了。
而且,即使走管理,或者产品路线也建议保持对技术的关注和学习不要完全不写代码了,因为技术更新很快,如果完全不关注技术过几年就会和技术脱节到时候想再回来做技术就难了,而且懂技术的管理者和产品经理往往能做得更好,因为能更好地理解技术团队的痛点和挑战做出更合理的决策。
思考3:综合能力很重要不要只埋头写代码:
程序员容易陷入一个误区就是只埋头写代码只关注技术不关注其他能力的提升,比如沟通表达能力项目管理能力业务理解能力产品思维等等,但是实际上,这些综合能力对职业发展非常重要特别是想往更高层次发展的话,光有技术是不够的还需要有很强的综合能力。
比如沟通表达能力,不管是做技术专家还是管理还是产品都需要能清晰地表达自己的想法和方案能和不同的人有效沟通,如果你技术很牛,但是表达不清说不明白自己的想法那也很难发挥自己的价值也很难获得晋升和发展再,比如项目管理能力,即使是做技术专家也需要能管理好自己的项目和任务能按时交付高质量的成果,如果做管理就更需要项目管理能力了,所以综合能力很重要不要只埋头写代码要主动提升自己的综合能力。
思考4:保持学习能力这是程序员最核心的竞争力:
程序员这个职业技术更新换代很快新的技术框架工具层出不穷,所以学习能力是程序员最核心的竞争力,只有保持学习能力能快速学习和掌握新的技术才能不被淘汰才能持续成长和发展,不管走哪个方向学习能力都是基础没有学习能力,即使现在技术再牛过几年也会被淘汰。
所以一定要保持学习的习惯持续学习新的知识和技能不要满足于现状不要觉得自己已经学会了所有东西要保持好奇心和求知欲不断探索新的领域和知识,而且学习不要只局限于技术也可以学习一些技术之外的知识,比如管理产品运营财务等等这些知识,虽然可能暂时用不到,但是对长期的职业发展很有帮助能开阔你的视野提升你的综合素质。
思考5:身体是本钱要注意健康和工作生活平衡:
最后也是最重要的一点身体是本钱要注意健康和工作生活平衡程序员这个职业经常需要加班久坐对着电脑对身体的伤害比较大很多程序员工作几年之后,都有各种职业病,比如颈椎病腰椎病近视眼肠胃病等等,而且长期加班压力大也会影响心理健康,所以一定要注意身体健康不要拿命换钱年轻的时候,觉得身体好无所谓,但是等年纪大了各种问题就都出来了到时候后悔就晚了。
要注意劳逸结合不要长期加班保证充足的睡眠适当运动不要久坐每隔一段时间就起来活动一下也要注意饮食规律不要经常吃外卖,或者不吃饭,另外也要有自己的生活不要除了工作就是工作要有自己的兴趣爱好和社交生活保持工作和生活的平衡这样才能长期可持续地发展而不是透支身体短期冲刺职业发展是一场马拉松不是百米冲刺要有长期的眼光注意身体健康和工作生活平衡才能跑得更远更稳。
四、我自己的职业规划
说了这么多思考和观点最后也说说我自己的职业规划吧算是对自己的一个交代也希望能给大家一些参考。
短期规划(1-3年):深耕技术提升综合能力:
短期1-3年我打算继续深耕技术在自己的技术领域继续深入学习和研究提升自己的技术深度和广度争取成为团队里的技术骨干能解决复杂的技术问题也能给团队提供技术指导和支持,同时我也会主动提升自己的综合能力,比如沟通表达能力项目管理能力业务理解能力等等不要只埋头写代码要更全面地发展。
另外我也会继续保持学习的习惯学习一些新的技术和知识也会尝试做一些副业,或者个人项目探索更多的可能性也为未来的发展做一些准备,比如写技术博客做开源项目开发自己的小产品等等这些事情,不仅能提升自己的能力也能积累个人品牌和影响力对长期的职业发展很有帮助。
中期规划(3-5年):确定方向向更高层次发展:
中期3-5年我希望能确定自己的长期职业方向是继续走技术专家路线还是转管理,或者产品,或者其他方向根据短期的尝试和探索找到最适合自己的方向,然后向那个方向努力向更高层次发展,比如,如果走技术专家路线就争取成为高级技术专家,或者架构师,如果走管理路线就争取成为技术经理,或者技术总监,如果走产品路线就争取成为高级产品经理,或者产品负责人。
不管走哪个方向我都希望能做更有价值的事情能对团队和公司产生更大的影响也能实现自己的价值和成长,同时我也会继续积累资源和人脉为未来可能的自由职业,或者创业做准备,虽然不一定会创业,但是有准备总是好的机会总是留给有准备的人。
长期规划(5年以上):做自己想做的事实现财务和时间自由:
长期5年以上我希望能做自己想做的事实现财务和时间自由不用为了钱而工作能做自己真正感兴趣的事情,比如做独立开发者开发自己的产品,或者做技术咨询,或者创业做自己的公司,或者做自由职业接自己想接的项目等等,总之,希望能有更多的选择权能掌控自己的时间和生活而不是被工作绑架。
当然这个长期目标可能比较难实现需要很多的努力和运气,但是我会朝着这个方向努力一步一步来先做好短期和中期的规划打好基础积累能力和资源,然后再慢慢向长期目标靠近,即使最后没有完全实现这个目标我相信在这个过程中我也会收获很多成长很多不会后悔。
五、写在最后
以上就是我写了五年代码之后,对职业规划的一些思考包括五年工作的回顾程序员职业发展的几个方向我对职业规划的一些思考以及我自己的职业规划希望能给大家一些参考和启发。
职业规划是一个很个人的事情每个人的情况都不一样适合我的不一定适合你,所以不要照搬别人的规划要结合自己的情况兴趣特长和目标制定适合自己的职业规划,而且职业规划也不是一成不变的随着你的成长和环境的变化职业规划也需要不断调整和优化,所以不要害怕变化要保持开放的心态不断探索和调整找到最适合自己的道路。
程序员这个职业,虽然辛苦经常加班压力大,但是也是一个很有乐趣和成就感的职业能通过代码创造价值解决问题改变世界,而且这个职业的回报也相对比较高,只要努力就能获得不错的收入和发展,所以,如果你选择了程序员这个职业就好好干保持学习持续成长相信你一定能在这个行业里找到属于自己的位置实现自己的价值。
最后用一句话结束这篇文章:"职业规划不是一成不变的地图而是不断探索的旅程保持学习保持开放一步一步走总能找到属于自己的道路。"
愿每一个程序员都能做好自己的职业规划在技术的道路上越走越远越走越稳实现自己的价值和,梦想。
评论(0)
暂无评论,快来抢沙发~
评论功能仅对会员开放,请先登录
登录