在职业生涯发展历程中,软件工程师或多或少会养成一些“坏习惯”,因而影响写程序的效率,更严重者,职业生涯发展也会受限。网页开发者,Traversy Media的创办人兼线上讲师Brad Traversy分享10个开发者的坏习惯,供开发者意识、反省,提升自己的工作效率与职业生涯发展。
1. 休息时间不足
在996的工作压力下,这一点很多人都会犯。很多人会座位上坐一整天,只有上厕所、吃午餐才会走动,甚至是连午餐都不吃。但最好经常休息,例如每隔1小时就出来走走,活动筋骨,也让大脑放松。休息过后,大脑会比较灵活,生产力随之提升。
2. 拒绝寻求帮助
很多任务程师有冒牌者症候群,常觉得自己在职位上不合格,因而不敢求助,怕同事、主管觉得自己差。也有一些工程师是因为骄傲而不求助。这些工程师遇到问题,常常自己Google信息、读书或看教学视频,但寻求帮助也是一种资源,而且还可以“对症下药”,对方可以直接回答你的问题,效率更高。
当然,你还是可以自己找答案,只不过要给自己时间限制,若在期限内无法找到答案,就去问人吧!
3. 不再学习
信息科技是快速变动的产业,不管是大学新人还是工作20年的资深工程师,都必须保持学生的心态,持续学习产业与技术新知,跟上趋势。如果不学习,很快就会落后。
另外,很多企业为了成本考量,并不会一直更新系统,因此时常会有过时的技术。但工程师仍必须追上新技术,并找机会向团队展示,提出更有效率的解决方案,公司可能就会采纳你的意见,不但可以提升工作效率,也能提升你的话语权。
4. 肮脏的程序代码
要用一种视觉上干净、高效、安全的方式写程序代码。若你是自学程序,要特别注意,因为很多课程的讲师着重于核心概念,并不会提到执行方面的细节,你也不会学到最精简的coding技巧。最好是自己做额外的研究,从实务中学习,并有意识地整理程序代码。
最基本的原则就是DRY(Don’t repeat yourself.),也就是不要重复同样的程序代码,而是创建函数来集成那块功能。另外,你也能通过压缩略图片,对JavaScript和CSS进行最小化,提升程序的性能。此外,不要做不必要的API调用,以尽可能减少请求的方式来构建应用程序。
5. 没有保持工作与生活的平衡
工程师是种压力很大的职业,工作时常占据大部分的生活,甚至连晚上、周末都还在工作。但人生不是只有写程序,你还有其他的兴趣,有朋友,也有伴侣、家庭要顾。无论如何,留点时间给朋友、男/女朋友、自己,为生活带来平衡。
6. 糟糕的办公室政治
每个工程师的想法不同,发生冲突是很正常的,重点就在于自己如何处理冲突,以及同事应对冲突的态度。自己的话,原则是不要大吼大叫,也不要当冲突的催化剂,而是理性分析解决方案的利弊,提供团队参考。同事的话,如果是那种傲慢,不讲道理,不承认自己错误的人,就尽量避开吧!
7. 不从错误中学习
写程序犯错很正常,重点是要从错误中学习。当你犯错时,建议先了解导致错误的原因是什么,思考该如何创建一套流程来避免错误,并且弄清楚,如果错误能尽早发现,是否能避免后续的结果。
8. 过早放弃
挫折是工程师职业生涯发展的必经之路。有些项目真的很困难,可能修复了一些东西,就会让另一些东西出问题。很多任务程师会想,如果放弃这个项目,就可以省去麻烦,还可以做其他事情。问题是,如果放弃得太早,就会失去很多学习机会。
真有必要,放弃是可行的,但在那之前,一定要确保自己做过所有的尝试,例如使用不同的技术,并向别人求助。如果仍旧失败,完全看不到转机,那才是放弃项目,继续向其他地方发展的时候。
9. 做一个万事通
有些工程师很傲慢,自以为什么都懂,因此听不进其他人的意见。但科技发展快速,若不积极学习,敞开心胸与他人交流,很快就会被淘汰,也不会有人愿意合作。保持友善、开放的态度,对同事多一点尊重,职业生涯可以走得更远。
10. 不接受建设性的批评
建设性批评是很好的学习资源,因为对方直接点出你程序的问题,并提出具体的建议与解决方案。然而被批评的感觉并不舒服,因为它有针对性。因此,工程师必须学会分辨,对方是在挖苦你,还是在帮助你,提出的是情绪性的抱怨,还是建设性的批评。
还有一点,看待建设性批评,不要把它看作是“对人”的批评,而是“对事”的批评。听取建议,并优化技术与工作流程,对自己的职业生涯有极大的帮助。
参考资料
《Medium–Brad Traversy》