写点什么

特定的技术知识对于招聘开发者重要吗?

2007 年 8 月 08 日

在这个招聘广告中充斥了热门技术名词的时代(有时候对一项技术的经验要求还比这项技术存在的时间长), Dan Creswell 发现了一份有趣而特别的 Amazon 招聘高级研究工程师的广告。Dan 问道:

注意到什么有趣的地方了吗?没错这是在招聘相当重要的分布式系统工程师,再仔细看看。你看到里面有提到一丁点技术吗?J2EE?JavaScript?Ruby?没有,对吧?这多奇怪呀?你见过哪个职位要求是像这样的吗?懂不懂 JBoss 或者 Websphere、Java 或者 Erlang 或者 Ruby 真的那么重要吗?

尽管不是每个人都能够直接在 Werner Vogels(Amazon 的 CTO)手下工作,Dan 反思了软件行业目前的情形:

就我最常看到的职位要求,其中的关键就是要雇用一个不管用什么工具坐下就能疯狂编程的工程师。为了达到这个目的,这些公司在职位要求里塞满不切实际的技术要求,然后在面试的时候问些语法和 API 调用的细节。但如果公司的下一个项目要使用其他技术又怎么办?刚刚雇佣的这些工程师一下就没用了,他们没有新项目需要的技能,等他们学习又浪费时间。或者我们应该炒掉他们重新雇佣一批新的?

我们为何会落入如此境地?

很多年以前,大学里的计算机科学课程关注的是深入计算机科学底层的原理,但这个传统似乎正逐渐衰亡。许多人认为这对我们这一行是个威胁。Joel Spolsky 曾经写过一篇文章叫作《Java 学校的咎由自取》,里面讲述了他在宾州大学学习 Scheme 课程的经历:

……我看到很多甚至大多数学生都过不了关。资料太难了。我给教授写了一篇信,诉苦说这太不公平了。大概学校里什么人接受了我(或者哪位诉苦的同学)的意见,因为这门课现在用 Java 来教了。

我宁愿他们当初不要听我的。

现在 Joel 搞招聘的时候,他看到了硬币的另一面,他意识到许多开发者根本就不知道什么是函数式编程(Functional Programming)、递归、或者 Lambda 演算,这些对解决真实世界的问题仍然非常有用的概念。

不理解函数式编程,你就不可能发明 MapReduce,这个让 Google 得以支撑海量规模的算法。

他们甚至很难理解指针。

我坦率地承认现今 90% 的代码都不需要用到指针来编写 [……] 但对于一些最激动人心的编程工作来说,指针仍然是重要的。如果不能彻底理解指针,你连 Linux、或者任何操作系统的一行代码都没法看懂。

Joel 作结说:

我无法理解为什么计算机科学院系课程委员会的教授们要把他们的课程的难度降低到这种程度,不但没法培育出合格的程序员,连能拿到博士学位跟他们竞争教授职位的合格 CS 研究生都培育不出来。

业界在抱怨学校没给学生传授业界需要的东西(即目前最热门的技术)。学校就更改课程来取悦业界,但在这个过程中一些比较困难的部分被丢掉了。当企业招募这些学生,这些没有像以前的学生那样学过各种不同思维方式的学生的时候,如 Dan 所写,下面的情形就司空见惯了:

当然多半的情况是,这些公司确保他们不使用新技术。他们强迫新项目采用以前用过的相同技术。这是设计上的灾难,因为技术不再服从设计和软件需求的需要。按照这种坐下就能编程的信条行事的公司里只有死路一条,毫无职业前途可言。

最后,当公司变成一家 Java 公司或者.NET 公司,需要招募更多开发者的时候,要想招募到具有相应知识的人是很容易的

查看英文原文: Does specific technology knowledge matter when recruiting?

2007 年 8 月 08 日 11:55368
用户头像

发布了 225 篇内容, 共 49.1 次阅读, 收获喜欢 30 次。

关注

评论

发布
暂无评论
发现更多内容

第八章作业

流浪猫

第八章作业 - 用户路径

Au revoir

文档是给未来自己的珍贵礼物

steve_lee

文档

C++后台开发必看,这个学习路线必须收藏

赖猫

c++ Linux 后台开发 服务器开发

产品经理训练营--第9周作业

月亮 😝

互联网HR黑话指南

硬核编程

【Axure9百例NO.46】中继器多条件判断的优雅处理

zhuchuanming

原型设计 Axure 交互原型

双非渣硕的我是如何拿到字节跳动研发岗SP

拓跋阿秀

c++ 字节跳动 互联网 计算机 校园招聘

软件工程是否可以指导小团队的建设

风翱

软件工程 3月日更

Python救救我!如何连接串口实现一个报警灯报警器

ucsheep

Python websocket 串口 报警器 报警灯

华为与开发者的“情谊”,在HDC.Cloud 2021上书写智能时代新篇

脑极体

Flutter 中与平台相关的生命周期

老孟Flutter

flutter

第9周作业

Geek_72d5ab

墨迹天气成长中心页用户路径分析(模拟)

🙈🙈🙈

极客大学产品经理训练营

[老孟Flutter] Stateful 组件的生命周期

老孟Flutter

flutter

产品经理训练营 - 第八章作业

joelhy

产品经理训练营

能进BAT、TMD的C++学习过程大分享

拓跋阿秀

c++ 字节跳动 计算机 BATJMD

图论--网络流最大流问题

风骨散人

ARTS-Week-0

绝影

ARTS 打卡计划 ARTS活动

如何提高Flutter应用程序的性能

老孟Flutter

flutter

数据分析(第八章作业)

Deborah

JavaEE知识体系梳理

空城机

Java Java介绍 Java EE 大学作业

一份百投百中的计算机校招简历是如何迭代足足26版的?

拓跋阿秀

c++ 字节跳动 计算机 简历 校招

产品经理面试常见问题总结 3

lenka

3月日更

再推荐一款小众且好用的 Python 爬虫库 - MechanicalSoup

星安果

Python 自动化 爬虫 MechanicalSoup 小众

作业 - 第九周

eva

6年时间,从实习生到阿里巴巴的P7,这就是我这个三本生的进阶之路

神奇小汤圆

Java 编程 程序员 架构 面试

推荐几本 Go 相关书籍

roseduan

go 书籍推荐 Go Concurrency Patterns Go web 书籍

操作系统--死锁避免(银行家算法)

风骨散人

银行家算法

产品 0 期 - 第九周作业

vipyinzhiwei

如何判断自己是否适合当前公司?

石云升

离职 28天写作 职场经验 3月日更

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

特定的技术知识对于招聘开发者重要吗?-InfoQ