下面的这个清单是我和一些行业的熟人,在众多大的科技公司里工作后,一起收集汇总出来的一些特征。我们的工作经历多样而广泛,从财富50强企业到硅谷创业公司,从全新到代码库到30年的老古董。
下面的这些特征,不仅是对我们,我想对广大的软件开发者也都代表了一个非常理想的工作环境。虽然很多的公司会认为清单上的这些做法是不可能接受的,但如果争取向这种理想的情况靠近,我们相信很多的程序员,包括我自己,都会希望为你工作:
- 向开源社区捐赠力量。
- 允许程序员用自己的电脑开发。无法做到这一点通常意味着一个过度耦合的开发环境。
- 不需要依赖具有专利的通信协议:你们的Microsoft Exchange server无法支持 Linux 或 OS X 吗?你们的文档需要使用 Microsoft Office 或 Pages for Mac 吗?
- 允许程序员去选择无薪休假:一年中指定的那几天有薪假期真的很有价值吗?
- 具有一个条理整洁的代码库:考虑转换成一种面向服务的架构,会对你有帮助。
- 优先分配时间来重构/偿还技术债务或其它不能直接产生经济效益的事情,如果有技术债务,应该在文档上记录,并尽可能的消除。
- 不使用一个“自己定制的框架”或不正确的实现的开源框架:用Stack Overflow应该能够解决大部分的代码相关的问题。
- 不是一个“市场驱动型”公司
- 不武断地设定最后期限:“周二前我们必须做出这个功能,届时我们要群发邮件通知!”
- 抛弃最简化可实行产品:相信我,那是有问题的,丢掉它后你会更快乐。
- 不要求员工必须待在办公室里,例如,可以在咖啡馆或在家办公。
- 应该按功行赏,而不是按工时或工龄。
- 在涉及会严重影响程序员的决策时首先考虑程序员的意见。
- 根据程序员的喜好分配工作任务。
原文:thomashunter.name / 编译:外刊IT评论