初级程序员和高级程序员的区别,你了解吗?

113e8abbf0aec5aedb5ab99ba63cccba.png

Midjourney 创作,可爱的程序员们

并不是每个开发者都是一样的。在之前的文章中,我曾经说过,不是每个初级开发者都是一样的,甚至每个中级或高级开发者也不在同一个水平线上。有一些最基本的要求通常是未明文规定的,它们决定了你的开发水平。然而,每个公司对每个职位的要求都是不同的。

在本文中,我计划将最常见的要求按照特定的级别或职称进行分类。这可能不是你作为开发者真正水平的完全反映,但是非常接近。

先发一点牢骚

我想强调的是,入门级并不意味着你没有技能。它只是意味着你至少了解基础知识,但缺乏商业项目经验。

我之所以这么说是因为我曾经认识一个孩子,他认为自己可以申请入门级Web开发者角色,然后进入这个领域。当我知道他想成为一名开发者时,我感到很兴奋。我会尽我所能去帮助他。当我询问他的知识水平时,他甚至不懂基本的HTML。我并没有放弃,但他自己却放弃了。我建议他使用freecodecamp作为资源学习基础知识,并在几周后与我联系。他最终觉得编程不适合他。我觉得这很遗憾。

入门开发人员(实习开发,Entry level)

入门级开发者具备基本的基础知识。但他们需要不断地指导,每个任务都可能需要一些帮助。在一个开发者可以开始并完成任务而不需要太多询问的情况下,他们才能摆脱入门级阶段。这并不意味着他们不会问问题,他们会问。任务可能包括记录代码库、调试或更新程序包等有些复杂的任务。

需要记住的是,对这些开发者的期望非常低,他们很可能没有时间限制。大多数人不会长时间保持入门级开发者的身份。我见过开发者在6周内从入门级到初级,但也有些人可能需要几个月。因此,大多数的编程训练培训班都要求至少12周的学习时间。

一个开发者理想情况下不应该超过6个月到1年的时间仍处于入门级阶段。

初级开发者(Junior developer)

初级开发者已经具有一些商业项目经验,但可能仍然不到2年。初级开发者和入门级开发者之间的区别在于初级开发者可以执行简单的任务。这时候任务仍然很简单。例如文本更改、CSS改进和一般的漏洞修复。此时也会开始编写测试用例。初级开发者仍然在中级和高级开发者的指导下工作,并经常协助他们构建新功能。在开始和完成任务时,仍会有一些问题,但初级开发者应该首先尝试实现解决方案,可以使用Google这样的搜索引擎来查找相关信息,以便帮助审查问题并找到解决方案。

开发者通常可以担任初级开发者3-4年。但一些出色的开发者甚至可以跳过几年,进入中级开发者职位。大多数优秀的公司将根据绩效而非工作年限来晋升您。

中级开发者(Mid-level developer)

中级开发人员,通常具有一定经验和技能,在工作中不需要太多资深开发人员的指导和帮助,可以独立地参与各种任务的完成。他们的能力介于初级和资深之间。

他们可以构建新功能,编写良好的测试用例,维护现有代码,更重要的是他们会在待办事项细化会议期间参与团队讨论。这些开发者通常参与许多业务领域,而不仅仅是他们的主要工作职能,即编码。这些领域包括在产品经理要求时协助创建技术用户故事,以及与UX团队合作讨论新设计。中级开发者可以协助指导初级同事,但资深开发人员仍将在中级工程师的发展过程中扮演重要的角色,包括参与架构讨论。

根据我的经验(可能会有所变化),大多数开发人员都是中级开发者。

高级开发者(Senior Developer)

高级开发人员不同于中级开发人员,他们被视为团队中的领袖,因此可能参加的会议比其他开发者多。因此,他们可能会编写的代码相对较少。但这并不意味着他们不是优秀的开发者。他们通常非常擅长调试和解决复杂的问题。

在这个级别上,高级开发者与软件架构师或工程经理紧密合作,确定或建立交付产品路线图的策略。一些高级开发者甚至可以被称为技术领袖。他们还有责任监督项目,并实现迭代目标。技术领袖还可以决定项目使用的技术栈。

首席开发者(开发经理或总监,Principal Developer)

首席开发者负责监督整个组织的开发计划,从技术角度出发,如何交付业务需求。他们需要确保所有开发都具有良好的质量,并分析和缓解他们负责的项目的SDLC风险。首席工程师通常是一位非常全面发展的开发人员,他们也拥有良好的非技术技能,例如多任务处理能力,能够彻底分析任务,拥有出色的沟通技能,并能有效地处理开发人员关系。大多数情况下,首席开发者将成为领导者,所有开发人员都会向他们仰望。

延伸阅读:什么是 SDLC风险?

SDLC是软件开发生命周期,它包括从需求定义、设计、开发、测试、部署到维护等多个阶段。SDLC风险指的是在整个软件开发过程中可能出现的各种潜在风险和问题,这些问题可能会影响软件的质量、进度和预算。这些风险可能涉及软件的功能、性能、可靠性、安全性、兼容性、可维护性等方面。SDLC风险管理旨在对这些潜在风险进行识别、评估、规划和控制,以确保项目能够按计划进行并最终交付符合质量标准的软件产品。

结束

可能还有更多级别,但我在文章中包括的是您每天都会遇到的最常见类型的开发人员。当您问自己自己处于哪个级别时,诚实很重要。如果您已经工作了4年但仍觉得像初级开发者,那么请问自己,是什么阻止了您的晋升。尝试确定您知识中的差距并努力弥补它们。

今天的分享就到这里,感谢你的阅读,希望能够帮助到你,文章创作不易,如果你喜欢我的分享,别忘了点赞转发,让更多有需要的人看到,最后别忘记关注「前端达人」,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。

原文:
https://javascript.plainenglish.io/the-difference-between-your-everyday-developers-3acfbb584364

作者:Mazaher Muraj

非直接翻译,有自行改编和添加部分,翻译水平有限,难免有疏漏,欢迎指正

猜你喜欢

转载自blog.csdn.net/Ed7zgeE9X/article/details/129905354