软件是最终产品
- 参与的项目是公司的主要业务,IT 支持等闲杂部门就算了;
- 偏好在核心业务部门工作,部门越重要越喜欢;
- 自行编写代码实现功能,而不是配置、整合其他的软件产品。
Nice 的同事
不怕 xxx,就怕猪一样的队友。和 Nice 的同事工作可以激发灵感,相互提高;一起讨论问题、方案能得到比自行解决更好的结果;保证更高的代码质量,同时也很享受过程。
何为优秀的程序员?
- 保持不断学习、提高技能;
- 人以类聚,优秀的程序员往往会吸引其他优秀的开发人员。
富有挑战性
程序员喜欢使用代码解决富有挑战性的问题。但是,一个软件产品中不可能都是富有挑战性的问题,除了一些技术难点以外,还包含许多普通甚至无聊的代码。此外,以有效的方式组织好那些无聊的代码、以便于理解和维护,这本身就是一个很大的挑战。
使用酷炫的技术
使用有趣的技术(如 Node.js、Go),以及相关框架、应用程序。
译者注:理想的技术不仅是好玩,还应该是对职业生涯发展有裨益的。
面向用户
编程的乐趣之一就是创建一些帮助别人解决问题的东西。做没人使用的产品是很蛋疼的事。让用户参与开发计划,并给出有价值的反馈。唯一例外是初创企业,开始没有用户,产品一旦上线以后,尽快获取用户是高于一切的事情。
丰厚的薪水
拥有许多优质程序员的公司懂得高质量程序员的价值。优质程序员和一般程序员的差异非常大,从经济学的角度而言更值得雇佣优质程序员——二者在生产效率上的差异远大于薪水差异。
对于不愿给程序员提供有竞争力的薪水、把程序员当作一种可交换「资源」的公司,应该避而远之。
有逼格的工作装备
工欲善其事,必先利其器。高配电脑(SSD、16G+ RAM)、多显能提高开发效率——没人反对吧?(目光短浅的秃顶老板可能会反对,只看到成本,没看到收益。)
译者注:为了程序员的健康,人体工学电脑椅也是必备的。
每周 40 小时
如果经常需要加班,那公司运营一定是有问题了。此外,工作时间长不等于有成效。
尽量减少官僚
对于开发流程,敏捷开发理论被普遍接受。过度管理在大公司的是比较常见的问题。
在家工作
有时能够在家工作很方便,但对于大多程序员来说不是一个很高的需求。
较短的通勤时间
每天在交通上花费太长时间是一种浪费。
译自What Do Programmers Want,有删减。
作者 Henrik Warne 是一个有超过 20 年工作经验的程序员。原文是作者对一个关于「程序员想要什么、公司如何吸引优质程序员」的调查的反馈。