程序员的困境

标签: 程序员 困境 | 发表时间:2013-08-19 21:47 | 作者:shijiebei2009
出处:http://blog.csdn.net
    最近,我面试了数万个应聘内核程序员职位的候选人。这些候选人是从大的、好的、著名的芯片或嵌入式操作系统/系统类的公司来的。他们中的许多人声称,他们至少有10年的在内核方面的工作经验。他们的简历看起来相当漂亮-各种最新的项目和各种大奖及奖励......

    但是他们中的大多数不能回答一个非常基本的问题:当我们调用标准的malloc函数时,在内核里发生了什么?

    不要惊讶。当我让一个候选人写一个简单的基于Glib哈希函数的LRU缓存框架,他首先声称,他从来没有使用过Glib - 这是我所预料到的 - 我向他展示Glib函数的API页面并详细的向他解释,将近一个小时后,他只写出了几行凌乱的代码。

    我不知道,在其他国家情况是否类似,但在中国,或者更具体地说,在北京,这是现实。为国外著名大公司工作过的“高级”程序员,并不能在简单的基础的问题上面证明他们。

    为什么会出现这种情况呢?

    我越去想它,我越相信不仅仅是他们自身,而且也是他们工作的公司导致的这种情况。这些公司通常会提供稳定的协议栈的代码,其中有的多年没有显著的变化。围绕这这些代码所包裹的技术,让他们只需要按照现有的路径,而不是创造性的工作。如果你正好为这类代码工作了很长一段时间,并且没有达到外面世界的高度,有一天你会发现自己在一个可怜的位置 -在公司或项目组内部, 他们称你为“专家”,但不幸的是你很难在市场上找到相称的好工作。

    这就是所谓的“专家陷阱”。从第一天的日子,我们程序员梦想着成为团队/公司内部的专家,然而,当这一天真正来临时,我们自己使自己陷入了困境。我们越深入到现有的代码,我们就更深的陷入。我们渐渐因为现有的代码是如此稳定而丧失了写出从开始到完整项目的代码的能力。更糟糕的是,如果我们的主要工作是维护现有的代码以及一些特色的开发,一段时间后,不管我们已经读了或研究了多少代码,我们将会发现我们不能写代码了 - 即使是作为简单的研究生院分配的问题。这是程序员的困境:我们靠编码养活自己,但是养活我们的大公司往往会毁了我们的谋生能力。

    如何摆脱这种困境?

    对于个人 - 

    首先,做自己的个人项目。你需要一直“使你的锯子保持锋利”。如果工作本身并不能帮助你这样做,拿起在你的个人时间内你要克服并征服它的问题。通过这样做,最有可能的是,你会学到新的东西。如果您在github上发布您的个人项目,你可能会得到机会认识那些可能会使你远离你现有的位置的人。
    不要停留在一个项目组超过两年的时间。强迫自己流动,即使在同一组织中,同一家公司,你将面对新的挑战和新的技术。尝试每18个月做一次面试。你不需要改变你的工作,但你可以看到市场需要什么以及你如何融入。

    对于团队/公司 - 

    给员工们压力和挑战。循环的工作,让“专家”有机会拓宽自己的技能。使用战斗来锻炼勇士。
    定期举行黑客马拉松。这将有助于建立一个拥抱创新和创造的文化。人们会被他们的同龄人所激发 - “哎呀,那鸨24小时能写出这样一个美丽的框架,我必须得努力工作了”。


原文来自: https://medium.com/i-m-h-o/231d7499a75

作者:shijiebei2009 发表于2013-8-19 21:47:42 原文链接
阅读:79 评论:0 查看评论

相关 [程序员 困境] 推荐:

程序员的困境

- - CSDN博客研发管理推荐文章
    最近,我面试了数万个应聘内核程序员职位的候选人. 这些候选人是从大的、好的、著名的芯片或嵌入式操作系统/系统类的公司来的. 他们中的许多人声称,他们至少有10年的在内核方面的工作经验. 他们的简历看起来相当漂亮-各种最新的项目和各种大奖及奖励.......     但是他们中的大多数不能回答一个非常基本的问题:当我们调用标准的malloc函数时,在内核里发生了什么.

普通程序员、文艺程序员、2B程序员

- 可可 - 宇宙的心弦
希望能引起广大苦逼的正在学或者已经学过c++人的共鸣和会心一笑吧. 如何辨别自己在现实还是虚拟世界.

知乎的困境

- zhengyun - 无网不剩
为什么有的照片拍出来建筑物是倾斜的. 陈奕迅的『爱情转移』到底想要表达什么. iphone4升级到ios5 beta3后,可不可以降到4.3.3. 第一反应是到知乎提问,且能在较短时间内得到满意的答复,那么知乎就成了. 其实从产品上是完全可以应付的,最难的是用户为什么要来这里提问. 如果我有iphone4,第一反应肯定是去weiphone.

如何面试程序员?

- bluesnail - 阮一峰的网络日志
你要面试一个程序员,应该问他什么问题. 有人在Hacker News的讨论区里,请求指点,怎么才能在面试中发现合格的人. 众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章. 首先,最重要的是,你自己一开始就应该想清楚:. 哪些途径和方法可以发现这样的人. 只有明确这些根本性的问题,才能正确高效地完成面试.

程序员的本质

- Allen - 译言-电脑/网络/数码科技
来源What do programmers really do?.   很多人(包括我岳母)认为计算机变得如此智能,所以在不久的未来将不再需要程序员. 另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题. 甚至不少程序员对他们是做什么的都没有清晰的概念.   在这篇文章中,我想给不知情的人解释一下程序员到底是做什么的:.

程序员人生之路

- myartings - 博客园-首页原创精华区
   程序员人生之路(强烈推荐,分析的透彻. ),某程序达人的人生感悟,估计没有半个甲子的时间,是绝对不可能感悟出来的.    相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心. 在刚出校门的几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到心里平衡:“有付出才会有回报”这句话在那几年中你说的最多,不管是对自已的朋友们还是自已的爱人.

程序员装B指南

- Qing-Run - 博客园-首页原创精华区
1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好. 一个用来查资料,一个用来写代码. 总之要显得信息量很大,效率很高. 2.椅子不一定要舒服,但是一定要可以半躺着. 3.大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善. 沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子.

程序员收入报告

- diaoxsh - cnBeta.COM
最近,波兰的程序员Chris(也叫KreCi)公布了他的第十四期程序员收入报告. 数据显示,上月是目前为止他收入最多的一个月. Chris的收入并不是指他的工资或薪水,Chris是一个自由职业者. 他的收入也不是来自个人承包软件工程的收入,他更像是一个果农,种了优良的果树,只要不断的给这些果树施肥浇水,这些果树会给他带来源源不断的财富.

程序员的利器-SourceInsight

- Alex - 博客园-首页原创精华区
作为程序员,大部分时间是在已有的代码上代码工作. 要对已有的代码进行调整,首先就要搞清楚当前代码中蕴含的逻辑关系. 所以常常有程序员调侃说花了大半天时间看代码,最后写代码的时间只有几分钟. 所以,对已有代码的分析质量将影响(甚至会决定)最终代码修改的质量. SourceInsight在代码分析上给予程序员极大的帮助.