喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!
你以为程序员只要会编程就可以得高薪高枕无忧了?恰恰相反,对于一个真正合格的程序员来说,编程、功能实现应该是“最不重要”的工作。往往越高级的程序员编程占日常工作的比例就越低。
虽然编程对程序员来说"最不重要",但并不代表他们没有扎实的编程功底,无论如何,扎实的编程功底是让你成为一个合格程序员的基石。那又为什么说它是“最不重要”的呢?当然是因为程序员平时还有更重要的事情需要做!
1.软件工程相关设计
这个会占大头。一般在开始实现细节之前,各式各样的软件工程相关的设计都要完工。注意,这里的设计是指程序员完成的,和 UI 设计、UX 设计等是两码事。
软件工程设计具体指程序员预计以怎样的方式来实现某个功能。包括
- 功能模块的划分
- 单元测试和集成测试分析
- 哪些可以使用已有的 lib,使用场景的调研
- 对于新增的模块,具体实现方案。包括用到哪些设计模式,UML 图,数据库 schema 等
- 和其他 team 的衔接。定义 api,以及调用方式等
- 粗略开发时间安排(可选)
2.沟通交流
主要包括和其他 team 之间的沟通,以及自己提供的软件上下游的沟通。例如 bugfix 有可能会涵盖很多不同的 team,怎么和大家一起高效解决问题,日常沟通实际上会占用很大的工作比例。
自己团队内部的例会,有的可能还有早会,周会等。和其他人、manager 一起探讨团队重点开发目标、支持的场景等。
3.Peer Review
主要负责 review 同事们的代码,以及日常交流的反馈。一般每天都能收到别人的 code review,在年底的时候会收到 general review。
- code review
- general review
4.Manager Review
主要是去 review 自己的 manager。指出做得好的地方,自己得到帮助的地方;顺便也列几条需要改进的地方。例如看看有没有 micromanagement 以及可能的影响日常工作效率的问题。
5.Mentoring & Teaching
这个是指把自己知道的知识分享出去,让新来的同事快速上路、提升工作效率。或者经常在团队里和大家分享新的东西,例如学习心得、行业动态等。总体来讲包括但不限于编程,更多的是 domain knowledge、流程等相关。
6.Company-wise Contribution
有很多可以贡献的地方,最经典的就是面试。经常主动、高质量地去完成面试,帮公司找到更优秀的人才,对于哪个公司应该都是第一要务。
综上分析,如果只是把编程作为自己日常工作的唯一内容,那我觉得大概率还是不能称之为一个合格的程序员。
觉得文章还可以的话不妨收藏起来慢慢看,有任何意见或者看法欢迎大家评论!
我是一名python开发工程师,从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习,
面试真题,面试真题,面试真题等。想要这些资料的可以进群:688244617