别做“不会思考的码农”

做开发这么多年了,最近跟一些新同事(比我年轻几岁)一起共事。发现在沟通和思考上存在很大的差异。 主要有两点:

   1:需求分析由谁来做;
   2:实现功能,还是解决问题;

举例来说:

  1. 需求分析由谁来做;

    需求总是有不明确的时候,尤其在web页面UI 和交互上。经常性的找PM( 人少,项目经理同时做售前+需求分析)问:某个功能,如何做,做成什么样子?但邮件一到经理那儿,就像泥牛入海。 经常一个页面做个4,5天,大部分时间在等需求(等电话,等邮件)。

    这种方式是可以理解的:毕竟程序员没有决策权,如果自作主张的话,返工的还是自己。 但我不提倡这种做事方式,小公司人少事多,每个人多做一点事,公司才能越来越好。

    遇到需求不明确的功能,程序员应当主动承担起需求分析的角色,而不是简单的把问题抛给需求人员。需求人员很忙,尤其是身兼多职的PM。程序员把问题抛给他,他通常没有时间去想,或者想的并不深入全面。

    我收到类似的邮件的做法是:“做这个功能是要解决XXXXX问题的,用什么方式解决,如何做,做成什么样子最好,由你来想,想好了我来确认。” 就此问题讨论,有些同学会觉得这是需求人员(或者PM)的事情,不该我管。

    程序员不主动思考,那就只能一直当码农了。

  2. 实现功能,还是解决问题

    实现功能是相对容易的。问题分析清楚,解决方案也出了,只剩下写代码。稍微有点编程经验的人都可以胜任。我经常性的针对需求问开发的同学:做这个功能是干吗用的? 得到最多的答案是:不知道,(经理)客户让做的。看看,又是“不思考”。

    我见过很多会主动思考的工程师, 工作交给他,他会考虑的周周全全,根本不用操啥心,如果有问题,会主动找我来确认。反之,工作交给“不思考的码农”经常如石沉大海,我就是考虑再全面最后仍然出纰漏。

    做任何事都要过脑子,在IT开发行业更是如此。

别做“不会思考的码农”

blog comments powered by Disqus