我是一位在大厂打拼多年的程序员,今天想结合自己的工作经历给新人程序员们提出若干建议,希望能够在一定程度上帮助大家在职场脱颖而出。
积极主动
第一个建议是要积极主动,有owner意识,勇于承担工作职责,并在工作中做出成绩。
首先,领取任务或接受任务应该积极主动。在工作中可以主动向领导提出来自己对什么方向的项目感兴趣,希望承担什么样的任务。当领导知道你是积极主动的人,而且也发现你确实有能力胜任某项工作时,就会优先想到你。在领导主动布置工作任务时,也不应该过多的考虑这项工作好不好干、难度怎么样,而是应该要积极主动的接受。
其次,在执行任务的过程中,应该发挥主观能动性,从而使成果达到预期或尽可能的超出预期。这就要求我们理清任务的本质,思考任务背后的更深层次的逻辑,从而确定目标、理清思路、拆解任务、贯彻执行。这里特别需要避免的是,简单地成为“任务执行器”,即机械的执行任务,而不知道做完这个任务之后能解决什么问题,后续又还需要做什么。
善于沟通
作为研发,工作中不免要和很多同事进行沟通,比如跟PM对接需求、跟其他前后端RD聊技术方案、跟QA聊测试用例等,因此高效的沟通可以在很大程度上提升我们的工作效率。在善于沟通方面,主要的建议是:一、不要与人争吵;二、换位思考。
争吵不能解决任何的问题,反而容易让人丧失理智,而且容易影响自己在旁观者心里的印象。换位思考是解决沟通问题的利器,先谈对方最关心的点,让对方感受到你的真诚。遇到分歧时,先找共同点,求同存异,往往事半功倍。
保持好奇心
软件研发方面的技术日新月异,不断有新的编程语言、存储组件、技术框架等出现,为了保持保持和增加自己的核心竞争力,对于工作中用到的相关组件和框架,应该不断去挖掘背后的底层原理。比如说工作中用到了HTTP协议,那么就应该思考:为什么会有HTTP?它的演进过程是怎样的?有什么设计理念是值得我们学习的?它还有什么缺陷是需要改进的吗?
除了熟悉工作中用到的技术组件的原理之外,也应该多关注一些前沿的技术趋势,了解业界同行的一些优秀的实践经验,可能的方式包括关注InfoQ、美团技术博客等公众号发布的高质量文档。
这里特别需要避免的是,整天抱怨自己的工作只是CRUD,认为自己的工作没价值,但是却不愿去发掘自己的工作背后的有价值的东西。
引人注目
程序员是技术性很强的工作,技术是我们的立身之本,但我们也要避免只会研究技术、埋头苦干。对于交到我们手里的工作,我们要尽可能地做好,同时也需要积极地向领导汇报进展和成果,这样领导才会知道事情的进度是可控的、成果是可预期的,对于你个人的工作产出也自然心里有数了。
在引人注目方面,另外很重要的一点是:发表文章。如果只有你自己知道你是绝顶高手,是没有意义的,你需要通过发表文章的方式表述所学所思所想,让其他人知道你的实力,从而扩大你的影响力。