程序员的困境及如何摆脱这种困境?

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

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

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

 

[[159642]]

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

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

为什么会出现这种情况?

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

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

如何摆脱这种困境?

对于个人——

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

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

对于团队/公司——

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

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

译文链接:http://www.codeceo.com/article/programmer-dilemma.html
英文原文:Programmer’s dilemma

 

责任编辑:王雪燕 来源: 码农网
相关推荐

2013-08-20 09:33:59

程序员

2011-05-12 09:27:15

程序员创业

2011-05-12 12:45:54

程序员

2024-08-28 06:30:40

2015-08-21 09:14:40

大数据

2013-08-28 10:35:45

管道大数据

2021-09-11 23:21:37

程序员技术年龄

2010-11-18 10:36:12

跳槽

2010-11-03 11:18:16

职场

2022-04-11 10:43:33

供应链机器学习企业

2022-10-14 10:36:10

职业道路职业生涯

2024-06-25 11:16:17

2011-04-11 09:11:01

程序员

2018-09-29 15:11:13

2021-08-02 14:30:47

SRv6运营商管道化

2015-01-13 09:38:20

大数据数据孤岛

2021-02-23 22:29:22

程序员IT副业

2023-12-13 14:36:58

2015-08-18 15:22:01

虚拟化

2018-06-25 13:26:17

云计算混乱云平台
点赞
收藏

51CTO技术栈公众号