初级、中级和高级开发人员之间的差异

成为初级、中级或高级开发人员不仅仅与您拥有的多年编程经验有关。初级开发人员甚至可能比高级开发人员年长。这一切都归结为技巧。这并不意味着高级开发人员必须是所有方面的专家,但可以肯定地说,高级开发人员比初级和中级开发人员的技能要高得多。

但不仅仅是编码技能将高级开发人员与中级和初级开发人员区分开来。那么究竟有哪些区别呢?

知识

显然,高级开发人员比初级和中级开发人员拥有更多的知识。了解设计模式、架构、自动化测试、性能、安全性等是初级开发人员缩小与中高级开发人员知识差距的好方法。

了解软件开发中的事情应该如何完成是很重要的。但是仅仅了解所有这些内容并不能使您成为高级开发人员。知识并不是开发人员之间最大的区别——它只是因素之一。

编码

尽管大多数人认为,编码不是与计算机通信。编码是关于与人类交流指导计算机。最终,代码被编译并转换为 0 和 1。

代码必须对将来使用它的其他开发人员有意义。以前从未见过代码的新团队应该能够打开代码并开始研究新功能或错误修复。这就是初级和高级开发人员之间的巨大差异。

在这个比较中,我将忽略中级开发人员,因为中级开发人员在编码技能方面是一种灰色地带。显然,它介于初级和高级之间。它可能更倾向于高级方面。这主要与经验有关,因为中级开发人员可能至少经历过整个开发周期一次。他们犯了很多最简单的错误,并从中吸取了教训。

如何嗅出初级开发人员?

初级开发人员缺乏经验。有些人刚刚毕业,开始了他们的第一份全职工作。初级开发人员的心态通常是让代码工作。工作软件和好的软件被认为是相同的。

编写简单的代码很难。这是初级开发人员不会做的事情。初级开发人员编写花哨的代码。您可以通过古怪的单行代码和过于复杂的抽象来识别初级开发人员。这是初级开发人员炫耀并让其他开发人员知道他们可以编写多好的代码的方式。这是错误的。

初级开发人员专注于代码的计算机方面,而忽略了人类方面。

那么高级开发人员呢?

在查看高级开发人员的代码时,您可能会想:这就是全部吗?剩下的代码在哪里?高级开发人员编写简单、直接,甚至可能是愚蠢的代码。这是开发人员在编程时可以拥有的最大品质之一。高级开发人员遵循 KISS 原则:保持简单,愚蠢。

高级开发人员以不同于初级开发人员的方式思考他们的代码。由高级开发人员编写的代码将考虑到可维护性和可扩展性。这是一种与初级开发人员完全不同的思维方式——高级开发人员考虑必须使用代码的人,而初级开发人员只是考虑让它为计算机工作。

不仅仅是编码技能

除了编码技能之外,还有一些其他因素可以告诉您谁是哪种类型的开发人员。

一般而言,初级开发人员执行最简单的任务或影响较小的任务。他们不做任何建筑设计。中级开发人员也不在设计解决方案,他们只是执行任务。与初级开发人员的不同之处在于,只要将他们分配给相对常规的任务,他们就可以在较少的监督下执行这些任务。高级开发人员可以完全自己开发应用程序。

这并不意味着高级开发人员一路上没有任何问题。每个开发人员每天都有很多问题,而且不会改变。这对高级开发人员来说没有什么不同。

不同之处在于高级开发人员知道如何提出正确的问题以及如何处理这些问题。中级开发人员在处理相对常规的任务时可以提出正确的问题,但在更复杂的任务上需要帮助。

高级开发人员永远不会迷失,并且知道如何以正确的行动跟进问题。这并不意味着高级开发人员不能向其他开发人员寻求帮助。有时最好的方法是向在该领域有经验的其他开发人员寻求帮助。

中级开发人员也应该能够提出正确的问题,只要他没有被分配到需要深入知识水平的高度复杂的任务。

您不应该期望初级开发人员立即提出正确的问题。由于初级开发人员缺乏经验,他们需要更有经验的开发人员的指导。初级开发人员需要获得必要的资源或朝着正确方向大力推动。

进入下一个层次

作为一名开发人员,我们都希望提高自己并变得更好。但是,您可以采取哪些步骤来达到更高的水平?

初级到中级

由于初级开发人员缺乏经验,因此至少要经历整个开发周期几次,这一点很重要。这样你会落入很多陷阱,并学会下次如何避免它们。

在编码方面,您应该学习如何编写简单的代码。想想下一个将要处理那段代码的人。您还应该学习如何调试,因为这将使您更好地了解过程中发生的事情。

此外,您应该熟悉最佳实践并了解架构、性能、安全性等。缩小达到中级所需的知识差距。

中级到高级

从中级到高级可能非常困难。一些开发人员将在他们的整个职业生涯中保持中级水平。

高级开发人员知道哪些角落可以削减,哪些角落不应该削减。这些都是通过过去犯下的错误吸取的教训。

如果你想达到高级水平,你必须准备好接受没有人知道如何解决的任务。您应该知道的不仅仅是如何完成工作。

作为高级开发人员,您的工作也是帮助经验不足的开发人员。当其他开发人员不知道如何做某事时,您是他们的后备。

高级开发人员掌握他们的技术堆栈,这可能不会让您感到惊讶。不仅仅是编码技能。了解您工作的公司内正在使用的所有工具和应用程序。

结论

初级、中级和高级开发人员之间的区别不仅仅在于多年的经验。当然,可以肯定地说,高级开发人员比初级和中级开发人员更熟练。但知识并不是最重要的因素。

与初级开发人员相比,高级开发人员编写更简单的代码并具有不同的思维方式。但这不仅仅是编码技能。知道要问什么问题以及如何跟进这些问题至关重要。只有拥有丰富经验的高级开发人员才知道如何在所有情况下执行此操作。

要成长为初级开发人员,您应该专注于编写简单的代码并经历多个开发周期。要从中级到高级开发人员,您应该专注于学习,而不仅仅是解决日常任务。您应该愿意承担最艰巨的任务,并成为您技术堆栈的大师。高级开发人员的另一个责任是成为经验不足的开发人员的后备。

我将引用 Martin Fowler 的一句话: “任何傻瓜都能写出计算机可以理解的代码。优秀的程序员会编写人类可以理解的代码。”

技术交流Q群: 1012481075 群内有各种流行书籍资料
原文链接:

发表评论

您的电子邮箱地址不会被公开。

WeChat
WeChat
QQ
QQ
返回顶部