作者: 阮一峰

日期: 2009年2月15日

Joel写过一篇文章,关于软件公司如何雇到优秀的程序员。

他说,软件公司的头等大事,就是找到第一流的人才。不同于其他行业,软件是一种纯智力产品,你有什么样的程序员,就有什么样的软件,这关系到软件公司的生死存亡。

Joel的论点之一就是,办公室一定要非常舒服、非常吸引人,这样才能打动第一流的人才,"否则他们就会去Google或微软"。

我们都知道,Google的办公环境简直是"宾馆+校园"。那么,能够同Google媲美的办公环境是什么样的呢?

去年11月,Joel的Fog Creek软件公司换了一个办公地点,这给了他一个实践自己观点的机会。在新办公室的设计过程中,Joel说他主要考虑两点:

1)有利于提高工作(编程)效率。程序员要思考很多东西,所以办公环境中所有令人分心的因素都要最小化,保证程序员能够集中注意力。

2)要有一大片开放的公共空间,供大家一起吃饭和举行集体活动,这样可以增进公司的凝聚力和归属感。

Joel在自己的网志上贴出了新办公室的照片。看上去很不错,连《纽约时报》都做了专门报道。

我挑了一些转贴在下面,希望自己以后也有机会在这样的环境中工作,呵呵。(图片较多,如无法显示,请多刷新几次。)

===================

1. 新办公室在纽约Broadway 55号。 这幢写字楼建于1983年,一共有32层,Fog Creek在第25层。这个地点属于纽约的下城区,距离中央公园5公里多一点。Joel没有透露新办公室的租金,只说租金占到公司年收入的10%。他还 说,纽约下城区写字楼的平均租金是每平方英尺每年52美元(上城区和中城区是95美元)。新办公室的面积一共有10700平方英尺(相当于1000平方 米),装修费用一共花了将近50万美元。

2. 写字楼在曼哈顿岛的南面,可以远眺海湾,看到自由女神像。

3. 公司的入口,装饰了几棵竹子。

4. 公司的前台,主色调是非常温馨的橘黄色。

5. 前台旁边,供访客休息的沙发。

6. 公司内部休息区的长沙发,工作累了,可以坐在这里闲聊。

7. 整个办公室的中央是一个大型水族箱。

8. 食堂供所有人一起吃饭和搞活动,Fog Creek目前一共有25个人。

9. 还是食堂,换了个角度。

10. 楼下就是百老汇(Broadway)大街。

11. 小型会议也可以在食堂中开。

12. 吃饭都是自助餐。

13. 吃饭的时候,所有人都在一起。

14. 咖啡吧。

15. 可以自己煮爱吃的。

16. 食堂的一端是投影仪和悬挂式屏幕,可以用来看电影、打电玩和唱摇滚。

17. 每个程序员都有一间独立的、可以关上门的办公室。这是Joel非常看重的,因为这样有利于提高编程效率。

18. 每个程序员都配备两台30英寸的显示器。工作台都是长条形的。

19. 工作场景。

20. 图书馆。你可以到这里来看书,也可以在躺椅上睡个午觉。

21. 围着整个办公室,有一圈木地板走廊。你可以在上面骑踏板车。此外,办公空间里铺着地毯,食堂中则是铺了大理石。

22. 小会议室。右一就是Joel。

23. 淋浴间。你可以骑自行车、或者跑步来上班,也可以出去打一场篮球,然后洗个澡,接着上班。

24. 卫生间。

(完)

[转]美国的软件公司是什么样?---- 以Fog Creek为例的更多相关文章

  1. 美国一家科技公司毕威拓(Pivotal)规定员工在早上9点06分准时上班,以提高工作效率。

    美国一家科技公司毕威拓(Pivotal)规定员工在早上9点06分准时上班,以提高工作效率. 据<英国广播公司BBC>报道,美国科技公司毕威拓(Pivotal)的员工每天都要在9点06分准时 ...

  2. 生意经:凡是现今比较会赚钱或是规模比较大的软件公司大都属于开发"消费型软件"的公司(而且登广告,应该定低价进行销售)

    c#之父是Anders Hejlsberg, 一个丹麦天才.他和idsoft的John Carmack都是自学成才的典范. 他对语言和汇编的理解全世界没几个人能超越. (今天偶然从网上了解到这个大牛, ...

  3. Atitit.研发管理软件公司的软资产列表指南

    Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...

  4. 4.2w起步的软件公司创业历程

    调查说,中国民营企业的生命期平均是2.8年,如今我的企业已走过近四年,而这一年却是我的迷茫期,不知道何去何从,现在写下 来与大家一起分享一下,写得较为凌乱,大家将就着看一下吧:) 先交待一下自己,我来 ...

  5. 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)[转]

    我一直在思考软件公司如何开源节流.当然,老板也在思考开源节流.当然,老板思考的开源节流在公司运营层面上,而我作为CTO,我考虑的则是在产品运营角度上来思考这个问题.否则,一个软件公司,它的生存与发展就 ...

  6. 报表软件公司悬赏 BUG,100块钱1个的真实用意

    上一篇文章我讲到,报表软件FineReport一反常态,做了个<提BUG,拿现金>的活动,1个BUG,100块钱.纵览软件行业,如金蝶用友浪潮IBM微软等国内外巨头,均没有这样的举动去征集 ...

  7. 数据分析 - 美国金融科技公司Prosper的风险评分分析

    数据分析 - 美国金融科技公司Prosper的风险评分分析 今年Reinhard Hsu觉得最有意思的事情,是参加了拍拍贷第二届魔镜杯互联网金融数据应用大赛.通过"富爸爸队",认识 ...

  8. 软件公司的两种管理方式 总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组

    软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有 ...

  9. 美国部分科技公司创始及IPO信息

    作者:Ben.Z 时间:2018-04-19 做这份统计表格的目的是为了更好地了解当下美国的IT发展,搞清楚那些耳熟能详的名词的来源. 原文是用WPS统计的,本文仅展示截图. 创始人年龄分析: 1.上 ...

随机推荐

  1. [原创]jQuery的this和$(this)

    网上有很多关于jQuery的this和$(this)的介绍,大多数只是理清了this和$(this)的指向,其实它是有应用场所的,不能一概而论在jQuery调用成员函数时,this就是指向dom对象. ...

  2. C# 仿制QQ弹出新闻消息框

    打开QQ的时候,QQ新闻弹出窗体在屏幕的右下角就会慢慢升起一个小窗口,占用的地方不大,可以起到提示的作用.下面就让我们来看看,怎样用系统API来轻松实现这个功能. API原型函数: bool Anim ...

  3. LFS7.4编译笔记(3)

    在第一部分,我们编译了一个工具链及临时系统,然后在第二部分我们chroot到/mnt/lfs下面,利用临时系统的工具编译了我们最终的LFS系统.不过此时,我们的LFS系统还是不完整的,因为我们还没有安 ...

  4. 反编译android应用,降低权限去广告及重新签名

    功能:反编译apk降低权限及重新签名 场景:很多软件,申请了一些可能会导致付费(如,发短信,呼叫号码)或者泄漏隐私(如:读取通讯录)的权限,让人很不放心.比如:飞信.墨迹天气.iReader等都在此列 ...

  5. 【JavaScript】XMLHttpRequest Level2使用指南

    XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信. 最早,微软在IE 5引进了这个接口.因为它太有用,其他浏览器也模仿部署了,ajax操作因此得以诞生. ...

  6. 对javascript this的理解

    对于this的理解,大部分时间都比较模糊,最近几天做了一些研究,记录一下 首先应该明白,this是执行上下文的一个属性,它的值取决于执行上下文,执行上下文和函数调用方式相关,定义一个function的 ...

  7. 线性表 及Java实现 顺序表、链表、栈、队列

    数据结构与算法是程序设计的两大基础,大型的IT企业面试时也会出数据结构和算法的题目, 它可以说明你是否有良好的逻辑思维,如果你具备良好的逻辑思维,即使技术存在某些缺陷,面试公司也会认为你很有培养价值, ...

  8. oracle 回车、换行符

    1.回车换行符 chr(10)是换行符,chr(13)是回车, 增加换行符 select ' update ' || table_name ||       ' set VALID_STATE ='' ...

  9. c# 方法参数(传值,传引用,ref,out,params,可选参数,命名参数)

       一.方法参数的类型----值类型和引用类型 当方法传递的参数是值类型时,变量的栈数据会完整地复制到目标参数中即实参和形参中的数据相同但存放在内存的不同位置.所以,在目标方法中对形参所做的更改不会 ...

  10. npm常用命令->nodejs

    npm install <name>安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本, ...