译文:初级,中级和高级开发人员之间的差异?
前语:不要为了读文章而读文章,一定要带着问题来读文章,勤思考。
作者:Daan | 来源:medium.com
作为初级,中级或高级开发人员并不仅仅与您拥有多年的编程经验有关。初级开发人员甚至可能比高级开发人员年龄大。这一切都取决于技能。这并不意味着高级开发人员必须成为所有人的专家,但可以肯定地说,高级开发人员比初级和中级开发人员更加熟练。
但不仅仅是编码技能使高级开发人员与中级和初级开发人员区别开来。那究竟是什么区别呢?
# 知识
显然,高级开发人员比初级和中级开发人员拥有更多的知识。了解设计模式,架构,自动化测试,性能,安全性等是初级开发人员与中级和高级开发人员缩小知识差距的好方法。
知道如何完成软件开发中的事情非常重要。但只是知道所有这些东西并不能使你成为高级开发人员。知识不是开发人员之间的最大区别 - 这只是其中一个因素。
# 编码
尽管大多数人认为,编码不是与计算机通信。编码是关于与人交流和指导计算机。最终,代码被编译并转换为零和一。
代码必须对将来使用它的其他开发人员有意义。从未见过代码的新团队应该能够打开代码并开始处理新功能或错误修复。这是初级和高级开发人员之间的巨大差异。
我将在这个比较中省略中级开发人员,因为在编码技能方面,中级开发人员是一个灰色地带。显然,它介于初级和高级之间。它可能更倾向于高级方面。这主要与经验有关,因为中级开发人员可能已经完成了整个开发周期至少一次。他们犯了许多最简单的错误并从中吸取了教训。
如何嗅出初级开发人员?
初级开发人员缺乏经验。有些刚毕业,正在开始他们的第一份全职工作。初级开发人员的心态通常是让代码工作。工作软件和良好的软件被认为是相同的。
编写简单的代码很难。这是初级开发人员不做的事情。初级开发人员编写奇特的代码。您可以通过古怪的单行和过于复杂的抽象来识别初级开发人员。这是初级开发人员炫耀并让其他开发人员知道他们可以编码的好方法。这是错的。
初级开发人员专注于代码的计算机方面而牺牲了人性化的一面。
高级开发人员怎么样?
在查看高级开发人员的代码时,您可能会想:这就是全部吗?代码的其余部分在哪里?高级开发人员编写简单,直接,甚至是愚蠢的代码。这是开发人员在编程时可以拥有的最大品质之一。一位资深开发人员遵循KISS原则:保持简单,愚蠢。
高级开发人员以与初级开发人员不同的方式思考他们的代码。由高级开发人员编写的代码将考虑可维护性和可伸缩性。这是一种与初级开发人员完全不同的心态 - 老年人正在考虑必须使用代码的人,而大三学生只是考虑让它适用于计算机。
不仅仅是编码技巧
除了编码技巧,还有一些其他因素可以告诉你谁是什么类型的开发人员
。
一般而言,初级开发人员执行影响较小的最简单的任务或任务。他们不做任何架构设计。中级开发人员也没有设计解决方案,他们只是执行任务。与初级开发人员的不同之处在于,只要将这些任务分配给相对常规的任务,他们就会以较少的监督执行这些任务。高级开发人员可以完全自己开发应用程序。
这并不意味着高级开发人员在此过程中没有任何问题。每个开发人员每天都有很多问题,而且不会改变。这对高级开发人员来说并没有什么不同。
不同之处在于,高级开发人员知道如何提出正确的问题以及如何处理这些问题。中级开发人员可以在他们相对日常的任务中提出正确的问题,但需要更复杂的任务帮助。
高级开发人员永远不会迷失,知道如何用正确的行动来跟进问题。这并不意味着高级开发人员不能向其他开发人员寻求帮助。有时,最好的方法是向其他有该领域经验的开发人员寻求帮助。
中级开发人员也应该能够提出正确的问题,只要他没有被分配到需要深入知识水平的高度复杂的任务。
你不应该指望一个初级开发人员立即提出正确的问题。由于初级开发人员缺乏经验,他们需要更有经验的开发人员的指导。初级开发人员需要获得必要的资源或向正确的方向大力推进。
# 进入下一个级别
作为开发人员,我们都希望自我提升并变得更好。但是,您可以采取哪些步骤来达到新的水平?
初级到中级
由于初级开发人员缺乏经验,因此至少要经历几次整个开发周期非常重要。通过这种方式,您将陷入大量陷阱并学习如何在下次避开它们。
在编码时,您应该学习如何编写简单的代码。想想下一个将要处理这段代码的人。您还应该学习如何调试,因为这将使您更好地了解过程中发生的情况。
此外,您应该熟悉最佳实践并了解架构,性能,安全性等。缩小达到中级所需的知识差距。
中级到高级
从中级到高级可能会非常困难。一些开发人员将在整个职业生涯中保持中等水平。
高级开发人员知道哪些角落可以切割,哪些角落不应该切割。这些都是过去犯错的难以吸取的教训。
如果你想要达到高级水平,你必须准备好接受没有人知道如何解决的任务。您应该了解的不仅仅是如何完成工作。
作为高级开发人员,您的工作也是帮助经验不足的开发人员。当他们不知道如何做某事时,你就是其他开发者的后备者。
高级开发人员掌握他们的技术堆栈可能并不令你感到惊讶。不仅仅是编码技巧。了解您所在公司内使用的所有工具和应用程序。
# 结论
初级,中级和高级开发人员之间的差异并非全部来自多年的经验。当然,可以肯定地说,高级开发人员比初级和中级开发人员更熟练。但知识并不是最重要的因素。
高级开发人员编写更简单的代码,并且与初级开发人员的思维方式不同。但它不仅仅是编码技巧。知道要问什么问题以及如何跟进这些问题是至关重要的。只有具有丰富经验的高级开发人员才知道如何在所有情况下做到这一点。
要成为初级开发人员,您应该专注于编写简单的代码并经历多个开发周期。要从中级到高级开发人员,您应该专注于学习而不仅仅是修复日常任务。您应该愿意承担最艰巨的任务并成为您的技术堆栈的主人。高级开发人员的另一个责任是成为缺乏经验的开发人员的后备。
我将给你留下Martin Fowler的一句话: “任何傻瓜都可以编写计算机可以理解的代码。优秀的程序员编写人类可以理解的代码。“
热文推荐