一个公司愿意付给一个开发人员6万~10万美元的薪水,却用糟糕的工作条件以及破烂的硬件设施摧残他,这对我来说是难以置信的。不管怎么说,这买卖一点都不划算。然而,我却总能看到这样的事情。这让人很震惊,竟然有这么多公司依然没有为软件开发者的成功提供必要的基础条件。
我提议,我们应该制定一个针对嵌入式软件工程师的《权利法案》,以防止公司拒绝给嵌入式软件工程师提供取得成功所必需的基础条件,最终达到保护嵌入式软件工程师权利的目的。
【译者注:《权利法案》,又译《人权法案》(英文:TheBillofRights),指的是美国宪法中第一至第十条宪法修正案。权利法案包括了言论、新闻、宗教与集社等方面的自由与权利。权利法案也向美国人民保证,法案中所列出的权利并不是美国人民所能够享有的全部权利,而仅仅是人民所拥有的最重要的权利。】
1. 每个嵌入式软件工程师都应该有两个显示器
在LCD价格跳水以及双输出的显卡如此普及的情况下,如果你还把你的开发者限制在一个屏幕上,那你一定是疯了。通过把电脑桌面双倍扩大可以获得生产力的提升,这已经被充分论证过了。如果你想把开发者的生产力发挥到极致,请确保每个开发者都有两个显示器。
2. 每个嵌入式软件工程师都应该有一台快速的电脑
嵌入式软件工程师必须运行很多软件才能完成他们的工作:开发环境、数据库引擎、网络服务器、虚拟机,如此等等。运行所有这些软件需要一台快速的电脑,再配上很多内存。嵌入式软件工程师的电脑越快,他们每次编译、调试的周期就越短。我不是让你当“发烧友”,花天价去购买最新、最顶级的配置——但是,你也得向高配置看齐吧。给你的开发者配备快速的、带有很多内存的电脑吧。眼巴巴地盯着进度条等待绝对是一种浪费!
3. 每个嵌入式软件工程师都应该自己选择鼠标和键盘
在大学的时候,我经营过一个代客油漆的业务。我雇用的每一位油漆工都需要他们自己购买刷子。这是我早期积累的经验之一。将一把标准的刷子扔给一位新的油漆工是行不通的。这些“公司标配的”刷子不被爱惜,很快就会沦落到破损不堪的状况。但是,那些自己买刷子的油漆工很珍惜他们的刷子。他们懂得欣赏花20美元买来的专业刷子与那些从一元店里买来的一次性刷子之间的差别。拥有自己的刷子让他们产生一种持久的责任感和手艺人的感觉。嵌入式软件工程师应该和他们的鼠标以及键盘保持一种相同的关系——它们是我们用来实践我们手艺的最基本的日常工具,我们应该加以善待。
4. 每个嵌入式软件工程师都应该有一把舒适的椅子
别小看这个问题!很大程度上来说,我们靠屁股每天坐上8个小时来谋生。为什么不在一把舒适的、设计优良的椅子上度过那8小时呢?要坐8个小时啊,仅仅给嵌入式软件工程师提供勉强过得去的椅子是不够的,要让他们坐得愉悦才行!当然,你雇用嵌入式软件工程师主要是为了他们聪明的脑袋,但是也别忘了照顾他们的其他重要部位。
5. 每个嵌入式软件工程师都应该能快速接入互联网
任何东西只要能“偷”来的,好的嵌入式软件工程师从来不会自己去写。互联网是有史以来“偷”东西的最佳去处。我完全赞成“读万卷书”,但如果没有快速响应的互联网搜索、不能弹指间找到我想要的东西,很难想象我是否还能正常开展工作。
6. 每个嵌入式软件工程师都应该有安静的工作环境
编程需要全神贯注。嵌入式软件工程师在一个嘈杂的环境里是没法高效工作的。请确保你的工作环境能够保护嵌入式软件工程师的“心流”状态,否则他们宝贵的时间将在各种干扰之下消耗殆尽。
译者注:心理学家米哈里齐克森·米哈里(MihalyCsikszentmihalyi)将心流(flow)定义为一种将个人精神力完全投注在某种活动上的感觉;心流产生时会有高度的兴奋及充实感。
我们要求的这几个基本权利是容易办到的。这些要求并不过分,但它们对于软件开发者工作生活的质量起着关键性的作用。如果你所在的公司在这方面做得不好,那就改善一下吧,这既不需要大量的资金投入,做起来也并不难。