如何通过3个简单步骤成为高级开发人员

更新日期: 2022-01-19阅读: 943标签: 技术

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

  • 成为高级开发人员需要走的路是巨大的,大多数开发人员都低估了这一差异

成为一名高级开发人员归根结底是了解许多开发人员根本无法看到的大局。它涉及掌握测试、设计模式和干净的代码。但更重要的是,这意味着要有更高的标准。这意味着关心让代码正常工作并让它在未来继续工作。它是关于您为自己设定的标准,远远超出了您的代码质量。

  • 然后是关于思考方法、认知

理解构建软件不仅仅是编码,你必须摆脱记忆的点点滴滴,你必须看到大局。

除非您能有效地转变思维,否则您将永远只是另一个开发人员。

这就是为什么一些开发人员在职业生涯中飞速发展,而另一些开发人员则花费数年时间研究相同的遗留代码,停留在同一份工作中,对他们的未来没有真正的前景。

我很幸运住在柏林。四年前,我搬到这里是为了加快我的软件职业生涯,自 2010 年以来,软件行业一直在那里大规模发展。

通过观看这里的软件社区,我目睹了软件行业目前正在经历的巨大转变。我们曾经谈论过 react;现在,我们谈论 Web 组件和微前端。现在,我们讨论服务器端渲染、性能和第一个字节的时间。

我住在离欧洲大型科技公司总部几个街区的地方。N26、Zalando、Delivery Hero,十年前它们都是小型初创公司。 现在他们是上市公司,在全球雇佣了数千名软件工程师——他们声称甚至还没有达到增长的最高点。

这种巨大的转变并非柏林独有:随着初创公司成为跨国集团,软件行业呈指数级增长,成为高级开发人员的要求也在不断提高。

有趣的是,直到我辞掉开发人员的工作并指导了 80 多位开发人员后,我才意识到这些巨大的行业变化。

我意识到开发人员现在面临的复杂性越来越高——行业在发展,技术也变得越来越复杂。

如果我们想在这个行业生存并拥有程序员的未来——我们需要超越自己。

自从我自己完成这项工作以来,我还帮助数十名雄心勃勃的开发人员培养了在这种新环境中达到高级及更高水平所需的技术专长、思维深度和纪律。

以下是您在成为高级开发人员时需要学习的基本课程和要避免的错误。

最重要的是,这里是如何通过 3 个简单的步骤来做到这一点。


1.) 知道你不知道的

如果您不知道问题存在,您就无法解决问题。

作为开发人员,“社区”每天都会用我们不知道的东西轰炸我们:新库、新技巧、新方法等等——我们应该得到的数以千计的博客文章、YouTube 视频、课程和研讨会。转过头去。

突然间,你必须掌握设计模式、数据结构、微服务架构、Web 性能、算法和 git 命令才能过关。

但是,让我问你,这些闪亮的框架中有多少会提升你的技术技能?

现实中,很少。

首先,因为你的时间有限,你不可能学到所有的东西。

其次,因为他们中的大多数人都很好。了解 100 个 bash 命令是否会从根本上改变您对软件的理解?在 Leetcode 上记住奇异算法会让你的工作更有效率吗?

很可能不是。

医生不会给你开现在流行的药;他们为您提供所需的药物,并且证明有效。

要成功成为高级开发人员,您必须首先了解您现在所处的位置与“首选”专家工程师之间的确切差距。这部分取决于您工作的公司的规模以及您过去使用过的代码库。

为了让你的技术发展不受阻碍,你必须知道你不知道的东西。

你必须慢慢来,做一些自我反省,并具有战略意义。


2.) 不只是“让它有用”。

即使是高中生也可以使用一些代码行。困难的部分是让这些生产线明天也能正常工作。

使它们易于理解、易于维护和易于扩展。

那很难。

它是关于使事物清洁并赋予它们结构。初级人员关心今天让它工作,高级开发人员关心明天和后天如何工作。

我们对事物进行硬编码,重复自己并无处不在。

我得到它; 您的经理只关心您提供的功能,而您不想被解雇。代码看起来不太好,但您稍后会修复它。现在,您只想交付,因此您可以复制粘贴一些并使其工作。

然后另一个项目出现了,你忘记了。生活很快就会成为障碍。你又忘记了。

一行糟糕的代码变成了一个模块。一个模块成为一个项目。突然间,您被这个意大利面条式代码怪物包围了。

你失去动力。

迟早,你醒来时会问自己,“我到底是怎么落到这堆烂摊子中间的?”。

高级开发人员知道他们的直觉不会愚弄他们。他们知道,当他们走太多捷径时,就会造成技术债务。他们将不得不在深夜和额外的周末处理债务。

即使压力很大,高级开发人员也不会屈服。他们坚持自己的立场;他们坚持自己的标准。

他们知道 clean Code 不仅仅是一本书,也不仅仅是一句口头禅。这是一种无可辩驳的标准哲学。


3.) 你必须用模式思考来代替死记硬背

您无法记住进入软件开发的方式。

如果您想有一天构建应用程序,而不仅仅是处理一些已经存在的代码,您必须了解您所做工作背后的原则。

高级开发人员知道您编写的代码背后的“原因”。

这是一些开发人员停滞不前而其他开发人员增长的主要原因之一。他们陷入了复制粘贴的狂热。

我知道很多开发人员的工作不需要你考虑那么多(在这种情况下,你应该考虑跳槽)。很多工作都是重复的,比如构建一些组件或一些 api 端点。

那么如何才能摆脱记忆呢?

您如何了解事物背后的“原因”?

我们发现最有效的方法是挑选你每天使用的相同的东西,然后用不同的眼光看待它们。

听起来是不是太抽象了?

这是一个快速示例。当人们提到 Redux 时,工程师会想到状态机。当人们说钩子时,工程师会想到关注点分离。当人们说到组件时,工程师会想到封装。

最后,您将交付的代码是相同的。但你对它的理解并非如此。

你猜怎么着,一旦你这样做了,一旦您了解了这些原因,您将能够在完全不同的软件开发领域中使用这些知识。

在足够长的时间内坚持这样做,虽然其他开发人员会猜测和希望,但您将可以预见到高级及更高级别。

来自:https://mp.weixin.qq.com/s/Kd_sf5llO-Ee4dmon36Exw

链接: https://www.fly63.com/article/detial/11051

技术开发,如何与领导谈涨薪

归根结底,涨薪其实是达到自己价值与薪资的最佳匹配. 好比你就是一只股票,公司当然会选择那些估值远高于股指的股票. 所以唯有不断增长自己的价值,才会成为你在涨薪谈判中的重要筹码.

bt种子简介与magnet磁力介绍

BT下载相信老司机们都接触过,为什么BT种子会慢慢被磁链取而代之?它们都可以用于BT下载,除了文件和字符串这表面上的区别,背后的技术上又有何不同?

WebService的两种方式SOAP和REST,之间的区别与优缺点

SOAP用于在Web Service中把远程调用和返回封装成机器可读的格式化数据。REST形式上应该表述为客户端通过申请资源来实现状态的转换,在这个角度系统可以看成一台虚拟的状态机。

工作了四五年,感觉技术上依旧长进不大

技术精进是一个持续增长的过程,而非一朝一夕,即便你在最短时间的掌握了大量的技术点,如何不及时应用到实际问题中,也很容易被遗忘。有朋友会说,我平时也挺努力的,一直不间断的学习

在阿里做了五年技术主管,我有话想说

今天的文章,他将继续深入探讨这一话题,从管理的角度分享技术TL的核心职责,主要包括团队建设、团队管理、团队文化、沟通与辅导、招聘与解雇等,希望与大家共同探讨、交流。

你和阿里员工的技术水平到底差几个等级

根据近年数据,中国现有程序员500万左右,其中P1、P2数量占据了近100万,P8及以下程序员约有490万,P9及以上仅有10万。80后是企业的技术支柱,90后已开始逐步成为企业的中坚力量

程序员常逛的技术社区

技术的成长路上,少不了跟一些志同道合的人交流,阅读一些技术前辈们的经验分享。这一路走来,还是要感谢有技术社区的陪伴,让码字之余,在技术、以及技术以外,都有不少收获。

未来,哪些技术在前端开发的地位会越来越高?

过去的这段时间里,不论是互联网巨头还是初创企业,都纷纷进行了一波优化。渐趋理智的资本淘汰了一批不能适应市场的业务,而业务的紧缩也淘汰了一批不能适应市场的程序员。

合格PHP程序员应该掌握哪些技术?

除了能够完成基本的PHP业务开发,还能够解决大部分深入复杂的技术问题,并且可以独立设计完成中大型的系统设计和开发工作;自己能够独立hold深入某个技术方向,在这块比较专业

技术追求的误区[观点与思考]

认识的一个 10 人左右的团队,本来是用 PHP 的,这些年看到网上很多用 / 转 Go 的消息,于是团队里有不少人就焦虑了,希望找一个合适的切入时间,能够试一把 Go

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!