又是一年PPT季,换个角度吐槽吐槽。

初级、中级或高级开发人员,并不仅仅跟多少年的编程经验相关。初级开发人员甚至比高级开发人员年龄更大,一切都取决于技能。

首先在知识层面,高级开发人员比初级、中级开发人员掌握更多的知识,更了解设计模式、架构、自动化测试、性能、安全性等,这是初级开发人员缩小与中级、高级开发人员之间的知识差距的好方法。

其次在编程层面,不管怎样,代码最终都被编译并转为一连串的 0 和 1。代码必须对将来使用它的其他开发人员有意义。

一个以前从未见过该代码的新团队应该能够阅读该代码并开始研究新功能或进行 bug 修复。

所以,代码的易懂程度也是初级和高级开发人员之间的巨大差异所在。

如何识别初级开发人员呢?

初级开发人员缺乏经验,他们的心态通常是能让代码工作就万事大吉了。编写简单的代码其实是一件很困难的事情,这恰恰就是初级开发人员不擅长的。

初级开发人员倾向编写花哨的代码。你可以通过古怪的、复杂的、抽象的代码来识别出初级开发人员。另外,初级开发人员只专注于代码的计算机方面,而忽视了人性方面。

那么,高级开发人员呢?

高级开发人员在编程时拥有的最大品质之一是遵循 KISS(Keep it Simple and Stupid) 原则:保持简洁,愚蠢。

他们编写的代码会考虑到可维护性和可扩展性。高级开发人员考虑的是必须与代码打交道的人,而初级开发人员只是考虑如何让代码在计算机上工作。

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

一般来说,初级开发人员执行最简单的任务或影响较小的任务。他们不参与任何架构设计。

中级开发人员也不负责设计解决方案,他们只是执行任务。与初级开发人员的不同之处在于,只要分配给他们相对常规的任务,他们就会执行这些任务,无需过多的监督。

而高级开发人员则完全可以自己开发应用程序。

此外,高级开发人员知道如何提出正确的问题,以及如何处理这些问题。当涉及到相对常规的任务时,中级开发人员可以提出正确的问题,但在更复杂的任务上就力有未逮,需要高级开发人员的帮助了。

开发人员都想提高自己,变得更好。那么有哪些方法可以晋升到下一个层次呢?

首先来看从初级开发人员到中级开发人员。由于初级开发人员缺乏经验,所以至少要经历几次整个开发周期,在陷阱中找到避免问题的方法。

还有学习如何编写简单的代码,想想下一个将要处理这段代码的人。还应该学习如何调试,以便更好地理解这一过程中发生的事情。

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

再来看从中级开发人员到高级开发人员的晋升。

这可能会相当困难。有些开发人员在整个职业生涯中,始终处于中级水平。

高级开发人员知道什么可以走捷径,什么永远不可以走捷径。这些都是从过去所犯的错误中汲取的教训。

高级开发人员的工作还包括帮助经验较少的开发人员,相当于后备力量。

另外,成为高级开发人员可不仅仅是编程技能,还要了解你所在公司中使用的所有工具和应用程序。

记住“任何傻瓜都可以写出计算机能理解的代码,而优秀程序员可以写出人能读懂的代码(Any fool can write code that a computer can understand. Good programmers write code that humans can understand.)”。

更多推荐

换个角度看编程人员等级