程序员的追求是什么?

上周我收到三位Halmstad大学学生的电子邮件,他们正在做一个为期三月的项目,内容是关于程序员在工作中追求的是什么,以及企业如何吸引有才华的程序员。下面是我对他们问题的答案,按重要程度排序。显然人们会有不同的偏好,所以我很有兴趣听到你们赞同哪些,反对哪些,重要性的评判,以及你们认为遗漏了的要点。

1. 做软件产品。 我希望我参与编写的程序成为公司的主要业务。这就排除了IT维护工作,因为这种工作只是间接地支持了真正的业务(不管它是什么)。我也希望参与系统核心部分的工作,越重要的越好。如果我做的东西出错了,它应该马上成为一个紧急问题。最后,我不愿意参与仅仅是配置、应用或整合其他公司的软件 — 我希望自己来实现关键性的功能。

2. 优秀的同事。 和对软件开发充满激情的聪明程序员一起工作是催人奋进的。我一次又一次地看到和同事一起谈论一些问题或设计是如何产生比我们任何一个人自己闷头想出来更好的思路的。这种合作方式不光是产生更好的代码,过程本身就是非常令人享受的。

你怎么知道某人是不是一个优秀的程序员呢?一个特别好的特征就是看他们是否持续学习和提高他们的技能,例如通过读书、看博客、参加培训课程、以及参加技术大会。这倒也不是一个必要条件,我就曾经和很多不干这些事的很棒的开发者共事。最后,优秀的开发者会吸引其他的优秀开发者,因为以上原因。如果一个企业有很多优秀的开发者,它就更容易招到更多的优秀开发者。

3. 挑战难题。 程序员通过代码解决问题。开发的产品起码在某些角度需要聪明的思路,比如低延迟、大量并发请求、或有限的硬件资源。不过,很多软件产品都是由常规代码组成,没有什么难做的部分。所以你也不能只是盼着做“困难问题”而避开其他的所有需求。而且,组织好那些看起来很无聊的代码,让它们容易理解和维护,这本身也是一个巨大的挑战。

4. 很酷的技术。

这主要是关于使用有趣的编程语言(例如Clojure、 Erlang 或者Go),但也包括框架和应用(例如Hadoop 或 Cassandra)。这可能是某些公司有问题的地方。如果它们的应用是用某个语言(比如C++)写的,它就不会改了。所以如果你想改用一些新的语言,你可能需要换个工作。例如,如果你在斯德哥尔摩想用Erlang,你可以给Klarna 或 Campanja公司投个简历试试。

5. 用户。

编码的乐趣之一是做出一些对别人有用的东西。做了东西却没人用就无聊了。要让用户(越多越好)关注你开发的努力并且给予有价值的反馈。唯一例外的可能是创业的时候,但是之后就要把吸引尽可能多的用户作为最优先的事情。

6. 不错的薪水。

拥有大量优秀开发者的公司懂得优秀人才的价值。因为优秀和一般程序员之间的差别是巨大的,所以报酬向优秀开发者倾斜在经济上是有道理的,其实在生产效率上的差别远大于薪酬上的差别。反过来说,那些不舍得给程序员较好薪水的公司往往把程序员看作是可以随意更换的“资源”。那么这些公司在其他 方面的表现恐怕也是你看不上的,不仅仅是低薪水。

7. 很好的工具。

这个因素的重要性几乎是不言自明的。一台快速的计算机和几个显示器可以加快开发过程 — 谁会反对这一点呢?(好吧,那些光看成本不看效率的秃头老板可能会反对)

8. 一周工作40小时。

如果你总是要加班完成任务,肯定是你工作的单位有一些问题。而且,长时间工作也不等于有效率。

9. 最少的官僚主义。

对于开发过程来说,或多或少会有敏捷开发方法的影子,看起来大家都采用了这种思路。根据我的体会,在大公司里日常管理的那些琐事基本上都是躲不开的问题。

10. 在家工作。

有时候能在家工作是有效的,不过我不常这么做。我喜欢在办公室里,和同事交流。我曾经通过视频会议、聊天工具和电子邮件在一个远程办公室工作,但这样的工作效率还是不如现场合作的高。

11. 离家近。

显然这不容易强求,但是能不用每天花几个小时在路上多好啊。

评论

如果你是咨询顾问(而不是程序员),这个列表上某些项可能会不一样。我总是愿意在产品公司工作,主要因为我喜欢深入了解系统,看着它随时间如何演变。所以我没有作为咨询顾问的第一手工作经验,不过我觉得是这样的:作为一个咨询顾问,你更容易接触到很酷的新技术,因为你有机会和很多不同的客户一起工作。但是,即使你有很棒的同事,你可能也不会每天和他们在一起工作,因为你们会被派到不同的客户那里去。

这就是我在单位里最看重的几个因素,按重要程度排序。在现实生活中总会打一些折扣,但越是列在前面的因素,我就越不愿意给它们打折扣。你看重的因素有哪些呢?

文章来自:http://developer.51cto.com/art/201303/387229.htm

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-07-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

如何才能成为成功的独立游戏开发者?

不久前我收到一封邮件,对方在邮件上问我“如何才能成为一名独立游戏开发者?” 虽然我的回复是全力以赴,但是我却不清楚他们真正寻求的答案是什么。我们经常会被问及类似...

4308
来自专栏CSDN技术头条

如何在3年内摆脱“普通程序员”标签

很多开发人员日常工作中接到需求直接动手开发,在开发过程中一边开发一边设计,特别是刚入职的程序员,大多数更是只注重功能的实现,接到需求后往往只是在脑中勾画一个大概...

663
来自专栏AI科技评论

在线教育Udacity创始人Sebastian Thrun谈人工智能,不会颠覆教育,却能帮助老师

大型开放式在线课程(MOOCs)利用互联网为无数人提供了远程教育课程,预计到2020年,整个行业价值将达到85亿美元(去年全球MOOCs市值大约为20亿美元)。...

3599
来自专栏VRPinea

语音控制化繁为简,让你在VR中的交互方式更自然

3908
来自专栏机器人网

软银联合Aldebaran推会取悦人的Pepper机器人

Aldebaran机器人的最新作品Pepper设计用于和人类共同生活。它不会搞清洁,也不会厨艺,但是它会交谈,可以移动,能够理解人类的情绪,并自动做出反应,“让...

2716
来自专栏web前端教室

有一种能力,从前端新人到老鸟都很需要,但却经常被忽视

<!-- 正确的选择,会有正确的结果吗? --> 随便你问任何一个前端学习者,“前端最值得学习的是什么”?我相信,他们之中95%以上都会回答你说,“当然是前端开...

1758
来自专栏华章科技

谷歌2016 I/O 大会:关于将发布新产品的九大预测

今年大会的重头戏可能会落在Android N、360度全景视频、增强现实与实时虚拟现实上。

481
来自专栏新智元

【I/O大会】Google Home今晚亮相,智能家居谷歌出牌预测

【新智元导读】《纽约时报》今日消息,谷歌有可能在即将举行的 I/O 大会上宣布进军家庭声控设备市场,推出一款叫 Google Home 的家庭语音控制设备。各大...

34712
来自专栏知晓程序

1.5 天,650 人,他们用小程序做了一场阅读实验 | 晓组织 #5

每周,我们都会邀请优秀的小程序开发者,从产品/开发/运营等角度,分享他的小程序实战经验。如果你想成为「晓组织」的一员,请发送邮件至 bigbang@ifanr....

381
来自专栏镁客网

NOLO VR张道宁:空间定位技术加持下的VR,是可以搞出商业价值的 | 镁客请讲

1040

扫描关注云+社区