对于很多想从事或者刚进入开发岗位的伙伴们来说,对于开发这个职位的了解并不多,甚至已经有些迷茫,感觉总有敲不完的代码和无尽的加班赶项目,一眼望不到头。今天就借用朋友的故事讲述一个普普通通的开发蜕变之路,可能会涉及到工作内容的变化、职能的变化、个人认知等内容,希望对想加入这个行业的伙伴们有所帮助吧~
初入职场的码农
我是一名初级码农(初级软件开发工程师),刚刚踏入IT这个行业,站在了职业的起点。我每天的固定工作内容就是坐在办公桌前敲代码,一敲敲一整天,每天几百每月数千条的代码量。我本身性格沉稳坐得住,所以每天的工作都能顺利完成。
由于我工作表现还不错,领导和同事也对我有了信任,于是开始参加各种部门技术会议项目会议或是与业务部门的会议。
开始职场蜕变
我的工作内容也开始有了变化,不再是机械式的敲基础代码,加入了更多的工作内容,处理更难的问题。不再让我只做某一个功能的部分代码,而是不再设限和定义,比如开始让我编写概述问题领域以及备选解决方案的设计文档。
我的工作内容慢慢变得丰富起来,敲代码的时间越来越少,从90%减到80%、70%...
在这期间,我在同事、前辈身上学习到很多实用的技术和经验,专业知识不断增长,能够同时兼顾多个项目的设计工作。对于个人来说,只要能承担起这份压力,就是很好的学习提升个人能力的机会。不过对于公司而言,工作的效率才是第一,为缓解工作的积压问题,领导指派了一位同事协助我完成代码工作,而我主要就是赶项目设计。
我已经基本不用再敲代码了,虽然我依然喜欢代码。如果这是职业发展必经过程,我是能够接受的,毕竟现在的我能接触到的技术和工作内容更丰富多彩,也能接触到客户和高层领导。工作收入考核不再是单看代码数量,更多地取决于管理大型项目、对团队技术方向的影响以及指导他人的能力。
在个人技术能力和职位方面我都得到了提升,应该算是职场晋升成功了吧,可以钻研技术,也可以选择管理团队。
不过我还是倾向于技术方向的发展,毕竟就是因为喜欢代码,才坐得住并且坚持到了现在。不过投入代码的时间还是比以往少很多,管理工作需要兼顾,责任越来越重。
一个项目的开发过程是需要团队协作各司其职,发挥各自的专业技术共同完成的,所以作为团队管理者,我需要与团队成员、利益相关者以及跨职能合作伙伴打交道,并促进我们之间的协作。
在这过程中我个人的软实力也得到的锻炼提升,包括交流沟通能力、承担责任的能力以及团队协作组织能力等。
我也从最初的初级码农变成了软件开发工程师,工作内容也发生了很多改变,也跟大家聊一聊吧。
开发工程师的主要工作内容不再仅限于编写代码,参加项目会议,还要承担编程之外的工作:
1、编程设计文档。随着工作范围的扩大、复杂性的增加、需要处理的问题更加模糊,你需要编写设计方案。需要收集需求,进行一些分析或研究,并与利益相关者和同事分享你的发现。如果是初开不要忽略这个步骤,是你职场升级的开始,虽然你只想钻研代码。
2、编写或更新文档。新员工入职期间需要阅读这些文档,以迅速补充基础知识,并熟悉当前的工作环境。作为开发人员需要随时关注这些内容,并及时完成工作内容。
3、指导团队成员的工作。随着工作经验的增加,技术的成熟,你需要承担起指导新人的工作。看着你曾经走过的路一定会有很多感慨,不要觉得浪费时间精力,这个过程反而是一种学习,可以为更高的晋升奠定基础。你可以在以下几点给予新同事工作上的帮助:1)鼓励,有一个包容的心,关爱经历着你曾经历的苦的新同事。可能他们写的代码完全不符合你的要求,可以提供积极的建议和反馈。2)分享工作经验,指导新员工的工作,就像你做码农时一样:创建定义清晰、范围明确的任务,尽量减少歧义,随着时间的推移逐步增加难度。3)定期交流,根据实际情况,每周或每月进行一两次面谈,了解工作状态和想法,了解工作中的问题,根据需求上报给领导得到更多的帮助。
4、其他工作,例如开发团队缺乏职能的岗位支持,项目经理、产品设计等,你可能需要承担项目管理的工作,制定项目的开发流程、任务分配和时间节点进行监督督促等责任。
最后
以上仅仅是个人的软件开发晋级之路,相信也是很多开发攻城狮走过的路吧。总的来说,只要你坚持下去,肯学愿意接受别人的建议,你就能在职业上得到提升;不管是向技术方向发展还是管理岗位发展都可以,并且选择还很多。
如果你工作几年后依然是担任码农的职责,那可能你真的不太适合IT行业。正如现在被炒得很火的Chat GPT,很多人担心它会替代开发人员的工作;事实上它可能只是替代基础代码编写的工作,例如初级软件开发工程师的职能。
所以,如果你不想被AI替代就不要只会敲代码,还要多学新技术,担任更多的职能,提升自己才是最重要的。
进步是需要不懈的努力的,坚持学习的心态一定要保持下去,终有一天你会迎来职业的蜕变升华。