一位德国程序员秘诀:如何通过3个简单步骤成为高级开发人员?


来自Dev的德国程序员透露:在过去的 12 个月里,帮助了 80 多名开发人员实施了一个更有效的提高技能的策略,让他们对自己的技术能力充满信心,更快地晋升到高级职位,并获得更多收入:
成为高级开发人员需要走的路是巨大的,大多数开发人员都低估了这一差异:

  • 成为一名高级开发人员归根结底是了解许多开发人员根本无法看到的大局。

它涉及掌握测试、设计模式和干净的代码。但更重要的是,这意味着要有更高的标准。这意味着关心让代码正常工作并让它在未来继续工作。它是关于您为自己设定的标准,远远超出了您的代码质量。
  • 然后是关于思考方法、认知

理解构建软件不仅仅是编码,你必须摆脱记忆的点点滴滴,你必须看到大局。
除非您能有效地转变思维,否则您将永远只是另一个开发人员。
这就是为什么一些开发人员在职业生涯中飞速发展,而另一些开发人员则花费数年时间研究相同的遗留代码,停留在同一份工作中,对他们的未来没有真正的前景。
 
我很幸运住在柏林。四年前,我搬到这里是为了加快我的软件职业生涯,自 2010 年以来,软件行业一直在那里大规模发展。
通过观看这里的软件社区,我目睹了软件行业目前正在经历的巨大转变。我们曾经谈论过 React;现在,我们谈论 Web 组件和微前端。现在,我们讨论服务器端渲染、性能和第一个字节的时间。
我住在离欧洲大型科技公司总部几个街区的地方。N26、Zalando、Delivery Hero,十年前它们都是小型初创公司。
现在他们是上市公司,在全球雇佣了数千名软件工程师——他们声称甚至还没有达到增长的最高点。
这种巨大的转变并非柏林独有:随着初创公司成为跨国集团,软件行业呈指数级增长,成为高级开发人员的要求也在不断提高。
 
有趣的是,直到我辞掉开发人员的工作并指导了 80 多位开发人员后,我才意识到这些巨大的行业变化。
我意识到开发人员现在面临的复杂性越来越高——行业在发展,技术也变得越来越复杂。
如果我们想在这个行业生存并拥有程序员的未来——我们需要超越自己。
自从我自己完成这项工作以来,我还帮助数十名雄心勃勃的开发人员培养了在这种新环境中达到高级及更高水平所需的技术专长、思维深度和纪律。
以下是您在成为高级开发人员时需要学习的基本课程和要避免的错误。
最重要的是,这里是如何通过 3 个简单的步骤来做到这一点。
 
1.) 知道你不知道的
如果您不知道问题存在,您就无法解决问题。
作为开发人员,“社区”每天都会用我们不知道的东西轰炸我们:新库、新技巧、新方法等等——我们应该得到的数以千计的博客文章、YouTube 视频、课程和研讨会。转过头去。
突然间,你必须掌握设计模式、数据结构、微服务架构、Web 性能、算法和 git 命令才能过关。
但是,让我问你,这些闪亮的框架中有多少会提升你的技术技能?
现实中,很少。
首先,因为你的时间有限,你不可能学到所有的东西。
其次,因为他们中的大多数人都很好。了解 100 个 bash 命令是否会从根本上改变您对软件的理解?在 Leetcode 上记住奇异算法会让你的工作更有效率吗?
很可能不是。
医生不会给你开现在流行的药;他们为您提供所需的药物,并且证明有效。
要成功成为高级开发人员,您必须首先了解您现在所处的位置与“首选”专家工程师之间的确切差距。这部分取决于您工作的公司的规模以及您过去使用过的代码库。
为了让你的技术发展不受阻碍,你必须知道你不知道的东西。
你必须慢慢来,做一些自我反省,并具有战略意义。
如果您希望我指导您通过循序渐进的行动计划帮助您从编码员变成工程师,请拨打 45 分钟电话,让我们聊天。
 
2.) 不只是“让它有用”。
即使是高中生也可以使用一些代码行。困难的部分是让这些生产线明天也能正常工作。
使它们易于理解、易于维护和易于扩展。
那很难。
它是关于使事物清洁并赋予它们结构。初级人员关心今天让它工作,高级开发人员关心明天和后天如何工作。
我们对事物进行硬编码,重复自己并无处不在。
我得到它; 您的经理只关心您提供的功能,而您不想被解雇。代码看起来不太好,但您稍后会修复它。现在,您只想交付,因此您可以复制粘贴一些并使其工作。
然后另一个项目出现了,你忘记了。生活很快就会成为障碍。你又忘记了。
一行糟糕的代码变成了一个模块。一个模块成为一个项目。突然间,您被这个意大利面条式代码怪物包围了。
你失去动力。
迟早,你醒来时会问自己,“我到底是怎么落到这堆烂摊子中间的?”。
高级开发人员知道他们的直觉不会愚弄他们。他们知道,当他们走太多捷径时,就会造成技术债务。他们将不得不在深夜和额外的周末处理债务。
即使压力很大,高级开发人员也不会屈服。他们坚持自己的立场;他们坚持自己的标准。
他们知道 Clean Code 不仅仅是一本书,也不仅仅是一句口头禅。这是一种无可辩驳的标准哲学。
 
3.) 你必须用模式思考来代替死记硬背
您无法记住进入软件开发的方式。
如果您想有一天构建应用程序,而不仅仅是处理一些已经存在的代码,您必须了解您所做工作背后的原则。
高级开发人员知道您编写的代码背后的“原因”。
这是一些开发人员停滞不前而其他开发人员增长的主要原因之一。他们陷入了复制粘贴的狂热。
我知道很多开发人员的工作不需要你考虑那么多(在这种情况下,你应该考虑跳槽)。很多工作都是重复的,比如构建一些组件或一些 API 端点。
那么如何才能摆脱记忆呢?
您如何了解事物背后的“原因”?
我们发现最有效的方法是挑选你每天使用的相同的东西,然后用不同的眼光看待它们。
听起来是不是太抽象了?
这是一个快速示例。当人们提到 Redux 时,工程师会想到状态机。当人们说钩子时,工程师会想到关注点分离。当人们说到组件时,工程师会想到封装。
最后,您将交付的代码是相同的。但你对它的理解并非如此。
你猜怎么着,一旦你这样做了。一旦您了解了这些原因,您将能够在完全不同的软件开发领域中使用这些知识。
如果您希望我指导您取得与我们的学员在他们的软件工程职业生涯中取得的同样惊人的成果,请单击此处与我预订 45 分钟的免费初步咨询。
所以你不会被绑定到后端或前端。您将不仅仅是另一个框架开发人员或 Stackoverflow 机器人。
在足够长的时间内坚持这样做,虽然其他开发人员会猜测和希望,但您将可以预见到高级及更高级别。