更多课程 选择中心


Web培训

400-996-5531

Web培训

Web前端培训 > Web职场 > 正文

程序员的困境


近日笔者采访了几十位求职内核程序员这个岗位的候选人。这些候选人均来自大的优秀公司——公司多以芯片或嵌入式OS /系统而闻名。他们中的许多人都声称自己拥有至少10年的内核在职经验。他们的简历非常耀眼——各种相关的项目,流行语和奖项……

但大多数人却无法回答一个很基本的问题:当我们调用标准malloc函数时,内核会发生什么?

不要惊讶。当我要求其中一位候选人基于glib哈希函数编写一个简单的LRU缓存框架时,他一开始表示他从未使用过glib——这也在我意料之中——我给他展示了glib的哈希API页面,并详细解释了API,然后在将近一个小时之后,他只写出了几行乱七八糟的程式码。

我不知道其他国家的情况是否类似,但在中国,或者更具体地说,是在北京,这是现实。那些曾为大型著名外企工作多年的“高级”程序员往往在简单、基本的问题上束手无策。

为什么会出现这种情况?

我越是思考这个问题,就越是觉得问题的原因不仅仅在于他们本身,也在于他们工作的公司。这些公司通常会提供稳定的代码堆栈,而且多年以来一直没有产生显著的变化。围绕代码的技术封闭了程序员的技能,使得他们只需要遵循现有路径,而不必积极创新。如果你在这种代码上工作了很长一段时间,同时没有很好地与时俱进,那么总有一天你会发现自己进退两难——在团队或公司内部,他们叫你“专家”,但却无法在市场上找到同样棒的工作。

这就是所谓的“专家陷阱”。日复一日,程序员梦想着成为团队/公司内部的专家——然而,当这一天真正来临的时候,却是我们困住自己的时候。我们对现有代码挖掘得越深,我们陷入的泥潭就越深。我们渐渐失去了从头开始编写完整项目的能力,因为现有的代码是如此之稳定(如此之大,如此之有利可图)。更糟糕的是,如果我们的主要工作就是维护现有代码,那么一段时间之后,无论我们阅读和学习了多少代码,都会发现,自己不会写代码了——即使问题简单到如研究生院的作业。这就是程序员的困境:我们靠编码为生,但培养了我们的大公司往往会破坏我们谋生的能力。

如何摆脱这种困境?

对于个人——

首先,要做自己的个人项目。你需要不断地“提升自己”。如果工作本身不能帮助你提升自我,那么找一些你想在个人时间解决的问题。这样做有助于你学到新的东西。如果你发布个人项目,比如说在github上,那么你就有机会认识那些能在你换工作时拉你一把的人。

不要停留在同一个团队超过两年。强迫自己换岗位,即使是在同一组织,同一公司中,这样你就可以面对新的挑战和新的技术。每隔18个月去参加工作面试。这不是为了跳槽,而是为了让自己知道现在市场需求什么,以及你该如何适应。

对于团队/公司——

给予员工压力和挑战。轮换岗位,让所谓的“专家”有机会扩充他们的技能。开启新项目,用实战来磨练大家。

定期举办黑客马拉松。这将有助于建立一种拥抱创新和创造的文化。大家会因彼此而受到激励—— “哎呀,那个家伙能用24小时写出这样一个美丽的框架,我得加油了”。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:程序员如何在职场中实现“跨越式”成长?
下一篇:如何做一名优秀的web前端工程师!

哪家的程序员技术能力强?

专业程序员7大特质

程序员调查报告,年薪30万很普遍

你绝对想不到40岁的程序员有多牛X

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

贵州省

云南省

广西省

海南省