【观点】如果你不是程序员 该如何雇佣程序员呢

简介: 导读:原文来自37signals.com,作者Matt发表的一篇《How to hire a programmer when you're not a programmer》。译文由国内整理编译为《如果你不是程序员,你怎么雇佣程序员呢》。

导读:原文来自37signals.com,作者Matt发表的一篇《How to hire a programmer when you're not a programmer》。译文由国内整理编译为《如果你不是程序员,你怎么雇佣程序员呢》。以下是文章内容:

如果你自己不是一位程序员,该如何雇用程序员呢?你需要注意一下几点:

1.他们有多坚持己见(固执)呢?

询问他们有趣的编程主题(如Ruby或Python?)。从他们回答的语调和推理中,可以得到很多信息。在我们最近一期节目中 ,杰夫说:“当人们对事情有强烈的见解,当他们可以大篇幅地谈论一些事情时,这就是一个很好的迹象,表明他们对这件事很有热情。”

2.他们为开源项目做了多少贡献?

看看他们的贡献。虽然你可能不是一个程序员,你仍可以知道他们是否写过一些代码。而事实上,一个人有所贡献,是一个良好的开端。“事实上,一直在贡献意味着他们正在使用这种工具,”Jamis说。“这就好比抓痒,就像他们接触到一些他们认为应该加以改进的程序,或接触到一个错误并且自己修复了那个错误。参与程度对程序员是一个很好的鉴别标准。”

3.他们有多享受编程?

他们不需要在自由时间的分分秒秒都去敲代码,但是你确实想看到一定程度的热情。Jamis说,“与其说在业余时间编码本身是最重要的事情,不如说它展示了你热情的态度和有自己的见解。”

4.他们真的掌控工作?(Do they actually ship?)

了解他们如何管理自己的工作。软件通常出小错误——了解他们如何避免这种情况。了解他们什么时候按时地完成了项目,并询问为什么这个项目是成功的。或从延迟项目中吸取了什么经验教训。“控制软件运行的能力是关键的,”据杰瑞米说。“他们是如何管理实际需要的任务并在一定的时间内完成,这是很重要的。”

5.他们掌握了什么?

皮克斯(Pixar)公司的兰迪·纳尔逊认为,能够掌控任何一件事意味着也能够掌控其他事。所以寻找那些掌控着一些事的人。候选人是一个优秀的厨师吗?或山地车选手?还是其他什么人物?”这是一个迹象表明他们也可以做您项目的主导者。“那是一种即使其他登山者几乎马上就要到达山顶,仍感觉我将要先到达山顶的感觉,”尼尔森说。“如果一个人在来到你工作场所之前都没有涉足,那么他成为工作的主导者的可能性也是很小的。”

6.他们的沟通能力如何?

你对编程了解的越少,你越需要依靠一个人去解释程序进度。这就是无论什么职位都要聘请大作家的原因,这是个好主意。例如,这儿有杰夫解释的在计划方案内Basecamp API人员更新到其他项目的例子:

我只是对Basecamp 和Companies APIs的人员进行更新调整。

我们现在允许客户和公司员工去接触通过项目认识的人和公司。在此调整之前,公司员工和客户只能看到对方使用的特定的项目ID。没有办法让他们看到在项目过程中参与的所有人(例如,同事)。

例如,如果API用户发出的请求,一个是鲍勃,另一个是吉尔,那么/ people.xml文件将返回给鲍勃和吉尔。如果请求的用户是管理员, 那么帐户中的所有的人都能收到。

这同样适用于公司管理。

如果一个程序员既能够编码,又能讲非程序员能听懂的的话,那么很多事情是不太可能出问题的。(编注:上面这6点,是招聘官需要知道的注意事项。关于在聘用程序员或开发人员的时候,需要问哪些问题,可以参见《如何面试程序员?》这篇文章。)

试用(Test drive )

如果可以,摈弃“全要或无用”的决策模式。雇用一个全职员工是一个很大很困难的决定。为小项目聘请员工,让他们在空闲时间完成这些项目,这种方式更容易为双方所接受。《Getting Real》 中的“浅尝辄止” 一文中谈到:

在雇佣任何人之前,先给他们一个小项目来考虑。我们就会了解他们对待这个项目是如何沟通,工作的,等等。当他们设计或者编写的时候,就会给你带来很多发现。你会相当快的学习,无论氛围是否恰当。

可以用日程安排来坚持这种方式,即使只需要20或40小时,也比什么都没有要好。适合或者不适合,都会显现出来。如果没有,那就是双方想要先测试工作而隐藏了自己的问题与风险。

仔细考虑一下,你能提供什么,并且如何才能让你的职位尽可能的吸引人,这也是个不错的主意。壶里的蜜越多,才会有越多的蜜蜂飞进去。(恩,不管怎样,可以肯定这不像一个东西放在那一样)在《Great Hackers / 伟大的黑客》中保罗点格雷厄姆提供了一份列表,关于如果吸引最优秀的程序员:优秀的开发工具、开源软件、带门的房间、一个感兴趣的问题和聪明的同事。如果你有其中的任何一项或者全部,确保让潜在的雇员能够了解到。

自己动手?

所有这些都会有所帮助,但是很显然,雇佣程序员最好的方法是你自己能至少了解一点编程。雇佣一份你从来没有做过的工作,真的是件很困难的事。因此,要在雇佣了那些人之后管理他们,格雷厄姆在他的《伟大的黑客》一书中有过如下讨论:

我看过关于如何管理程序员的一些文章。事实上有两种:一个是如果你是程序员,你该做什么,另一个是,如果你不是程序员,你该做什么。而第二种可以总结为两个字:放弃。

问题不在于日常管理。实际上,真正优秀的黑客(hacker)是自我管理的。问题是,如果你不是黑客(hacker),你就不会知道谁才是真正优秀的黑客(hacker)。

确定自己是否能在招聘员工之前了解一些编程技术。事实上,杰森在与DHH合作之前就已经开始学习PHP了。同样的,在我们当中有人学会如何配置服务器之前,37signals不会雇佣系统管理员。如此做来,你就会对寻找应聘者以及你想解决的问题有更深入的理解。

至于你在这过程中犯的错误,要记住,这就是“真正的”程序员的工作方式。“运行迭代感觉就像永远反复的错误校正”杰瑞米解释到。“这听起来很令人泄气,但这却是允许的。该死,甚至测试驱动开发也是反复的错误校正。所以,建议你应该先从自己做起。”

原文链接:How to hire a programmer when you're not a programmer

译文链接:如果你不是程序员,你怎么雇佣程序员呢

目录
相关文章
|
程序员 计算机视觉
事关每个程序员的职业规划与履历
今天,甚至过去,大多数人都是由自己来设计他们的职业生涯的。 无论你正要启程,还是已经奋斗多年,以下内容都会对您的职业生涯有所助益。
109 0
|
前端开发 程序员 pouch
程序员最重要的八种软技能
笔者在带团队的六年中发现,程序员们在职场都有一个共同的困扰:“好像写代码都没什么问题了,日常工作基本上都是应付业务需求的开发,好像找不到其他的更大的附加价值了,我应该找一些什么样的发力点才能让我的价值更突出呢?” 。笔者以为,这就是典型的硬技能当下「看似」没有什么问题了,瓶颈卡在了软技能上。所以开篇做个小分享,聊聊程序员的软技能。
41522 18
程序员最重要的八种软技能
|
分布式计算 算法 NoSQL
如果说程序员的硬通货是技术,那么软技能是什么?
程序员往往一心扑在编程技术上面,学习编程语言,算法,网络,自己子领域相关的知识等等。这非常正确,也是作为coder的核心竞争力所在,姑且称之为“硬技能”吧。 对于有一个程序员来说除了日常码代码之外,其实也需要很多编程之外的软件能,非专业上面的技能可以更好的展现你的情商,与人合作的能力等。
|
架构师 大数据 Java
程序员的职业规划!
在这个节点讲讲我对职业发展路径的理解,另外就是理一理脑子里的一些思路。过段时间再看此文又可能是另一番理解。很多路从后往前看的时候总会有遗憾,要是当初怎么怎么样就会怎么怎么样。导致这样的原因的第一个原因是人在做决策的时候由于各种不全导致了决策本身并不完美,即使当时完美可能后面看来也可能是不完美的,也有可能做出完全错误的决策(PS:如果孤立的讨论决策本身没有完全错误的决策,也可以认为是没有意义的)。
1050 0
|
程序员
程序员加班那么多,公司为什么就不多招几个程序员呢?
绝大部分的程序员都会存在经常加班的情况,至于为什么程序员加班这么多?
4950 0
|
Java 程序员 微服务
程序员,不甘平凡又害怕努力…
自由职业之后,我计划着或尝试着做了很多事情: 练习写作技巧 选定职业规划课题,深入研究 线下培训 企业内训 知乎Live 猎头 拆书 职业规划咨询 顾问 …… 我曾经很自豪地对我身边的人说,“我永远都在探索,我觉得能行的事儿,都会去试试。
1168 0

相关实验场景

更多