从毕业到从事程序员工作已经一年半了,在这一年半中经历了从对软件开发一知半解到带领小团队开发项目的过程,在这里写下自己的感受,同时也是为了时刻提醒自己不忘初心, 时刻居安思危,时刻保持进步。
大学的时候老婆就说我将来适合做程序员,因为我能坐得住,没想到后来真的从事了这一职业。但是经过一年半的洗礼,我对这份职业又有了新的感想。
作为程序员, 需要的绝不仅是能够坐得住的定力,还有很多能力需要锻炼。
首先就是统筹规划的能力,拿到任务之后,最需要做的绝不是立马上手,而是懂得去观察,只有先理解自己将要做什么然后将自己的任务进行合理划分并制定详细的任务计划才能真正把任务按时做好。
其次,沟通能力也显得同样重要,软件开发绝不仅仅是自己的任务,而是各个部门各个相关人员相互协调互相妥协的产物,多 与产品经理沟通能够更好地理解自己所研发的产品能够帮助产品经理更好地完善项目;多与项目负责人沟通,能更好地把控自己需要做的任务;多与组员沟通,能够更好地协调与他人的工作使工作变得更高效,团队也更加和谐。
作为程序员当然本职工作还是编程。能力,在我看来可以分为两部分:发现问题的能力和解决问题的能力。在开发过程中如果能够做到时刻把控自己写的代码及时发现潜在的问题,那么可以大量减少研发后的bug;碰到问题如果可以快速地通过各种方式解决问题,那么自己的工作将会变得非常轻松。
身为程序员乃至作为一个人,最最最重要的当然是学习。持续不断地学习才能保持竞争力。同时,学习的范畴绝不仅仅是编程技术,其他领域亦需涉猎,多接触尽可能多的领域,我们的世界才会丰富多彩。
最后,在这里记录下两点最为重要的东西,以期自己时刻牢记:
1,基础。做任何事基础最为重要,不要认为能够完成任务就满足。知其然而不知其所以然是没有用的,唯有知其所以然才能使自己获取足够上升的空间,为自己留下足够多的可能性。2018年,先把JVM,nginx,jdk源码深入理解吧。
2,角色。这点可能比基础对于自身的career影响更为深远。时刻牢记角色的切换。
项目立项时,你是产品经理,运用自己平时掌握的知识和视野,以客户需求为导向,设计出足够友好的界面以及功能是你最需要做的。
项目规划时,你是项目经理,深入了解你的项目以及组员配置,根据各个组员的能力指定详细的开发计划同时把控好所有可能出现风险的地方,开发之时根据实时进度做出相应的调整,保证项目的正常进度。
最后,开发功能时,血淋淋的事实告诉我,尽可能不要将功能写死,尽可能将接口做的足够灵活,因为接下来会发生什么,谁也不知道。
如果能够完成角色的合理转换,在适当的时候以适当的角色思考并处理适当的问题,你的世界,将绝不仅仅只有0和1。