为什么作一名 in-house程序员很糟糕?

按:节选自Joel Spolsky的《More Joel on Software》。这里in-house programmer是指在非软件企业工作的程序员。

我的理解是,软件开发是很复杂的领域,有其专有的方法论和组织文化,专门从事软件的企业比较容易拥有这些关键元素。但非软件企业的企业文化往往并不太适合打造软件,管理层也不太懂软件开发方面的知识,不晓得软件工程到底是什么,以为把几个程序员招来凑到一起就能做出所谓的软件来(这也许就是《浪潮之巅》中提到的企业基因吧)。所以在这种环境下,作一名in-house programmer会比较难成为业界高手,同时由于软件不是公司的核心业务,所以也不太可能得到很多升迁机会。

 

OK, so, why does it suck to be an in-house programmer?

Number one: you never get to do things theright way. You always have to do things the expedient way.

The second reason these jobs suck: as soon as your program gets good enough, you have to stop working on it. Once the core functionality is there, the main problem is solved; there is absolutely no return on investment, no business reason to make the software any better. So all of these in-house programs look like a dog’s breakfast: because it’s just not worth a penny to make them look nice. Forget any pride in workmanship or craftsmanship you learned in CS 323. You’re going to churn out embarrassing junk,and then, you’re going to rush off to patch up last year’s embarrassing junk,which is starting to break down because it wasn’t done right in the first place, twenty-seven years of that and you get a gold watch. Oh, and they don’tgive gold watches any more. Twenty-seven years and you get carpal tunnel syndrome. Now, at a product company, for example, if you’re a software developer working on a software product or even an online product like Google or Facebook, the better you make the product, the better it sells. The key pointabout in-house development is that once it’s “good enough,” you stop. When you’re working on products, you can keep refining and polishing and refactoring and improving, and if you work for Facebook, you can spend a whole month optimizingthe Ajax name-choosing gizmo so that it’s really fast and really cool, and allthat effort is worthwhile because it makes your product better than the competition. So, the number two reason product work is better than in-house work is that you get to make beautiful things.

 

Number three: when you’re a programmer at a software company, the work you’re doing is directly related to the way the company makes money. That means, for one thing, that management cares aboutyou. It means you get the best benefits and the nicest offices and the best chances for promotion. A programmer is never going to rise to become CEO of Viacom, but you might well rise to become CEO of a tech company.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值