码农,为什么你工作了十几年还是一线码农

  • 日期:07-18
  • 点击:(1464)


文章末尾有鸡蛋,文章很长,但应该有很大的帮助。

臧克嘉在他的诗中说:“有些人还活着,他已经死了;有些人已经死了,他还活着。”在IT行业中存在这样一种现象,有些人已经工作了十多年,仍然是前线程序员每天都在编码和解决错误。技术积累与工作两到三年的程序员没有区别。有些人已经工作了三五年,但他们已经具备了建筑师的能力。

afd1dcdb94c24a9581b8f54d45f92800

图1努力工作

人们也是如此,但存在很大差异。有些人认为差异在于智商,家庭和机会。但是如果我们深入研究它,上述因素是否会决定一个人呢?它可能会产生影响,但并不是绝对的。从清华大学的来源来看,贫困地区和贫困家庭的学生来源显然占很大比例。

两者之间的区别在哪里?本文认为差异在于思考问题的方式。思维决定行为和行为决定结果。正是由于他们的思维方式不同,结果如此不同。首先看一下普通人的思维方式,他们通常处于焦虑状态,没有深刻的思考。我记得当我毕业时,大家讨论过的最常见的问题是我应该在程序员30之后做些什么?每个人今天讨论的最常见的问题是在程序员35岁之后该怎么做。他们只知道焦虑,但他们不考虑问题的根源和解决问题的方法。

如果我们深入思考一下就会发现。诚然,在行业内可能确实存在一些公司有年龄歧视的问题。但是,他们歧视的本质其实并非年龄,而是能力,或者说你所具备能力的不足。举个极端的例子,你觉得吴恩达或者陆奇会失业吗你可能会反驳道:“那些人都是行业领袖,怎么会失业呢,我们普通人怎么可能达到那个层次”但是我们要知道,能养得起吴恩达和陆奇的公司也不多。世界上还有数以万计的普通中小微型公司存在。结论很清楚,大部分IT企业在人才选用方面首先要考虑的问题肯定是能力问题,也就是其能力能否胜任其岗位要求。当然,这个能力要求自然是要与其年龄有一定的匹配度,一个工作十几年的人还只会基本的开发和调试,相信大部分公司都不会考虑。

件。

a5bee1cc933141cab04f3997aaad359a

图2凿壁偷光

有些人觉得可能是智商的原因吧。其实本号认为智商并非最主要的原因。有些人可能不以为然,觉得人的智商是有差距的。不可能每个人都能成为吴恩达和李飞飞这样的人智商。有差距不假,但智商的差距并不能导致结果差异如此之大。正如安德斯艾利克森在《刻意练习》中所描述的那样,通过有方法有目的的练习(刻意练习),一个普通人记忆随机数字的能力可以从七八位提升到数百位。估计对于记忆数百位随机数字的事情,大多数人的第一反应是觉得不可能,或者是天才。实际试验的结果并不是这样,而是告诉我们,通过刻意的练习就可以做到。作者统计了小提琴等普通人认为需要天分领域的数据发现,越是优秀的人在相关领域投入的练习时间越多。也就是说,天赋的影响因素有多大不清楚,但即使你是天才,也是需要投入大量练习才行的。

XX如果您认识到以前的内容,请继续完成其余内容。本文认为,作为技术人员,最重要的是建立自己的知识体系(建筑)。这里的知识体系不仅包括技术知识,还包括许多非技术知识和能力。首先,我们必须将自己的专业知识建立在一个系统中;也就是说,我们可以从一个点形成一条线,将它编织成一条线,然后形成一个体,然后学会使用它;第二是提高我们的行动能力。 (有关详细信息,请参阅《远见》)。

我们来谈谈迁移的能力,例如解决问题的能力。您对这方面的能力有何感想?我们举一个简单的例子。假设您有大量的系统代码。错误是内存泄漏中的错误。泄漏量约为每天6-9MB,业务在线。现在领导者会让你尽快解决这个问题(例如,在3天内)。你是如何解决的?

如果你是一个糟糕的程序员,你可能会沉浸其中。首先使用工具检测,然后检查代码,或询问同事。解决方案可能是3天,并且没有关于问题的线索。

如果经验较少的学生更清楚,解决内存泄漏问题的难度相对较大。尽管存在一些内存泄漏检测工具,但这些工具有时难以用于复杂系统。由于代码的大小,很难一次找到内存泄漏的具体位置。因此,几乎不可能尽快解决问题。

如果我们再分析一下呢?每天泄漏6-9MB,似乎泄漏的量并不太大。然后再考虑一下,具体的业务是否为7 * 24小时的。因为大部分业务其实晚上,特别是凌晨后基本上没什么人访问。那我们是不是可以每个一周在凌晨三四点重启一下业务就行?这时,它就可以调查这些事情,然后跟领导讨论解决方案的可行性。如果这种方式可以,那他就可以不用着急了,可以先写一个重启脚本把问题解决,然后再分析内存泄漏的根因。

所以说,有的时候问题并不是你看到的问题,这种能力是很重要的。

再回到技术知识体系上来。有些同学工作十几年了,网络相关的代码也写了不少,但仅仅停留在插座接口的调用,却不知道什么是选择和epoll的。这说明什么问题?这部分很清楚,我们就不介绍了。

为此,本号希望构建一个关于计算机后端技术的知识体系,这样一方面可以方便大家梳理自己的知识体系,另外一方面也是为了更加方便的查漏补缺,了解自己知识的不足。整个知识体系的总图如下图所示。由于篇幅的问题,这里面只是最主要的内容,点击里面的超级链接(参考图中数据结构与算法后面的符号)可以进入下一级脑图。最终每个知识点会有一篇文章详细的介绍相关内容。

aa74676ff23e4bc3b06a20bf6596d2a4

图3知识体系

XX现在您只看到第一版,我们将继续改进它。这种知识构建的知识水平不高,而且大多数都是非常基础的知识,例如算法,操作系统,数据库和网络。但是,预计这个数字能够将这些常识建立到网络中并将这些知识用于实践。孔子说:“学习和学习,更不用说了”,是的,如果你能学习这些知识并在日常的发展实践中使用它,那将是非常幸福的。

单击链接需要原始图像。在本文中,获得了大脑地图的原始图像。请注意以下号码后的私信:知识系统