还会有厂商的COO也是足以获得高每年工资,我们本来不提倡解聘职员和工人来表明那一个理论

图片 1

如果你自己不是一位程序员,该如何雇用程序员呢?你需要注意一下几点: 1.
他们有多坚持己见呢?

询问他们有趣的编程主题。从他们回答的语调和推理中,可以得到很多信息。在我们最近一期节目中
,杰夫说:“当人们对事情有强烈的见解,当他们可以大篇幅地谈论一些事情时,这就是一个很好的迹象表明他们对这件事很有热情。”
2.他们为开源项目做了多少贡献?
看看他们的贡献。虽然你可能不是一个程序员,你仍可以知道他们是否写过一些代码。而事实上,一个人有所贡献,是一个良好的开端。“事实上,一直在贡献意味着他们正在使用这种工具,”Jamis说。“这就好比抓痒,就像他们接触到一些他们认为应该加以改进的程序,或接触到一个错误并且自己修复了那个错误。参与程度对程序员是一个很好的鉴别标准。”
3. 他们有多享受编程?
他们不需要在自由时间的分分秒秒都去敲代码,但是你确实想看到一定程度的热情。Jamis说,“与其说在业余时间编码本身是最重要的事情,不如说它展示了你热情的态度和有自己的见解。”
4. 他们真的掌控工作?
了解他们如何管理自己的工作。软件通常出小错误——了解他们如何避免这种情况。了解他们什么时候按时地完成了项目,并询问为什么这个项目是成功的。或从延迟项目中吸取了什么经验教训。“控制软件运行的能力是关键的,”据杰瑞米说。“他们是如何管理实际需要的任务并在一定的时间内完成,这是很重要的。”
5. 他们掌握了什么?
皮克斯公司的兰迪·纳尔逊认为,能够掌控任何一件事意味着也能够掌控其他事。所以寻找那些掌控着一些事的人。候选人是一个优秀的厨师吗?或山地车选手?还是其他什么人物?”这是一个迹象表明他们也可以做您项目的主导者。“那是一种即使其他登山者几乎马上就要到达山顶,仍感觉我将要先到达山顶的感觉,”尼尔森说。“如果一个人在来到你工作场所之前都没有涉足,那么他成为工作的主导者的可能性也是很小的。”
6. 他们的沟通能力如何?
你对编程了解的越少,你越需要依靠一个人去解释程序进度。这就是无论什么职位都要聘请大作家的原因,这是个好主意。例如,这儿有杰夫解释的在计划方案内Basecamp
API人员更新到其他项目的例子: 我只是对Basecamp 和Companies
APIs的人员进行更新调整。我们现在允许客户和公司员工去接触通过项目认识的人和公司。在此调整之前,公司员工和客户只能看到对方使用的特定的项目ID。没有办法让他们看到在项目过程中参与的所有人。
例如,如果API用户发出的请求,一个是鲍勃,另一个是吉尔,那么/
people.xml文件将返回给鲍勃和吉尔。如果请求的用户是管理员,
那么帐户中的所有的人都能收到。这同样适用于公司管理。
如果一个程序员既能够编码,又能讲非程序员能听懂的的话,那么很多事情是不太可能出问题的。
试用
如果可以,摈弃“全要或无用”的决策模式。雇用一个全职员工是一个很大很困难的决定。为小项目聘请员工,让他们在空闲时间完成这些项目,这种方式更容易为双方所接受。《Getting
Real》 中的“浅尝辄止” 一文中谈到:
在雇佣任何人之前,先给他们一个小项目来考虑。我们就会了解他们对待这个项目是如何沟通,工作的,等等。当他们设计或者编写的时候,就会给你带来很多发现。你会相当快的学习,无论氛围是否恰当。
可以用日程安排来坚持这种方式,即使只需要20或40小时,也比什么都没有要好。适合或者不适合,都会显现出来。如果没有,那就是双方想要先测试工作而隐藏了自己的问题与风险。
仔细考虑一下,你能提供什么,并且如何才能让你的职位尽可能的吸引人,这也是个不错的主意。壶里的蜜越多,才会有越多的蜜蜂飞进去。在《Great
Hackers
/伟大的黑客》中保罗点格雷厄姆提供了一份列表,关于如果吸引最优秀的程序员:优秀的开发工具、开源软件、带门的房间、一个感兴趣的问题和聪明的同事。如果你有其中的任何一项或者全部,确保让潜在的雇员能够了解到。
自己动手?
所有这些都会有所帮助,但是很显然,雇佣程序员最好的方法是你自己能至少了解一点编程。雇佣一份你从来没有做过的工作,真的是件很困难的事。因此,要在雇佣了那些人之后管理他们,格雷厄姆在他的《伟大的黑客》一书中有过如下讨论:
我看过关于如何管理程序员的一些文章。事实上有两种:一个是如果你是程序员,你该做什么,另一个是,如果你不是程序员,你该做什么。而第二种可以总结为两个字:放弃。
问题不在于日常管理。实际上,真正优秀的黑客是自我管理的。问题是,如果你不是黑客,你就不会知道谁才是真正优秀的黑客。
确定自己是否能在招聘员工之前了解一些编程技术。事实上,杰森在与DHH合作之前就已经开始学习PHP了。同样的,在我们当中有人学会如何配置服务器之前,37signals不会雇佣系统管理员。如此做来,你就会对寻找应聘者以及你想解决的问题有更深入的理解。
至于你在这过程中犯的错误,要记住,这就是“真正的”程序员的工作方式。“运行迭代感觉就像永远反复的错误校正”杰瑞米解释到。“这听起来很令人泄气,但这却是允许的。该死,甚至测试驱动开发也是反复的错误校正。所以,建议你应该先从自己做起。”
译文出处:伯乐在线 – 职场博客 译文链接: 原文作者:Matt 文章推荐:关关
翻译:伯乐在线 敏捷翻译组 – **魏哲**

大家好,感谢收听【程序员·随身听】。

第八章 人事安排

编程是一个智力劳动,智力的高低是很容易区分出来的,在一起共事久了你很容易发现,谁谁谁的编程能力比较强接受新事物比较快。但是智力的产物又是很难测量的,你不能按代码的行数或者修改Bug的数量来给程序员做绩效吧?

这一期说一说《黑客与画家》。

第一节 推迟招聘,减少招聘

降低招聘速度,迅速发展

没有必要在早期就急着做大。即使你能够获得 100
个非常优秀的员工,一次性把他们都揽至麾下也是个坏主意。你无法迅速地把那么多人都融入一致的文化。你要为培训的事情头疼,面对性格冲突,沟通失效,员工的方向不一致,等等。

所以不要急着招聘,尝试另一个途径。这些困扰你的工作真的是必须的吗?如果你不做会怎样?通过使用一些软件或改变一下做法,能否解决这个问题?

每当杰克·韦尔奇要开除一些人,他并不急于马上找到替代者。他想看看,没有这个人和这个职位,一切是否能够正常运转。我们当然不提倡开除员工来验证这个理论,但我们相信他在某些方面是对的:你并不需要这么多的员工。

如果没有其它的途径,那么可以尝试招聘。但是你要准确地知晓需要什么样的人,如何向他们介绍当前的工作,以及你迫切希望他们来解决什么问题。


布鲁克斯定律

给一个进度落后的项目增添人手会让进度落后的更多。

—— Fred Brooks


编程与莫扎特的安魂曲

一个优秀的程序员解决一个单一的任务,不存在沟通开销。五个程序员解决相同的任务,需要合作和沟通。这需要花费更多的时间…与几个优秀的程序员相比,雇佣许多平庸程序员的问题在于,无论花多少时间,他们也无法创造出同样优秀的产品。五个平庸的作曲者永远也无法写出莫扎特的安魂曲,即使工作
100 年也不可能。

—— Joel Spolsy, 软件开发者, Fog Creek
Software (from
唱高音
)

我刚开始工作时候,觉得自己的技术还能行,别人用两天完成事情,我可以用一天,所以我就常常想为什么不把那个用两天的程序员给辞了并把他的工资和工作量都给我,我还是可以在相同的时间把项目做完。这样,我因为获得肯定和更大的利益会更卖力的工作,工作效率会更高,公司虽然给我提高了工资(假设我们工资一样,那已经double了),但却获得更高效率的产出和减少一个人的人力资源成本(如社保、公积金什么的)。而且《人月神话》不也支持我的看法吗:项目每多一个人就会增加更大的沟通成本。

很早就知道《黑客与画家》这本书,以为是算法的指导型说明,当时怕吃不透,就没看。读了之后才知道,是一本文集,通俗易懂,让人忍俊不禁。我读的是阮一峰译的,当时还很吃惊,因为那大概是我第一次读一本外文书籍,竟然认识译者,阮大大的有几篇博文,我是拜读过的,深入浅出,受益匪浅。

第二节 快速检验

对新职员进行抽查测试

简历、代码案例、过往的工作经验是一回事,能否在实际工作中与之共事是另一回事。只要可能,让新员工进行一些“测试”。

在我们雇佣任何人之前,会先给他一些小项目。看看他们是如何处理项目,与人沟通,看看他们是如何工作的。这能让你收获很多观察结果,你很快就会知道是否选对了人。

你可能没有足够的时间做这些,但只要 20 或 40
个小时就够了,总好过不做。无论结果好坏,你很快就能察觉。如果不合适,可以为双方都节省一些麻烦和风险。


从小开始

从一个小型测试任务开始。不要把你所有的工作都放进来。给你的新同事以两个测试项目,看看能产生怎样的化学反应。一开始,你的过于乐观可能会掩盖一些问题,弄清楚这是一个测试就行了。

—— Suzanne Falter-Barns, 作家/创意专家, (from How to Find and Keep
Perfect
VA)

《人月神话》是布鲁克斯所写的一本软件项目管理名著,所谓“人月”就是一个人在一个月内所能完成的工作量。假如某个项目评估需要12个人月,那么4个人做这个项目理论上需要3个月,用6个人做这个项目则只需要2个月。但是,实际情况却不是如此,或者在在计算机软件行业这个换算根本行不通,所以这是一个神话。因为软件项目是交互关系非常复杂的工作,需要大量的沟通成本,人力的增加会使沟通成本急剧上升,反而无法达到缩短工期的目的(而且在实际中我们发现,人力的增加还会引入更多的BUG)。

书是硅谷创业之父Paul
Graham(保罗·格雷厄姆)的文集,主要介绍优秀程序员的爱好和动机,讨论他们的成长、对世界的贡献、以及编程语言和工作方法,有助于我们理解当时的编程环境,互联网行业的规则和那个时代。

第三节 行动,不要空谈

通过对开源项目的贡献来判断技术人员的招聘

技术岗位的传统招聘方法是基于学位或简历,这是一个很蠢的方法。一个人的学位或
GPA 分数真的重要吗?你真的能相信一份简历吗?

对于需要招聘技术人员的人来说,开源是一个礼物。通过开源项目,你能在过去很长的一段时间里追踪一个人的工作和贡献,无论好坏。

这意味着你能通过一个人的行动而不是言语来判断他的能力。你可以基于一些真正重要的东西来做决定:

工作的质量
很多程序员只能嘴上谈兵,没有真本事。通过开源项目,你能了解到他的编程和实践能力。

文化观
编程是关于决策的,无数的决策。你的文化观、价值观和理想会指导你的决策。

激情
要投入开源项目必须是有激情的。否则为何会花这么多时间在屏幕前呢?对开源的投入程度可以看出一个人对编程的热情。

完成率
如果无法把事情做完,任何的聪明才智、价值观、热情都没有价值。不幸的是,很多程序员都不行。

社交匹配
与某些人工作很长的一段时间,有放松和紧张,有高潮和低谷,这些都能展现出他们的真实人格。如果某人缺乏社交技能,他们就会被筛选出去。

对于程序员,我们只招聘通过开源项目认识到的人,其它的任何途径都是不可靠的。我们雇佣了
Jamis ,因为我们关注了他对于 Ruby
社区的参与。他在以上提及的任意方面都表现优越。我们无需考虑其它的次要因素,只要凭借那些真正重要的东西就行了,那就是他的实际工作质量。

不要担心这些业余项目会影响员工对主业的热情和精力。就像一句老话所言:最忙的人,效率往往是最高的。Jamis
和 Daivd 是对 Rails 项目贡献最大的人,却依旧管理并驱动 37signals
的技术发展。那些热爱编程并能够把事情搞定的人就是你的团队真正需要的人。


开源热情

你最希望从一个新员工那里获得的就是他对工作的热情,在开源项目中的工作就是最好的表现方式。

—— Jarkko Laine, 软件开发者, (from
降低风险,从开源项目招人)

在一个公司里,优秀程序员的产出能10倍高于普通程序员并不算很稀奇的事,我想很多人都遇到过这样的情况。那假设你就是那个优秀的程序员,为什么你这么高的产出并没有得到相应的高回报呢?不说10倍于普通程序员的工资,有时候你的工资还不如普通程序员高,对吧。

1964年,保罗·格雷厄姆出生于匹兹堡郊区的一个中产阶级家庭。父亲是设计核反应堆的物理学家,母亲那时当家庭主妇。

第四节 全才##

寻找能够快速学习的通才,而不是顽固的专才

我们永远不会雇佣一名信息架构师,因为这过于具体了。像我们这样的小团队,雇佣这样一个技能如此专一狭窄的人是没有意义的。

小团队需要多面手。你希望设计师能写文案,程序员能懂设计。每个人都应该对信息架构有些想法。每个人都应该有集体意识,每个人都需要和客户沟通。

每个人都要有意愿并能够随时做出改变。牢记住小团队经常要迅速改变方向。你需要能够快速学习,迅速改变的人,不是困于原地只能做一件事的人。

如果从公司的层面说,原因是因为公司无法对你的贡献进行量化。是的,公司不能用代码行数,不能用修改Bug的数量,不能用你写出的优美代码来衡量你的贡献,不像生产商品的车间,可以通过你做的件准确地计算你的产量,那么你的产量就是你对公司的贡献。

青少年时代,格雷厄姆就开始编程。不过,他的爱好驳杂,这在编程高手中是很少见的。中学时,喜欢写小说,进入康奈尔大学后,主修哲学,后来发现哲学很难理解,于是研究生阶段去了哈佛大学计算机系,主攻人工智能。

第五节 热情无法伪造

快乐而平凡胜于沮丧而伟大

热情,是你无法伪造的。当你需要招聘时,别指望找到一个大师或是技术明星。通常,他们仅仅是明星而已。一个平凡但快乐的员工要好于一个不高兴的专家。

寻找富有激情的人。那些你相信能够独立完成工作的人。那些深受大公司病折磨而想寻求新环境的人。那些对你想做的事感到兴奋的人。那些对你讨厌的事一样深恶痛绝的人。那些渴望与你同行的人。


为提问加分

观察候选人是否对你的项目提出很多问题。有激情的程序员想尽可能了解问题,并迅速提出可能的解决和改进方案,这会产生很多疑问。随着你深入的挖掘,你会感受到一个人是否在文化上匹配你的公司。

—— Eric Stephens,
BuildV1.com

做为开发,很多人还会对软件销售的高收入表示不满,之前和公司的销售在上海一起参加公司培训,发现他们一年交的个人所得税都高于我们的年薪。软件是我们程序员实打实一句一句代码敲出来的,最后为什么光是动动嘴皮子的销售拿到高收入呢?也很简单,因为从公司的层面来说,销售的对公司的贡献是可以量化的,他们卖出多少套软件都可以精准地记录下来,公司只需要按一定的比例给他们提成就行了,皆大欢喜。还有公司的CEO也是可以拿到高年薪,就是因为他们对公司的贡献很容易测量,公司业绩和发展的好坏直接和CEO挂勾。

他在这个方向上进展不顺利,因此对学术感到灰心。但是,作为研究工具的Lisp语言,对他日后产生了重大影响。博士读到一半,他又去哈佛艺术系旁听。拿到博士学位后,他报名进入罗德岛设计学院暑期班,学习绘画课程,梦想成为画家。

第六节 语言大师

雇佣一个好的写作者

如果一个岗位有几个候选人,永远考虑那个拥有更强写作能力的人。无论这个人是设计师、程序员、市场或销售人员,写作能力总是可以带来回报的。有效、简洁的写作能带来有效、简洁的代码、设计、邮件、即时通讯等等。

因为一个好的写作者不仅是擅于文字。他们知道如何沟通,他们让事情变得更容易理解。他们可以换位思考。他们知道该忽略哪些内容。他们的思考方式清晰。而以上这些都是你需要的品质。


有组织的思维

优秀的写作技巧是一个思维有组织的外在体现,这种思维方式能够以系统化的方式组织信息,帮助人们理解事物。它能够影响到代码、个人沟通、即时通讯,甚至是一些如专业主义和可靠性这样晦涩的概念。

—— Dustin J. Mitchell, 开发者 (from Signal vs.
Noise)


清晰的写作带来清晰的思维

除非你能将知识表达出来,否则你就没有完全理解。优秀的写作很大程度上是性格的一部分。做一些让读者更轻松的事,而不是让你自己更轻松。

—— Michael A. Covington, 乔治亚大学计算机科学教授 (from
如何更清晰地写作,更清晰地思考,以及更容易的学习复杂的材料)

当然,光可以测量还是不够的。比如血汗工厂的工人产出可以测量,但他们的收入并不会太高,最多也就是2倍(还可能累吐血)。要获得高收入,还有一个必备条件就是可放大性。所谓的可放大性,就是你做出的决定(或者你的产出)能够产生重大的效应。公司的CEO就明显符合这两点。

上完暑期班,他去了欧洲,在有500年历史的佛罗伦萨美术学院继续学习绘画。第二年,钱花完了,他不得不返回美国,在波士顿的一家创业公司担任程序员。那时是1992年。

所以,要致富,你需要两样东西:可测量性和可放大性。

此后的两三年,格雷厄姆一直过着一种动荡的生活。他栖身于纽约一间极小的公寓,追求自己的艺术梦想,但是收入低而且不稳定,日子过得非常窘迫。他不得不经常替别人编程,赚取一些生活费。

那么做为一个程序员,怎么才可以让自己获得这两样东西呢?很明显,在一个大公司里做程序员,那怕你很优秀,你的贡献也会被平均。所以越大的团队,其实越不利于你获得高回报。《黑客与画家》的作者保罗·格雷厄姆说,这个团队越小越好,最多也不要超过10个人,不然优秀的程序员会被很多贫庸人平均掉他的高产出。而团队很小的话,而且如果大家都很优秀的话,优秀的你也不会在意和其他优秀的人一起平均。所以保罗很推崇小的互联网创业公司,认为你在里面工作很容易获得可测量性和可放大性。

终于有一天,格雷厄姆觉得不能再这样继续下去了。他后来回忆说,“我决定不当画家了,首先要彻底解决自己的收入问题。”

图片 1

相关文章

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图