程序员的困境

程序员的困境,第1张

近日笔者采访了几十位求职内核程序员这个岗位的候选人。这些候选人均来自大的优秀公司——公司多以芯片或嵌入式OS

/系统而闻名。他们中的许多人都声称自己拥有至少10年的内核在职经验。他们的简历非常耀眼——各种相关的项目,流行语和奖项

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

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

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

为什么会出现这种情况?

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

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

如何摆脱这种困境?

对于个人——

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

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

对于团队/公司——

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

定期举办黑客马拉松。这将有助于建立一种拥抱创新和创造的文化。大家会因彼此而受到激励——

“哎呀,那个家伙能用24小时写出这样一个美丽的框架,我得加油了”。

三十岁以后感觉已经人到中年,中年危机是许多职场人士都会遇到的困境。我也不例外,没有机会升职,也不敢贸然辞职。

职场中像我这样大龄、单身、有升职困扰的女程序员还有很多。

第一,担心被同行淘汰

现在很多企业招聘都不愿招聘女性,因为女性婚后要照顾家里、工作上投入的精力会逐渐减少。

江山代有人才出,年龄较大的女程序员害怕自己会被刚入职的“小年轻”给比下去。

公司若是看不到你的业绩,为你付出的成本又多,他们当然会找更有冲劲的年轻人取代我们。

这是公司会考虑的人工成本问题,也是许多女程序员会面临的职场困境。

第二,担心身体吃不消

有人说程序员这个职业最多做到35岁就要转为管理层,或者转为其他行业。如果一直做技术开发,身体真的吃不消。

开发是一件很耗体力和脑力的事情,每天要想着如何编代码、测试。加班、赶项目已成为他们的工作常态。

第三,担心找不到对象

程序员找不到对象最主要的原因就是没时间。他们终日加班,根本没有时间去交际,最后极有可能年龄一到,面临被催婚、被相亲的局面。

另外一个原因就是:我们看到的大多数女程序员都是素面朝天,很少去打扮自己。

人都是视觉动物,很少有人能做到通过你邋遢的外表去了解你的外在。所以这也是女程序员找不到对象的原因之一。

第四,在外漂泊,无法解决户口问题

对于北、上、广、深等这些一线城市,是许多年轻人奋力拼搏的出发点。但过了几年后,发现自己再怎么努力也无法在这座大城市安身立命。

自己的工资只能勉强维持生计,若要在这些一线城市买房、落地户口,仅靠一人之力真的是难上加难。

向往大城市的年轻人是一批又一批,但到最后都是皆为利来,皆为利往。

第五,考编制,寻求安稳

安稳的生活似乎是每个人到了一定年纪都想要追求的生活。我们随着阅历的增长,心境也与当初年轻的自己有了很大的变化。

当时梦想着要在大城市创出一份天地的我们,终于还是败给了现实;很多人不甘平庸,于是想要拼命努力,但终究也只是证明自己是一个平凡的普通人罢了。

最后的我们还是选择与生活和解、与自己和解。

所以当我们没有精力去闯荡时,选择考公务员、进入体制内的生活,未尝不是一种最佳选择。

第一,明白现阶段什么是自己想要的

忧虑自己的前途,也害怕自己找不到伴侣。以目前的年纪想要转为管理岗位,但精力确实有限。

主要问题是不能很好地平衡工作与生活。

选择工作或者生活,每个人不同阶段所做出的选择都是不一样的。

初入社会,我们一腔热血,想要为事业而打拼 ;到了30岁左右,经历的事情多了,可能就想着回归家庭多一些。

只要我们明白什么是自己想要的,就去做就好了,不要在意他人的看法和眼光。

第二,调整心态,改变自己

因终日忙于和电脑打交道,不甚在意自己的形象、也不擅长和异性交往。

当我们真心想要寻找一位伴侣时,那就得将自己最好的一面展现给别人,他人才会被你吸引。

所以若想找到伴侣,先从改变自己开始。我们可以多去主动交朋友,丰盈自己内心的同时也要提升自己的外在。

其次就是要调整心态,相亲近几年是很火的一种交友手段。

我们不必因为相亲觉得羞耻,反而我们那些相亲遇见的人可能都是一些没时间谈恋爱的优质男。

第三,寻找机会转为管理岗

职场,不仅要靠实力,也要靠运气。有些人年级轻轻早已成为公司中层干部,但奈何高层职位早已饱和,便只能苦苦等待,最终熬不住便离职寻求其他机会。

所以职场中要想升职加薪,我们既要有相匹配的实力,也要抓住机遇。

当程序员在一定阶段不能转为管理岗时,或许我们需要转行来解决目前的困境。

“中年危机”是每位职场人士都会面临的问题,若想化解危机,需要我们提前未雨绸缪,抓住机遇;明确自己想要的东西,既然选择就一往直前,不要后悔。

老虎、Bill、自己,中国程序员的困境也来自三个方面

困境之一:老虎的威胁。程序员要面对的饿老虎实在不少,比如说老板,好象就是程序员的天敌,什么“不懂技术却指手画脚”、什么“得到与付出不相当”似乎是程序员最常见的牢骚,这个问题不可能得到真正的解决。

困境之二:Bill的竞争。一般说来中国的程序员大都是吃“青春饭”的,大部分程序员的黄金时代是24~28岁。到了30岁左右,一批又一批年轻程序员会给你带来巨大的竞争压力。首先由于软件行业的飞速发展,很多自己以前学的东西逐渐升级换代,而许多程序员由于长期于工作,学习新知识的效率必然下降。其次自己干了几年,薪水要求自然就高了,而年轻程序员工资又低、干活又快,当然会成为老板的首选;第三,30岁基本都已经成家了,要支撑家庭的生活负担,几乎连从头再来的勇气都不会有了。中国的老话说“长江后浪推前浪、前浪死在沙滩上”,这个历史的规律在软件开发行业体现的尤其明显和残酷,很多程序员必然要面对的结果就是降薪乃至失业。

困境之三:自我的实力。都知道人最难战胜的是自己,所以自我也就是程序员需要超越的最大障碍。大多程序员都把系统分析员和项目经理作为自己的职业目标,但这些目标的达成,需要个人素质、市场机遇等多个方面的条件,太多的程序员就是在高不成、低不就的状态中蹉跎了岁月。对于系统分析员,特别需要以下几方面的素质:客户需求分析能力、系统架构与设计能力、模块分解设计能力、项目流程控制能力、项目风险评估能力等,而对于项目经理则更注重项目管理方面的能力如团队组织能力、沟通协调能力、分析问题解决问题的能力以及良好的职业道德等,而这些素质和能力往往只能依靠程序员个人的学习和努力。看到越来越多的程序员开始学习项目管理的课程,真的有点为他们担心,因为现在的项目管理培训只能停留在理论和考证的程度,既没有素质方面的训练,又缺少实际软件开发项目的案例,学习的结果远远不能达到预期的效果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12048404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存