为什么新人不会编程 -欧洲杯足彩官网

39顶
22踩

为什么新人不会编程

2011-06-20 10:54 by 见习编辑 jobbole 评论(45) 有27253人浏览

  我们都生活在一个这样的噩梦中:一个新手开发人员前来工作,你欢迎他的参与,却发现他达不到你对进度的要求,而且他的提问也显示出他对基础知识的无 知。即使他最终把工作完成了,编写的程序也很笨拙,需要更能干的人从头重写。然而录取他的面试官们或人力资源部门(如果你的公司中也有这种官僚体制的寄生 虫的话)却信誓旦旦地表示,他们只聘用精英人才。

  这是一个大问题,尤其是现在,有愈演愈烈的趋势。每天我都从招聘人员那儿收到骚扰邮件,每个it公司都极度渴望聘请程序开发者,但是优秀的程序员是不可替代的。一个可以轻易完成相当于一个平庸的程序员五十倍的工作,而拙劣的程序员最终只会产生消极的生产力(参见《》)。因此,对任何公司来说雇佣这样的人都 是一个可怕的错误;对新创公司来说,这简直就是具有毁灭性的公司杀手。既然这样,为什么这种情况出现得如此频繁呢?

  就如同有很多残留问题困扰着现代软件工程一样,这都是微软的错。当微软还是一个人人都暗自想去工作的邪恶帝国时,就以用令人绞尽脑汁的问题面试而著名。例如:为什么井盖是圆的?当然,他们也问刚毕业的大学生一些关于计算机科学理论的问题,如:请写一个二分查找程序。

  每个it公司都希望能像微软一样,甚至google也这么希望过,直到目前大家都想成为google这样的公司。因此这种相互模仿的面试传统就延续 了下来。看看这两个关于面试问题的最新信息,一个来自准员工,一个来自google面试官。这里引用了两句google面试官说的话,很有启发性。“我甚至不必说这是一个 很好的标准。”和“如果 有任何值得欣慰的地方,至少我们再也不问复杂的谜语问题了,那个实在是相当令人反感。”

  令人高兴的是,google似乎有点意识到他们的招聘方法存在问题,可惜的是他们没有设法解决。jean hsu也撰文表明她对效用的疑问。根本问题是,目前通过行业标准化的软件面试所需要的技能并不是一个优秀的软件开发人员所需要的技能,或许这其中有某些相关性,但这个相关性就跟奥克兰突袭者队挑选出跑得最快的人,却无尽沮丧地发现国家橄榄球联盟并不是一个跑步比赛是一样的。

  事实上更糟糕。因为至少接球员是需要跑的,而我却可以无所畏惧的向你保证,没有哪个被聘用的软件工程师必须写一个二分查找程序。这就如你选择承包商一 样, 因为他们知道怎样用煤、铁、炉子和风箱来锻造和浇铸钢材。事实上他们只需要知道最近的一家家得宝(全球最大的家居建材零售商,美国第二大零售商)的地址, 以及用在那里买的钢材来做什么用。

  你通常试图在雇员身上找寻的东西,joel spolsky曾给出了准确的解释,即:就是聪明(smart)并且能做事(get things done)的人。(大学院校中到处都是具备前者而不具备后者的人。)不过,首先你必须构建一些其它的能力,也就是说不能完全不具备任何能力。你会惊奇的发 现,如此多的完全不胜任的应聘者出现在技术面试中。google的二分搜索大概是打算作为他们的“fizzbuzz”(分支切换)——一个你进入google大门必须越过 的障碍。这个“fizzbuzz”在真正的面试开始前占据了足足五分钟。

  那么,一场真正的面试包括什么呢?请允许我提出一个愚见:不聘用没有任何成就的人。证书和学位从来都不是成就,我是指有实际用户的真实项目。现在 google app engine和amazon web services提供免费的第三方服务,而且要注册成为一名android开发人员,并在android market发布程序也总共只需25美元。在这样一个世界里,任何软件开发人员没有借口说他没有自己制作的网站、应用程序或服务。(编注:因此,新人在参 加全职工作前,去承接或者,从中学到的知识和积累的经验,对新人而言是一项非常宝贵的财富。)

  旧的面试体系以有限的信息为基础,你只能通过应聘者的简历了解他们。但是,如果你只面试有成就的人,你将会有一个更宽广的平台来开展工作。避开 “fizzbuzz”,直接让应聘者展示他们的代码,并解释他们的设计决策,如果让他们现在重新做的话,又会有什么不同。你在一旁观看时,让他们实现一个 或者两个功能,这样你就能知道他们实际上是怎样工作的以及他们在工作中的想法。这才是你想从一场技术面试中得到的,而不是通过一些过时的算法和数据结构来 对此进行估量。这个世界总在不断前进。


  原文: 翻译:

来自:
39
22
评论 共 45 条 请登录后发表评论
45 楼 2011-08-18 23:12
你没当过新人?垃圾
44 楼 2011-07-27 17:11
你这个傻逼
43 楼 2011-06-29 14:40
这种方法好!
42 楼 2011-06-22 17:11
brentforwork 写道
1.标题和文章内容不符.
2.按照你的理论,程序员要编过程的,管理员要管理过项目的,老总要开过公司的,请问你现在是干什么的,你已经不能往上爬了,因为上面的你没做过.

同意这个观点!
都需要一个过程,过程中继续不断努力吧~~~
41 楼 2011-06-22 11:46
1.标题和文章内容不符.
2.按照你的理论,程序员要编过程的,管理员要管理过项目的,老总要开过公司的,请问你现在是干什么的,你已经不能往上爬了,因为上面的你没做过.
40 楼 2011-06-22 11:25
都是 ‘传帮带’ 作者不要过来人 嫌弃新来人
39 楼 2011-06-22 10:58
照lz的意思就是说新人统统不要,只要有成绩的旧人,插,你是准备让我们这些新人没活路呢,还是咋的,你y还不是被人从新人带上来的
38 楼 2011-06-22 09:55
都他妈很牛掰啊。
37 楼 2011-06-21 23:03
       
36 楼 2011-06-21 22:28
又不想花钱,又想找好的,哪能呢
35 楼 2011-06-21 15:03
hantsy 写道
人多并不是力量大,过去一些工作经验表明,一些新人加入项目,会拖慢项目进度。。。过去一个项目中,我向公司上层直言过,再在20人的效率不如我们以前的5个人。

你这个有一定的道理,不过项目人多不能提高那涉及到管理的问题,不在此讨论范围
34 楼 2011-06-21 14:53
从开发人员的角度想,对新人要宽容,谁都想写出高质量的代码,需要经验积累。从另老技术员的角度想要让他们成长才是王道。没有天才的程序员,只有努力的程序员。
33 楼 2011-06-21 14:40
明主 贤臣    可遇而不可求啊
32 楼 2011-06-21 12:45
要以辩证的观点看问题,新人未必以后会比你差,人都是在进步的,没有谁天生就适合做程序员
31 楼 2011-06-21 11:25
全是扯淡!人不是生下来就会写程序的!即使是技术牛人也是从新人过来的!做it这行需要的是激情,兴趣等一个新人怎么了!在后天的成长中也有可能成为牛人
何必这么打击新人啊  说实话有的新人说不定比你还牛
30 楼 2011-06-21 09:59
全他妈扯蛋!!
29 楼 2011-06-21 09:47
哎,想说很多,又觉得说不出来,新人表示压力很大。
新人也想写好代码,可是写不出来。。代码表示压力很大
28 楼 2011-06-21 09:26

   都可以成为面霸的
27 楼 2011-06-21 09:11
guys, it's a blog, not a news.
26 楼 2011-06-21 08:23
引用
为什么井盖是圆的?


微软说他们重来没有出过这样的面试题,都是外人编造的。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • networkactivpiafctmv2是一款检查网络内是否存在广播风暴的小软件

  • windows网络诊断和配置常用命令详解

  • 查找局域网广播风暴的工具 局域网广播风暴检测监听软件 内附详细图文教程一看就会 networkactivpiafctmv的用法

  • 跳(hop)的概念,windows的tracert指令

  • 通过ping来检测网络故障的发生点,说起来简单容易,可是做起来可能很多人都不知道。

  • 很好用的arp局域网检测工具,专门针对局域网内的arp攻击,可以扫描到攻击源。方便大家对局域网的维护、诊断。

  • 了解和把握下面几个命令将会有助于您更快地检测到网络故障所在,从而节省时间dota测试模式命令,进步效率。 ping ping是测试网络联接状况以及信息包发送和接收状况非常有用的工具,是网络测试最 常用的命令。ping向目标主机(地址)发送一个回送请求数据包显卡测试命令,要求目标主机收到请求后给予答复,从而判定网络的响应时间和本机是否与目标主机(地址)联通。假如执行ping不成功,则可以猜测

  • 它主要的用法和详解! (netstat -na 命令),本文主要是说linux下的netstat工具,然后详细说明一下各种网络连接状态。 netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -nr 1.netstat命令详解 其实我常用的是 netstat -tnl | grep 443 (查看443端口是否被占用),如果有当前是root用户,我喜欢...

  • 转载于:https://www.cnblogs.com/fanweisheng/p/11169888.html

  • 2019独角兽企业重金招聘python工程师标准>>> ...

  •       前言:今天在阅读“web性能权威指南”这本书的时候,发现 tracert 这个命令挺有意思的,在分析网络性能瓶颈的时候也能使用的到,在此就小记一笔以备后用。 1:作用 tracert 是一个简单的网络诊断工具,可以列出分组经过的路由节点,以及它在ip 网络中每一跳的延迟。(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为许多的种类——传播延迟、传输延迟、处理延迟、排队...

  • 一.ipconfig的使用 1、点击开始菜单。选择运行。快捷键为win徽标键 r。 2、输入cmd命令符回车。 3.在弹出的dos对话框中输入ping xxxx(ip地址或网址)回车 4.如果显示timeout则网络未连接或掉包。如果显示字节、时间等信自息则网络正常,时间的ms数越小,说明网速越快。 二.ping命令bai的使用方法: 1、点击开始菜单du。 2、选择运行。快捷键为win徽标键zhi r。 3、输入cmd回车。 4、在弹出bai的dos对话框中输入ping xxxx(ip地址或网址

  • 一、如何查看ip地址 首先,开始——运行——cmd进入命令行窗口 或者 win r——cmd进入命令行窗口 ipconfig #查看ip地址基本信息 ipconfig /all #查看ip地址详细信息 二、测试网络连通性 ping 目标ip地址 #测试网络连通性,有去有回即为可通信成功 ping -t 目标ip地址 #一直ping目标ip ping -n 数字 目标ip地址 #修改ping包的数量 ping -l 数字 目标ip地址 #修改...

  • 序列中的下一个测试是测试本地局域网中的主机。 如果 ping 远程主机成功,则可验证本地主机(本例中的路由器)和远程主机都配置正确。本测试通过逐一 ping 局域网中的每个主机来完成。 请参阅图中的例子。 如果某个主机的回应为目的地无法到达,请记下未成功的地址,然后继续 ping 局域网中的其它主机。 另一种失败消息是请求超时。这表示在默...

  • 常规测试方法 一**.功能测试** 安装测试: 1)安装过程中对于缺省安装目录及任意指定的安装目录,是否都能正确安装; 2)若是选择安装,查看能否实现其相应的功能; 3)在所有能中途退出安装的位置退出安装程序后,验证此程序并未安装成功(没有程序组及程序项产生); 4)软件安装后,对其它已经安装的软件是否有影响; 5)裸机安装后,各功能点是否可用; 6)安装前,安装程序是否判断可用磁盘空间大小,如...

  • 测试dns的通畅情况,可以直接ping网站地址 1、方法 2、方法 使用nslookup命令,作用有二: 1.帮你测试你设置的dns服务器有没有问题 2.在不考虑dns服务器是否智能的前提下,你可以根据回显ip地址速度的快慢来大致判断dns服务器的优劣情况。 ...

  • 实训2 利用常见的网络命令获取网络信息 实验目的 掌握常见网络命令使用方法。 学习使用网络命令嗅探网络信息。 学习使用网络命令判断和处理网络问题。 实验准备及注意事项 1.装有windows操作系统的计算机若干,已连入局域网。 2.部分实验可能需要将系统防火墙和杀毒软件关闭,远程连接和文件共享开启。 实验背景 随着基于图形用户界面应用程序的普及,普通用户已逐渐淡忘了dos时代只能依靠输入命令同计算机交互的方式。但是命令行依然有它独特的价值,而windows命令行中也提供了

  • net use \\ip\ipc$ " " /user:" " 建立ipc空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立ipc非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方c:到本地为h: net use h: \\ip\c$ 登陆后映射对方c:到本地为h: net use \\ip...

global site tag (gtag.js) - google analytics
网站地图