1. 静。在千头万绪,百般push,各种IM电话邮件狂轰滥炸中保持一个静字,找到最适合现在做的事情,情绪不要被外界所干扰。一次只做一件事,不要被打断。有的公司土鳖文化严重,领导一会儿要求你干这个,一会儿又说另外一个事更紧急,完全打乱你的节奏。殊不知其实事情也没那么急,都是不把工程师当人的企业文化造成的。优秀的工程师要能扛得住压力,按自己的步奏走,假如真的是不可抗力,那也要管理好压力。
2. 沟通。软件工程的意义就是协同多人一起工作,沟通是避免折腾的唯一方式。沟通首先要脸皮厚,千万不要怕露怯,或者怕暴露问题,而是应该第一时间让别人知道,这样以后你费的力气会小的多;其次要会push,人都有惰性,push不到位你的事情就会效率低下;还有就是要保持良好的关系,同事间的竞争或对立的态度会增加沟通时间,而且会悄悄的偷走你的能量,让你无法长期战斗。
3. 版本管理知识。版本管理本质上也是沟通,是工具化的沟通,是宏观的沟通(部门与部门之间)。你开发的代码要合入哪个分支,哪些仓是自动merge的,哪些仓是指向仓,这些要特别清楚。否则会糊里糊涂的造成一些问题,而且直接影响所有人的工作。
4. 求甚解。追求基本原理。从基本原理出发,而不是走捷径。做一块东西,要对它了解透彻,否则就不要做它。开发如此,解bug也是如此。
5. 能得到别人的帮助。比如你集中精力需要分析一个框架的时候,这时候需要去烧手机,你可以找一个人帮你烧,而把自己的宝贵时间花在最重要的事情上。
6. 一次性把事情做对。技术债是一定要还的,越早期的问题越好查,越后期的问题越难查。所以要花时间严格分析逻辑,review代码,进行功能测试。这时候不要理会领导的各种push,做好自己的最重要。
7. 全栈。全栈才能理解基本原理,理解基本原理才能真正懂自己做的这一部分,才能完善设计和避免问题。
8. 利用自己的优势。有的人宏观厉害,有的人细节抠的仔细,要在工作上了解自己的问题,遇到自己不擅长的地方,要加倍小心。