小言_互联网的博客

初级、中级和高级开发人员的差距在哪里?

450人阅读  评论(0)

全文共2537字,预计学习时长5分钟

图片来源:Clem Onojeghuo Unsplash

你是初级、中级还是高级开发人员不仅仅由你的编程年龄决定。很多初级开发人员都比高级开发人员年长,归根到底还是取决于技术。这并不是说高级开发人员一定样样精通,但他们肯定比初、中级开发人员更加熟练。

但是,高级开发人员与初、中级开发人员的差距也不仅仅在于编码技能。那么他们之间的差距到底在哪呢?

知识

高级开发人员的知识储备显然要比初、中级开发人员多得多。学习设计模式、体系结构、自动化测试、性能、安全性等知识是初、中级开发人员缩小与高级开发人员知识差距的好方法。

了解软件开发中的流程与操作也很重要。但是仅仅了解这些还不足以成为高级开发人员。知识不是最大的差距——只是其中一个因素。

编码

与大多数人的想法不同,编码并不是与计算机的通讯。相反,编码是人类进行通讯然后给电脑下达指令。最后,编码会被编译并转化为0和1。

要让以后会用到这个代码的开发者也能理解你的代码。一个新团队可能从来没见过某个代码,但必须能打开这个代码,并为其添加新的功能或修复错误。这是高级开发人员和初级开发人员之间一个比较大的差距。

这里就不提中级开发人员了,因为谈到编码技能,他们其实算是一种灰色地带。显然,他们的编码技能介于初级和高级之间,但可能更偏向于高级一些。因为编码技能主要与经验有关,而中级开发人员可能至少经历过一次一整个开发周期。所以他们已经犯过一些低级错误并从中吸取教训了。

如何辨别初级开发人员?

初级开发人员缺乏经验,有的才刚刚毕业,做的是第一份全职工作。他们的工作心态就是让代码正常运行。对他们而言,可以运行的软件就是好软件。

编程简单的代码其实是有难度的,而初级开发人员又恰恰不愿意做这个。他们喜欢写一些花里胡哨的代码。只要看到一行古怪的代码和过于复杂的抽象,就能断定其作者肯定是初级开发人员。这是他们向其他同行炫耀自己多会编码的方式,显然是不对的。

初级开发人员注重代码与计算机的关系,却忽略了与人的关系。

那么高级开发人员呢?

在看高级开发人员的代码时,你可能会想:就这些吗?代码剩下的部分呢?高级开发人员喜欢编写简单、易懂甚至是看似“愚蠢”的代码。这是开发人员在编程时需要具备的第一大素养之一。高级开发人员会遵循KISS(Keep it simple, stupid)原则:让代码简单些、傻些。

高级开发人员以不同于初级开发人员的方式斟酌他们的代码。他们编写的代码具有可维护性与可扩展性。这与初级开发人员的思路完全不同:高级开发人员考虑的是使用代码的人,而初级开发人员只想让代码在计算机上运行。

不仅仅是编码技能

除了编码技能,还有其他一些因素可以帮你辨别开发人员的级别。

一般来说,初级开发人员做的是最简单、影响较小的任务,不负责任何结构设计。同样,中级发开人员也不设计解决方案,仅执行任务。与初级开发人员不同的是,如果他们被分配到相对常规的任务中,可以在较少的监督下执行。高级开发人员可以独立研发应用程序。

这并不是说他们完全不会遇到问题。每个开发人员每天都会遇到很多问题,这一点是不会改变的。高级开发人员也不例外。

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

高级开发人员从不会不知所措,知道如何用正确的方法来解决问题。这并不是说他们不需要其他开发人员的帮助。有时候,最好的方法就是向在该领域有经验的其他开发人员寻求帮助。

只要不是处理涉及深层次知识的高度复杂任务,中级开发人员也可以提出正确的问题。

不要指望初级开发人员能直接提出正确的问题。由于缺乏经验,他们需要经验更丰富的开发人员来指导。初级开发人员只有获得必要的资源或大力的指导才能走向正确的方向。

进阶

我们都想提升自己,成为一个更好的开发人员。但是要如何进阶呢?

初级到中级

由于初级开发人员缺乏经验,经历几次完整的开发周期是很重要的。这个过程中你会不断地犯错,然后学会下次如何避开它们。

编码方面,要学习如何编写简单的代码。想一想下一个要使用这个代码的人。还要学习如何调试,因为这可以让你更好地了解过程中发生的事情。

此外,还要熟悉最佳做法,了解体系结构、性能、安全性等知识,缩小达到中级所需的知识差距。

中级到高级

中级进阶到高级相当困难。一些开发人员在整个职业生涯中都维持在中级。

高级开发人员知道哪些角可以去掉,哪些角应该保留。这些都是从过去的错误中吸取的教训。

如果想成为高级开发人员,必须准备好承担那些无人能解决的任务。不仅应该知道如何完成这项工作,作为高级开发人员,你也要帮助经验不足的开发人员。当其他开发人员无从下手时,你就是他们的后备力量。

高级开发人员掌握了他们的技术堆栈,这可能不会让你感到惊讶。这不仅仅关乎编码技巧,还要了解你公司中用到的所有工具和应用。

总结

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

与初级开发人员相比,高级开发人员编写代码的思路完全不同,并且写出的代码更加简洁。但编码技能也不是全部。知道要问什么问题以及如何跟进这些问题也至关重要。只有拥有丰富经验的高级开发人员才知道针对各种情况应该分别采取什么样的措施。

如果你是一名初级开发人员,要更专注于编写简单的代码并多经历几个开发周期。要从中级进阶到高级,必须重点学习固定的日常任务以外的东西。要愿意承担最艰巨的任务,完全掌握自己的技术堆栈。高级开发人员的另一个职责是为经验不足的开发人员提供支持服务。

最后用马丁·福勒的名言来总结:“任何傻瓜都能写出计算机可以理解的代码。而好的程序员写出来的一定是人可以理解的代码。”

留言 点赞 关注

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)


转载:https://blog.csdn.net/duxinshuxiaobian/article/details/102132707
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场