进阶过程:程序员做项目的独立性

标签: Software Engineering 产品 独立性 程序员 项目 | 发表时间:2013-02-05 15:08 | 作者:四火
出处:http://www.raychase.net

文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》

进阶过程:程序员做项目的独立性 第一阶段:编码机器

这是最低级的阶段,程序员拿到详细设计文档,上面连许多方法接口都定义好了。重构一些代码,写一些实现,调用一些既定的API,然后花许多时间在各种各样的场景测试上面。从做的工作上看,这都不能算程序员,最多,只是编码技巧卓越的码农而已。因为它几乎扼杀了一切创造力,但是这很常见,比如在一些对日外包公司,就是如此。

第二阶段:独立的实现者

程序员得到的只是粗略的设计文档,也许注明了外部接口的清单,还有框架和基础设施的API,需求已经澄清清楚,接下去要做的就是发挥聪明才智把软件实现设计好,把代码写好,测试通过。这项工作可以在安静和独立的环境中完成,因为没有什么是不够明确的,那些本不清楚的部分,项目经理、架构师和产品经理已经搞定了。这样的环境下可以诞生许许多多OO设计优秀、代码清晰简洁的程序员,但是这始终只是在做一个残缺的项目而已。很多程序员新手都是从这个阶段开始的,但是程序员如果只会代码层面的设计、编码和测试,并不能算一个完整的程序员,也许连一半都算不上。

第三阶段:项目沟通者和管控者

程序员要和需求工程师,甚至客户澄清需求,分析可行性;需要自行分析设计项目中的技术难点;参与决定和管理迭代周期和计划表;组织和参与项目组内运作跟踪会议。编码以外的事情会占用一些时间,这些时间大多来自沟通的成本。如果说,前两个阶段还未能明显看出沟通的重要性的话,那么到这个阶段,一个不能良好沟通的程序员,将成为项目组运转的瓶颈。国内至少有一半的软件公司的程序员做项目应该处于这个阶段。

第四阶段:从做项目到做产品

从做项目跨越到做产品,想想容易,做起来很困难。做项目需要更多倾听用户需求,但是做产品更注重思考,思考用户的痛点和产品的定位远重于倾听用户表述。从项目周期上看,做项目关注在拿到需求并实现交付的过程,但是做产品需要把更多精力花在产品定义、设计,还有长时间的产品维护上。做产品的程序员,必须要和客户沟通,必须要维护自己开发的软件,获知用户和市场的反馈,如此才能体会到什么功能才是迫切需要的,该怎样把技术、业务和实际产品的实现结合起来。

第五阶段:产品成长的见证人

也许很少人能够参与从零开始,经过创意、市场分析到产品设计的过程,在明确要做什么之前有大量的时间会花在产品探索性的工作上面。也许会做很多的产品原型,也许某些版本和功能在A/B测试之后就被放弃了,更有些产品在流传开来以前就销声匿迹了,或者很快就死在抄袭和山寨手里。产品的更迭和换代总是千辛万苦,而看得到的部分往往如此简单,但是谁知道它的历史有多曲折呢?

文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》

分享到:
你可能也喜欢:

相关 [程序员 项目 独立] 推荐:

进阶过程:程序员做项目的独立性

- - 四火的唠叨
文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》. 这是最低级的阶段,程序员拿到详细设计文档,上面连许多方法接口都定义好了. 重构一些代码,写一些实现,调用一些既定的API,然后花许多时间在各种各样的场景测试上面. 从做的工作上看,这都不能算程序员,最多,只是编码技巧卓越的码农而已. 因为它几乎扼杀了一切创造力,但是这很常见,比如在一些对日外包公司,就是如此.

从程序员到项目经理:项目管理三大目标

- - 研发管理 - ITeye博客
从程序员到项目经理:项目管理三大目标. 项目管理的三大目标即时间、成本和质量,实际是告诉项目经理应重点关注什么因素,项目控制应该做什么工作. 三大目标虽然简单,但如果能将其真正贯彻到自己的行动中,那么对项目计划制定、过程控制等工作,均能起到引导作用. 有了努力的方向,项目经理也就可以真正告别“盲目”了.

程序员可以兼任项目经理吗?

- - ITeye博客
人们的有些尝试从来没有成功过:接到一个小项目,项目小,完全不需要一个全职的项目经理. 于是就决定让一个程序员兼任项目经理. 毕竟,还能有谁比程序员更清楚应该写出一个什么样的程序.   的确,很多程序员能做好项目经理的职位. 好的程序员和好的项目经理的之间没有本质的冲突. 这两个职位都是面向细节和面向结果的.

新入职的程序员如何更快的融入项目当中?

- - CSDN博客研发管理推荐文章
最近,我们项目中新入职的程序员比较多,于是我们花上了15分钟,就“新入职的程序员如何更快的融入项目当中. 下面是讨论的结果总结,现在和大家分享一下,希望对新人或者项目管理者有一些有益的启发,则不枉我写这篇文章. 2.善于问问题,问周围同事. 3.看什么时候加入的:如果加入项目比较晚的话,一定要看项目上已分享相关文档.

普通程序员、文艺程序员、2B程序员

- 可可 - 宇宙的心弦
希望能引起广大苦逼的正在学或者已经学过c++人的共鸣和会心一笑吧. 如何辨别自己在现实还是虚拟世界.

如何面试程序员?

- bluesnail - 阮一峰的网络日志
你要面试一个程序员,应该问他什么问题. 有人在Hacker News的讨论区里,请求指点,怎么才能在面试中发现合格的人. 众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章. 首先,最重要的是,你自己一开始就应该想清楚:. 哪些途径和方法可以发现这样的人. 只有明确这些根本性的问题,才能正确高效地完成面试.

程序员的本质

- Allen - 译言-电脑/网络/数码科技
来源What do programmers really do?.   很多人(包括我岳母)认为计算机变得如此智能,所以在不久的未来将不再需要程序员. 另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题. 甚至不少程序员对他们是做什么的都没有清晰的概念.   在这篇文章中,我想给不知情的人解释一下程序员到底是做什么的:.

程序员人生之路

- myartings - 博客园-首页原创精华区
   程序员人生之路(强烈推荐,分析的透彻. ),某程序达人的人生感悟,估计没有半个甲子的时间,是绝对不可能感悟出来的.    相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心. 在刚出校门的几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到心里平衡:“有付出才会有回报”这句话在那几年中你说的最多,不管是对自已的朋友们还是自已的爱人.

程序员装B指南

- Qing-Run - 博客园-首页原创精华区
1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好. 一个用来查资料,一个用来写代码. 总之要显得信息量很大,效率很高. 2.椅子不一定要舒服,但是一定要可以半躺着. 3.大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善. 沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子.