5个月没写博,不是惰性复发,而是实在忙成了狗。
公司的项目这几个月一直处于上线攻坚阶段,各种问题层出不穷,其实对于这个阶段来说,对程序员而言并非是技术的磨练,而是心态,面对无休止的加班,面对不合理不规律的版本发布,面对管理层各种你认为扯淡的想法,面对团队内有同事扛不住先离去的现象,面对项目上线后不理想的结果。。。
在这个期间,我也发现了一个有趣的现象,一个程序员解决问题的能力,如果粗略来分,会有哪些等级?
首先,容我解释一下“能力”二字,我所说的能力,并非程序员现在本身的技术能力,而是他对解决问题这件事本身的一个理解。
就我个人在工作环境中观察到的,可以粗略分为以下几种(假设出现的BUG是程序员本人所负责):
1)程序出现不正常反应,立刻向上汇报程序运行异常
2)程序出现不正常反应,将程序表现形式描述成清晰文字,向上汇报
3)程序出现不正常反应,分析程序的输出日志,加上自己对出现BUG的推测,向上汇报
4)程序出现不正常反应,分析程序的输出日志,尝试自己修复,并测试验证,向上汇报
这四种情况就是程序员们在面对BUG出现时表现出来的四种基本行为,也可以说是他们对于解决问题的这个问题的理解
可能有人认为1)2)两种情况不太会发生,除非是新人或者毕业生,但不幸的是本人在工作过程中就接触到过这两种人,简直连奇葩也无法概括他们的行为,出现了这两种情况只能说这证明你无法胜任程序员这份工作。
对于他们的这种做法,我个人的理解是:
1 - 求助上级或同事的帮助,个人省力,时间成本缩短
2 - 求助上级的帮助,BUG可能会更快地解决,对整体项目有益
对于此二理由,我不以为然:
从你个人出发:
1. 省得是你个人的精力和时间,同样,你自己对于问题的追踪能力也无法提高,自信心无法随着你的工作年限有效地增长,直接影响到以后无法胜任更高的职位
2. 耽误上级或同事的时间,对整体项目有影响
3. 长期以往,会形成依赖效应,不只一个人,倘若被依赖人确实能力过强,会产生周围人都喜欢依赖他的现象,继而产生团队依赖效应,对团队整体都不好,可能有益的只是那个被依赖的人而已
前阵子网上有个”业内公知“在倡导“做一个环保的程序员”
在这里我也倡导一下(虽然我不太喜欢那位公知),“做一个遇到BUG,遇到问题,不喊爸不喊妈的程序员”