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

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

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

  1. 如何从初级程序员变成高级程序员?赶紧看一看

    高级程序员是一名犯过其领域内所有可能犯到的错误的专家. 如果按照工作经验对软件开发人员进行分类,可能是这样的: 初级:2-3 年工作经验 高级:10 年以上工作经验 中级:介于初级和高级之间 这种按工 ...

  2. 初级程序员和高级程序员的区别(转)

    初级程序员和高级程序员的区别   一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的.比如,在初级程序员阶段时,他会觉得VB也能做出应用来,且看起来也不错. 但到了中级程序员时,他 ...

  3. 低级程序员和高级程序员的区别在哪?学会像高级程序员一样思考!

    低级程序员认为自己与高级程序员的区别:高级程序员任何功能都能编码实现, 编码速度快, 代码无 bug. 正如一惯的那样, 低级程序员之所以低级, 正是因为他们勉强能看到(或者根本看不到)事物的表象而看 ...

  4. 低级程序员和高级程序员的区别在于?

    低级程序员和高级程序员的区别在于,高级程序员时刻意识到即使代码看上去完美,也可能会存在各种各样的Bug.因此,在编写代码之前,他们会先确保自己的逻辑和设计合理通顺.有些程序员甚至会在工作台上放置一个小 ...

  5. 精准鉴别初级、中级、高级程序员,你是哪一种?

    本文转载自[顶级程序员] 源 / 顶级程序员    文 / An先生 文章素材整理自:V2EX @jonde 初级:产品是大爷 中级:怼过产品 高级:打过产品 @PureWhiteWu  初级:加班 ...

  6. 初级程序员与高级程序员

    初级程序员阶段时,会觉得VB也能做出看起来不错的应用程序. 到了中级程序员时,就不会选择VB而可能用MFC了. 到了高级程序员时,首先不会考虑到用什么工具了,考虑的绝对是什么才是具有最快效率. 最稳定 ...

  7. 用维度概念来定义初级、中级、高级程序员

    网络上众说纷纭,大都站立在对某一技术的知识掌握量上来界定,或者有些人说着说着,发现无法自圆其说,然后就说这三种人就是一种叫法,你觉得你是高级你就高级了,从概念上讲,这三者之间必然有质的区别,单纯以量是 ...

  8. 初级,中级,高级程序员需要具备的能力

    1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本.把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linu ...

  9. java高级程序员(Java高级程序员招聘)

    Java高级软件工程师和Java程序员有什么区别 现实中的java高级软件工程师就是在某一个行业有很充足的开发经验,很了解开发模式就差不多了,一般的公司都会叫你高级工程师 程序员就是只敲敲代码 ,对啥 ...

  10. 初级项目经理和高级项目经理的区别

    项目经理也有三六九等? 初级项目经理和高级项目经理是有很大区别的,看看下面的介绍就知道你是哪种类型的项目经理了. 项目经理作为一名管理者,管理的内容繁多,成为一名优秀的管理者真心不易!他们要管人.理事 ...

最新文章

  1. jQuery中$(function(){})与(function($){})(jQuery)的区别
  2. 找出数组中出现次数超过一半的数
  3. 2021-9-下旬 数据结构 - 线性表 - 循环链表 - java实现代码(复习用)
  4. sql企业管理器_Valentina Studio for mac(开源数据库管理器)
  5. 14个JavaScript代码优化技巧
  6. git工作区和暂存区(4)
  7. .net中 参数out,ref,params的区别
  8. SQL Sever的安装教程
  9. 74系列芯片引脚图资料大全
  10. 【极乐净土mmd】动作+镜头数据下载
  11. python怎么读write_python怎么读
  12. kali渗透姿式小汇总
  13. mac卸载软件怎么卸载干净?详细方法教程分享
  14. Android返回上一页面的方式
  15. b mino为什么退出block_虚势爱豆!地下rapper!进YG不足半年就出道!WINNER的宋闵浩Mino...
  16. C语言str系列函数操作
  17. 3ds max法线贴图制作流程
  18. 通过配置文件改变Ubuntu系统语言
  19. 【知识普及】芯片制造:从沙子到半导体IC
  20. Oracle EBS Interface/API(20)-PR自动创建一揽子发放实例

热门文章

  1. AD各种布线方法总结
  2. 计算机网络与无线通信系统学习6:路由器基础
  3. 使用命令行创建文件夹和创建文件
  4. Linux创建磁盘并分区命令
  5. 穿冰丝很凉快,是有降温作用吗?穿戴冰丝衣物要注意哪些?
  6. 数据库中的常见关键字的用法
  7. 例说BPEL4WS(5)---伙伴与伙伴连接
  8. @Retention(RetentionPolicy.RUNTIME)
  9. python open encoding=utf-8_Python 文件操作中的读写模式:open(path, '-模式-',encoding='UTF-8')...
  10. 2022中国企业家博鳌论坛耿明雨致白皮书