全栈工程师实际上会卡在中级,无法深入 很有意思的一篇文章,作者根据亲身经历讲述全栈职位由于要学的东西多,变化快,导致很难深入学习某一个领域。而且由于变化快,导致需要持续快速学习。无法深入则无法形成自己的专长。


回到我刚开始学习如何编码的那些时候,我相信旧的明智的黄鼠狼用他们的“编程语言并不重要”的口头禅。我开始沉迷于有朝一日成为一名可以做任何事情的开发人员的想法。那个将他的经验从一种技术转移到另一种技术并超越细节的人。但这个想法失败了。


1. 了解这一切的痴迷


我在不同的应用程序域(asp.net,wpf,xamarin),js / ts(react / redux,node)学习了C#和.NET,并确信自己有能力做任何我想做的事情。我的想法是抽象的,我同时在几个编程范例中有效率,并且我在专业软件工程的各个方面都具有实践技能。我只是嘲笑这些40多岁的老人,他们沉迷于单一的技术,他们花了一半的时间来理解我能在一周内掌握的东西。我接近宣称深入到一些知识领域是为了那些幸福在他们的余生中拥有相同工作的蠢货,而我却从中抽象出来。


我以为一切都是旧的,所以我看到了一致的模式。现在,当我的工作涉及一些荒唐的Python编码时,我会说,'给我一些时间快速阅读规范,我将全部准备在高级别工作。为什么,可能会出现那种我以前从未见过的并发症?所以我成了细节 - 忽视邪教的牺牲品。让小辈们弄清楚细节,看到他们无法接受抽象。


2. 知识差距微妙,不能立即显现


我曾经在TypeScript中使用基于抽象类的设计,并且被嘲笑,因为很明显没有人在TypeScript中这样做。我当然假装我的同事是无望的白痴。它以前曾经有过帮助,但那段时间给我留下了不好的回味。


您良好的开发人员的声誉可以掩盖您的同事和您自己的知识差距。因此,你不了解大量的批判性细节,但当然你看不到它们,完全是因为你不了解它们。


那是我的坏连线开始的时候。噗!我不知道SQL中的索引类型。巴姆!我忘了什么时候应该在C#中调用静态构造函数。哎呀!如果不在Google上查找,我就无法正确实现IDisposable。哦,我试图改变反应组件的状态。


然后我怀疑我的抽象并没有真正起作用。我所处理的技术类型毕竟不同,而且细节很重要。每个技术生态系统都有自己独特的最佳实践。使用jvm时,您的.NET体验不会受到影响,但它无法取代它。我自我评估的“学会了如何学习”的技巧变成了想象力。我的学习速度并不比其他人快。这种认识来得太迟了。


我的技巧只是一堆矛盾的想法 - 我被这里和那里的一些知识撕裂了。我没有自动成为一个高级的全能杰克。相反,我成了一名多技能的中级开发人员,为掌握了一项技术的40多岁的老年人提供了笑柄。因此,我意识到选择全栈的路径是一个错误。


3. 打败自己


问题是,企业需要全栈开发人员。不,不是像我这样的模仿,而是多才多艺的老年人,他们拥有五年的全栈技术经验。


然而,这些独角兽并不存在,所以企业会自欺欺人。他们聘请了一位平庸的中级工程师,专门研究三种大型技术,并称他为高级全栈开发人员。这个职位将工程师变成冒名顶替者,并成为自卑感的无穷无尽的源泉。任何专注于一种技术的普通开发人员都更了解它。现在我可以承认,没有准备好与那些在某些方面比我好得多的人平等合作。否则,我将在一周之前将自己打死。


自我指责是我们行业中的巨大疾病,但我们用错误的补救措施来治愈它。我们交换关于我们如何被***包围的超级英雄的***。我们否认高级贬值这样的事情,我们一直说我们低估了自己,我们只需要抛弃我们的谦卑并相信我们内部的软件开发女神。我们认为我们需要戴上傲慢的帽子,并指责那些对我们信心太少的人。


好吧,我们只需要承认,开发不仅对外人很困难,对我们也很困难。在任何特定时刻都不知道什么是可以的。如果你有差距,这并不意味着你的价值更低,必须被驱逐出社区。


但在最深层次的自我反省中,我们仍然在努力。全栈开发人员因缺乏对技术的深入了解而诅咒自己。单一学科专家感叹他们没有广泛的技能。


4. 学习广度与深度学习


在这里,我们遇到了同样的困境:你可以在广度或深度学习,但不能同时学习。我注意到一个有趣的副作用:当你开始学习一项新技术时,旧的技术似乎不那么有趣。但是在IT世界中,如果你在一年之内没有刷新你的技术知识,它就会让你过时。


如果你想继续成为一个全栈开发人员,你必须阅读一些TypeScript的发行说明,在阅读时测试所有这些,即使你不喜欢它。尽管如此,您距离开发人员还有几英里远的距离。


这场冲突的主要问题是我们不知道什么是最好的。我们,特别是企业,都想要两种方式。让每个人都拥有正确,深入的技能。


我不知道什么是最好的,但我知道从全栈开发者的角度来看它的感觉。与单语言开发人员相比,您将花费更多时间学习。只要你的职业生涯持续下去,这种情况就会持续下去,但你仍然缺乏自己的熟练程度。


你会受到欢迎,但无处可回家。尽管你付出了巨大的努力,但是下一件大事的每个上师都会在嘴里发出泡沫,声称你不值得被称为高级开发者。


你将永远陷入中等水平


我一个人决定坚持自己的道路。我可以尝试深入学习一些东西,我可以重新培训管理(表面知识是行业标准的领域),但我宁愿保持我的方式并忍受痛苦,直到我真正了解任何事情。



推荐阅读:


1. Google开发人员帮助文档编写指南,深入理解优秀文章撰写标准

2.2019年你应该学习哪种编程语言?

3.“全栈工程师”已经过时了,现在开始流行“全周期工程师”


一个会思考的技术小工

长按扫码关注,分享技术干货,技术资料,个人成长等。


右下角

给个好看呗