“ June”,“ Middle”和“ Senior”之间的区别。 而该怎么做才能上一个台阶



开发人员的水平并不一定取决于多年的编程经验:“ 6月”可能比“高级”要老,这全都取决于专业技能。 这并不意味着高级开发人员应该是所有领域的专家,但是可以自信地说,他的技能比初级和中级开发人员要发达得多。

但是,各个级别的开发人员除实际编程能力外,还具有其他优势。 那么到底有什么区别呢?

翻译成Alconost

知识点


显然,高级开发人员具有更广泛的知识。 对于初级开发人员而言,学习设计模式,体系结构,测试自动化,提高生产率和确保安全性的方法等是弥合此知识鸿沟的绝佳方法。

重要的是要知道应该如何创建软件。 但是,仅了解所有这些并不意味着成为高级开发人员。 知识不是关键差异,而只是因素之一。


照片-Clem Onojeghuo ,不飞溅

程式设计


尽管有大多数普通人的意见,但编程并未与计算机对话。 编程意味着与人沟通 并向计算机发出指令 。 毕竟,代码最终会编译并变成零和一。

该代码对于将来会使用它的人应该是有意义的。 为其他人选择项目的团队应该能够打开其源代码,并着手进行新功能或错误修复。 这就是“六月”和“高级”之间的本质区别。

在此比较中,我不会考虑中级开发人员,就编程技能而言,它们代表了一种过渡领域-更加接近高级开发人员的水平。 基本上,“中级”职位是由经验决定的,因为通常“中级”至少要经历整个开发周期一次,并且犯下许多简单的错误并从中学习。

如何计算“六月”


年轻的开发人员没有经验:有时他们是刚开始全职工作的毕业生。 在他们看来,主要任务是使代码正常工作。 如果该应用程序正常工作,那就很好。

编写简单的代码是一项艰巨的任务。 而且年轻的开发人员无法执行此操作:通常,他们的代码很特殊。 您可以通过奇怪的单行代码和过于复杂的抽象来识别它们-这就是“琼斯”如何展示自己并试图使其他人理解他们的编程能力的方式。 但这是错误的方法。

初级开发人员专注于代码的“计算机”部分,而忽略了“人类”部分。

如何编写代码“高级”


查看高级开发人员的代码,您可能会认为:仅此而已吗? 其余在哪里? 一个经验丰富的开发人员会编写简单,可理解的,有时甚至是太简单的代码-这是编程时最重要的素质之一。 “高级”遵循KISS原则,该原则指出代码应简单明了: “保持简单,愚蠢”

因此,高级开发人员使用完全不同的方法来编写代码:它考虑了进一步支持和可伸缩性的便利性。 这与初级开发人员的想法完全不同:“高级”会考虑将要使用代码的人员,而“ June”对于使代码正常工作很重要。

不编程一个


除了编程技巧外,还有其他因素可以告诉您什么样的开发人员在您面前。

初级开发人员通常执行最简单,最重要的任务; 他们不开发架构。 中级开发人员也不开发解决方案,而只是执行任务,但是如果任务很典型,则它们的控制较少。 但是“高级”可以完全独立地开发应用程序。

这并不意味着高级开发人员在此过程中不会有任何问题:我们每个人每天都有很多问题,“高级人员”也不例外。

区别在于后者知道如何提出正确的问题以及如何处理收到的答案。 经验不足的开发人员可以在执行日常任务时提出正确的问题,但是在更复杂的情况下,他们必须寻求帮助。

资深开发人员永远不会迷失方向,并且在收到问题答案后便知道如何正确操作。 这并不意味着他不会向他人征求意见-有时最好的解决方案是寻求在该领域有更多经验的人的帮助。

中级开发人员也应该能够提出正确的问题,除非这是一项非常艰巨的任务,需要深入的知识。

但是在“六月”的情况下,不应指望他们能够提出正确的问题:他们没有足够的实践,因此应该由更有经验的同事领导。 应为初级开发人员提供必要的资源或正确方向的良好推动。

进入下一个级别


我们每个人都想提高,包括专业上。 但是,可以采取什么步骤进入下一个阶段?

从六月到中旬


新手开发人员没有丰富的经验,因此至少要经历整个开发周期几次很重要-这样一来,您可以在途中遇到很多陷阱并学会避免它们。

至于编程,您应该学习如何编写简单的代码:假设您之后另一个人将在项目上工作。 此外,您将必须学习如何调试-这将加深您对程序执行过程的了解。

您还需要使自己熟悉最佳实践,并了解有关体系结构,性能,安全性等的更多信息。弥合将您与中层分开的知识鸿沟。

从“中间”到“高级”


中级开发人员要想获得更高的成绩可能会很棘手:有些人在整个职业生涯中都停留在这个水平上。

高级开发人员知道在什么情况下可以做出折衷,以及在任何情况下都无法做到这一点-因为他设法根据自己的痛苦经验对其进行了测试。

要进入“高级”级别,您需要准备好完成没有人知道如何解决的任务。 您需要知道并且能够做的不仅仅是完成您的工作。

此外,作为高级开发人员,您应该为经验不足的人提供帮助:剩下的是您的生命线,当您不知道如何做时可以抓住。

鉴于此,“高级”完全拥有自己的技术栈也就不足为奇了。 您不仅需要能够编程,而且需要了解雇用您的公司中使用的所有工具和应用程序。

结论


“六月”,“中级”和“高级”之间的区别不仅在于多年的经验。 是的,可以肯定地说,后者比初级和中级开发人员具有更多的开发技能。 但是知识不是最重要的因素。

经验丰富的开发人员会编写更简单的代码,并采用不同的方法。 但是,除了能够编程外,知道要问什么问题以及如何处理收到的答案也很重要。 它是高级开发人员-该人员的丰富经验可以使您在任何情况下都不会困惑并找到解决方案。

“ June”,要进一步发展,您需要尝试学习如何编写简单的代码,并经历几个完整的开发周期。 要超出平均水平,您需要专注于学习一些知识,而不仅仅是解决错误的常规任务。 您应该准备好执行最复杂的任务并完全掌握您的技术堆栈。 高级开发人员的另一项责任是帮助经验不足的人。

引用马丁·福勒的话:

“任何傻瓜都可以编写计算机可以理解的代码。 优秀的程序员编写人们可以理解的代码”

关于翻译

这篇文章由Alconost翻译。

Alconost以70种语言本地化游戏应用程序和网站 。 母语翻译,语言测试,带有API的云平台,持续本地化,24/7项目经理,任何格式的字符串资源。

我们还制作广告和培训视频 -适用于销售,图像,广告,培训,预告片,专家,Google Play和App Store的预告片的网站。

了解更多

Source: https://habr.com/ru/post/zh-CN463755/


All Articles