找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

为什么还有人雇佣糟糕的程序员?

2014-04-18 21:21    评论: 8 收藏: 1 分享: 1    

有一种言论是好的程序员的效率是差的程序员的10倍,那为什么那些差的程序员还能找到工作并且能一直做下去呢?我最近阅读了 DZone 上面的 Troy Hunt 的文章“Measuring code quality with NDepend” 。先不管 NDepend,Troy 分享了一个关于专业性的有趣的观点:

我一直想不通为什么软件行业的专业性的差异会如此巨大。对比医生或者飞行员,好的医生和不好的医生差别不会很大,而飞行员的差别应该更小。当然医疗事故和飞行事故也会发生,但那确实很偶然。但是软件行业垃圾代码,低质量软件的概率似乎要高很多很多。

 

Troy 的文章引起了我对专业性的思考,以及为啥不好的程序员也能找到工作并能一直做下去。我认为有三个主要原因,可以解释为啥竞争力,效率和专业性不是程序员职业生涯的决定性因素。

 

- 明星公司通过市场营销和技术竞争力创造伟大的产品。

- 外行无法分辨代码好坏。在漂亮的 UI 下面可能是技术灾难。

- 代码的好与坏可能需要10年的时间才能体现。

产品理念,市场营销,技术壁垒

像 Apple,Google 这样的明星公司,他们有非常好的产品理念,市场营销以及技术壁垒。这三样只要有其中两样就可以把产品做成功,例如好的产品理念和良好的市场营销加上一般般的技术水准。

我记得在 2000 年的 CeBIT 会议上,我当时所在的公司有一套非常好的网页发布系统,但是我们很难让大家了解我们。但是我们隔壁的公司穿着西装革履,非常健谈,他们的产品也不错(虽然我同事常常嘲笑他们的图像处理产品就像学校实验室的作业)。那个图像处理公司现在是移动图像软件领域的主要玩家。而我的老东家还是一家很小的公司。

外行无法分辨代码好坏

我不知道那家图像处理公司的代码如何,使用他们产品的用户同样不知道。但是我知道他们的用户界面设计很好。一款软件的界面与代码质量真的没有什么关系。即使你把代码给用户看,他也看不出来啥。但是建筑行业就不一样,大部分外行可以通过仔细查看外观来判断一栋楼的质量。

10年见分晓

对于用户来讲,他关心的只是软件是否最新版本,是否好用,是否漂亮。代码的质量往往需要在使用很长时间以后才能体现出来。一个软件维护了十年以后,具有良好的设计和编码的软件将依然很好用,而不好的软件可能已经被抛弃。不幸的是,糟糕的程序员可能在这十年中写了很多烂代码。时间会消磨一切,很多项目时间一长大家都不在乎这些了。而这些糟糕的程序员依然可以拿他们去年的漂亮项目出来找工作。

转载自:http://www.linuxeden.com/html/review/20120811/128468.html

最新评论

我也要发表评论

robin 2014-04-17 13:14 回复
先顶一下,说的有道理,我要变成好的程序员
陈若拙 2014-04-17 14:35  新浪微博网友评论 回复
You cannot give up on ppl.
绿色圣光 2014-04-17 14:35  新浪微博网友评论 回复
嗯,大多数公司根本不关心你的代码质量。他们不会因为你代码质量更高而给你更好的待遇。他们只关心你能否在规定时间内迅速完成任务,却不在乎你的代码性能如何,不在乎你的代码缺陷多少,不在乎你的代码后续可维护性高低,不在乎你的代码能否在不同的环境中正常运行,等等。比如我现在所在的公司!
xizhua 2014-04-17 18:21  新浪微博网友评论 回复
主要是把握代码重构环节,如果框架扩展性高的话,功能,缺陷,稳定,可维护性,性能是有优先级。产品在被认可的情况下,重构就很重要,大部分工作是解决,缺陷,稳定,可维护性,性能。
Capricorn90 2014-04-18 10:00  新浪微博网友评论 回复
好吧,无论学得好坏,大家都有活干了
[1]
Capricorn90 发表于 2014-04-18 10:00 的评论:
好吧,无论学得好坏,大家都有活干了
robin 2014-04-18 14:40 回复
八目2940043733 2014-04-18 16:07  新浪微博网友评论 回复
代码写得能运行就好。最终決定质量的是硬件与介面。要面对世界现实。
夜域诡士 2015-04-18 23:02 回复
上楼金蛋  你说砸换是不砸

收藏

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。