第一阶段:编码机器
这是最低级的阶段,程序员拿到详细设计文档,上面连许多方法接口都定义好了。重构一些代码,写一些实现,调用一些既定的API,然后花许多时间在各种各样的场景测试上面。从做的工作上看,这都不能算程序员,最多,只是编码技巧卓越的码农而已。因为它几乎扼杀了一切创造力,但是这很常见,比如在一些对日外包公司,就是如此。
第二阶段:独立的实现者
程序员得到的只是粗略的设计文档,也许注明了外部接口的清单,还有框架和基础设施的API,需求已经澄清清楚,接下去要做的就是发挥聪明才智把软件实现设计好,把代码写好,测试通过。这项工作可以在安静和独立的环境中完成,因为没有什么是不够明确的,那些本不清楚的部分,项目经理、架构师和产品经理已经搞定了。这样的环境下可以诞生许许多多OO设计优秀、代码清晰简洁的程序员,但是这始终只是在做一个残缺的项目而已。很多程序员新手都是从这个阶段开始的,但是程序员如果只会代码层面的设计、编码和测试,并不能算一个完整的程序员,也许连一半都算不上。
第三阶段:项目沟通者和管控者
程序员要和需求工程师,甚至客户澄清需求,分析可行性;需要自行分析设计项目中的技术难点;参与决定和管理迭代周期和计划表;组织和参与项目组内运作跟踪会议。编码以外的事情会占用一些时间,这些时间大多来自沟通的成本。如果说,前两个阶段还未能明显看出沟通的重要性的话,那么到这个阶段,一个不能良好沟通的程序员,将成为项目组运转的瓶颈。国内至少有一半的软件公司的程序员做项目应该处于这个阶段。
第四阶段:从做项目到做产品
从做项目跨越到做产品,想想容易,做起来很困难。做项目需要更多倾听用户需求,但是做产品更注重思考,思考用户的痛点和产品的定位远重于倾听用户表述。从项目周期上看,做项目关注在拿到需求并实现交付的过程,但是做产品需要把更多精力花在产品定义、设计,还有长时间的产品维护上。做产品的程序员,必须要和客户沟通,必须要维护自己开发的软件,获知用户和市场的反馈,如此才能体会到什么功能才是迫切需要的,该怎样把技术、业务和实际产品的实现结合起来。
第五阶段:产品成长的见证人
也许很少人能够参与从零开始,经过创意、市场分析到产品设计的过程,在明确要做什么之前有大量的时间会花在产品探索性的工作上面。也许会做很多的产品原型,也许某些版本和功能在A/B测试之后就被放弃了,更有些产品在流传开来以前就销声匿迹了,或者很快就死在抄袭和山寨手里。产品的更迭和换代总是千辛万苦,而看得到的部分往往如此简单,但是谁知道它的历史有多曲折呢?
文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》
相关推荐
我编程,我快乐:程序员职业规划之道.pdf 我编程,我快乐:程序员职业规划之道.pdf
具体说来,《统计思维:程序员数学之概率统计(第2版)》通过一个案例研究,介绍探索性数据分析的全过程:从收集数据、生成统计信息,到发现模式、验证假设。同时研究分布、概率规则、可视化和其他多种工具及概念。...
前言本书介绍探索性数据分析的实用工具,书中章节按照我自己处理数据集时遵循的步骤进行组织。导入和清洗:无论数据格式如何,我们通常都需要花费一些时间和精力进行数据的
程序员第二步从程序员到项目经理 程序员第二步从程序员到项目经理 程序员第二步从程序员到项目经理
软考指南:程序员数据结构笔记 软考指南:程序员数据结构笔记
关注成长:程序员头皮卷 pdf 关注成长:程序员头皮卷 pdf
一本影响全世界数百万程序员的网志书 一位软件行业老兵的真知灼见 触人心灵的智慧火花,带你重新审视职业生涯 这个是英文版的,中文版需要自己购买
Windows 2000活动目录开发人员参考库 第1卷:程序员指南
C/C++实践进阶之道:写给程序员看的编程书 part 1 of 2
3. 给出目标、学习建议、关键知识点、最优资源以及各类资源推荐(视频、书籍、文档、项目、工具等) 4. 鱼皮自己是 Java 开发者,融入个人自学和从业的经历 + 思考,让路线有灵魂 5. 划分阶段、更有计划,且在最后给...
JUnit技巧:程序员测试实用方法
程序员里的风景线:程序员因为女孩而美丽.docx
超全面:程序员跳槽神级攻略
C/C++实践进阶之道:写给程序员看的编程书 part 2 of 2
统计思维:程序员数学之概率统计 kindle电子书 高清版