如何识别程序员编码水平:初级?中级?高级?

更新日期: 2019-07-07阅读: 2.1k标签: 程序员

作为开发人员的初、中、高级并不仅仅与拥有多少年的编程经验有关。有时候初级开发人员甚至可能比高级开发人员年龄大。同样,这也这并不意味着高级开发人员必须成为所有人的专家。不过可以肯定地说,高级开发人员比初级和中级开发人员更加熟练。但不仅仅是编码技能使高级开发人员与中级和初级开发人员区别开来。

接下来让我们一起来探究一下,究竟可以怎样来判断开发人员的初、中高级?


知识面

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

知道如何完成软件开发中的事情非常重要。但只是知道所有这些东西并不能使你成为高级开发人员。知识不是开发人员之间的最大区别 - 这只是其中一个因素。


编码

尽管大多数人认为,编码不仅仅单纯是计算机通信。编码是关于与人交流和“操控”计算机。最终,代码被编译并转换为零和一。

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

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


如何辨别初级开发人员?
初级开发人员缺乏经验。有些刚毕业,正在开始他们的第一份全职工作。初级开发人员的心态通常是让代码工作。可以工作的软件和好的软件对他们而言似乎没什么太大区别。

编写简单的代码很难。这是初级开发人员不做的事情。初级开发人员多会编写一些比较“奇特”的代码。您可以通过那些看起来有些古怪的单行和过于复杂的抽象化来识别初级开发人员。这是初级开发人员炫耀并让其他开发人员知道他们可以编码的好方法。但这样的做法其实是错的。

初级开发人员专注于代码在计算机的方面但却牺牲了人性化的一面。


高级开发人员怎么样?
在查看高级开发人员的代码时,您可能会想:这就是全部吗?代码的其余部分在哪里?高级开发人员编写简单、直接,甚至是“愚蠢”的代码。但这其实是开发人员在编程时可以拥有的最好的品质之一。一位资深开发人员遵循KISS原则:Keep it simple, stupid。

高级开发人员与初级开发人员在用不同的方式思考他们的代码。由高级开发人员编写的代码将考虑可维护性和可伸缩性。这是一种与初级开发人员完全不同的心态 - 老年人正在考虑必须使用代码的人,而大三学生只是考虑让它适用于计算机。


不仅仅是编码技巧

除了编码技巧,还有一些其他因素可以告诉你谁是什么类型的开发人员。

通常情况下,初级开发人员会做一些影响较小的或较为简单的任务。他们不做任何架构设计。中级开发人员同样也不做解决方案,他们只是执行任务,但不同之处在于,在分配相对常规的任务时,他们就会以较少的监督去执行这些任务。而高级开发人员可以完全自己开发应用程序。

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

不同之处在于,高级开发人员知道如何正确地发现问题以及如何处理这些问题。中级开发人员可以在他们相对日常的任务中提出正确的问题,但需要更多的任务帮助。

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

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

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


进入下一个级别

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

初级到中级
由于初级开发人员缺乏经验,因此至少经历几次整个开发周期非常重要。通过这种方式,你可能将陷入大量陷阱并学习如何在下次避开它们。

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

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

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

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

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

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

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


结论

初级、中级和高级开发人员之间的差异并非全部来自多年的经验。当然,可以肯定地说,高级开发人员比初级和中级开发人员更熟练。但知识并不是最重要的因素。

高级开发人员编写更简单的代码,并且与初级开发人员的思维方式不同。但它不仅仅是编码技巧,知道要问什么问题以及如何跟进这些问题是至关重要的。只有具有丰富经验的高级开发人员才能在复杂的实际情况下做到这一点。

要成为中级开发人员,您应该专注于编写简单的代码并经历多个开发周期。要从中级上升到高级开发人员,你不仅需要专注于学习而不仅仅是修复日常任务,同时还应该愿意承担最艰巨的任务并成为你的技术堆栈的主人。别忘了,高级开发人员的另一个责任是成为缺乏经验的开发人员的后援。

我将留下Martin Fowler的一句话:“任何傻瓜都可以编写计算机可以理解的代码,但优秀的程序员编写的是人类可以理解的代码。“(Any fool can write code that a computer can understand. Good programmers write code that humans can understand.)

以上信息来源于网络,由“京东云开发者社区”公众号编辑整理,不代表京东云立场。



链接: https://www.fly63.com/article/detial/4573

1024节日的由来,程序员的你最想对自己说的是什么?【1024程序员节日】

吃饭睡觉写代码,基本都程序猿的大部分生活了,作为从事最累的职业之一的我们终于有了自己的节日,那就是1024。1024向程序员致敬,向自己致敬,向未来致敬。

一个程序员的运气有多重要

互联网注定是一个不能安宁的行业,有一些人在努力引领变化,有一些人在努力适应变化,有一些人在被时代的浪潮淘汰。这个世界唯一变的就是变化,人生唯一不能停的就是学习,说到底,要想不被淘汰,只有不断的学习。

如何成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未来,所以我仅把10x Programmer叫做10倍速的程序员。

优秀的程序员是不看源码的,这是真的么?

仍是要永远 ctrl+v,永远拿来主义。仍是要时时刻刻对美好满怀期待,对未来充满渴望,对经典心怀敬畏。要记住啊,能原创而不原创,有源码而远源码,才是最无知的成熟。

优秀程序员的十个习惯

优秀程序员有哪些好的习惯:1. 想清楚,再动手写代码,2. 不交流,就会头破血流,3. 文档没人看,但还是要写,4. 一定要写注释,5. 别指望需求会稳定

程序员和用户

我曾经说过,程序员不是一般的人,是具有某种超能里的人。但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,会认为自己很普通,跟常人一样,所以,程序员能做到的事情

一个程序员送给大学生弟弟的那些话

分析自己的处境; 做适合自己的选择; 以成长为目的,担负起更多责任,打破对做事的认知; 把握机遇,去锤炼自己; 抛弃一些懒惰,多一些积极;向牛逼的人靠近,向给你提供条件帮助你学习的老师靠近。以上结合了我自己的经历,希望文章能更形象。

程序猿跳槽季,为什么你的薪水总升不上去?【转载】

现在身处跳槽高峰季,作为即将跳槽的我,在这里分享几点建议给大家。众所周知,找工作的前提是面试,面试的前提是过了简历,过了简历的前提是你怎么投。

程序员养生攻略_程序员防猝死指南

程序员在其职业生涯中,健康问题尤为突出。但是大部分程序员只顾码字,却往往忽略了自身的健康问题。这或许是因为写代码太入神,也或许是因为来自老板的压力太大。

程序员笔名、别名_适合程序员的英文名字

一个厉害的程序员,都会有一个牛逼哄哄、有辨识度有个性的英文别名。在公司同事中很更好的称呼,这篇文章翻译整理了一下适合程序员的英文名字

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!