当前位置: 首页 > 科技观察

初级、中级和高级开发人员之间有什么区别?

时间:2023-03-14 14:59:58 科技观察

作者|.cult  翻译|王德真  审稿人|Noe  软件工程和所有职业一样,也有等级,正如我们所知,它是根据经验、技能和领导力来区分的,如果你正在读这篇文章,你可能不清楚界限在哪里。比如初级开发人员vs高级开发人员,或者初级开发人员vs入门级开发人员,当公司有自己的开发人员级别判断标准时,就更加模糊了。  随着你在事业上的进步,你会达到一个你想跳到下一个层次的地步。在每个阶段我们都有自己的期望、技能要求和薪资要求。我将尝试根据刚才提到的标准来细分每个级别:入门级、初级、高级和技术主管。这篇文章不是事实,但希望它能引导你走上正确的方向和正确的成长道路。  让我们开始吧!  1。如何成为入门级/初级工程师  开门见山,这可能是你职业生涯中最艰难的阶段!迈出第一步对每个人(包括我)来说都不容易。我们有不同的教育背景,不同的国籍,这会影响我们的工作机会。例如,从培训机构出来的人与拥有大学学位并去实习的人是不一样的。  找工作一开始可能会让人望而生畏,但别担心,我们都经历过,只要有毅力和毅力,你就可以找到第一份工作,如果你在这个阶段还在挣扎,那就降低你的期望一点,尝试实习或创业-尽快将您的技能付诸实践并开始投资自己。  期望  在大多数情况下,您将非常依赖您的团队和导师来指导您并帮助您成长。在这一点上可能会有一些冒名顶替者,但撇开这一点不谈,你的公司和团队并不期望你无所不知。他们可能知道您的大部分时间将花在提问和学习上。  很多入门级工程师的工作是了解他们将要工作的开发环境,了解团队的工作流程,当你跟上速度时,你会被要求加入代码库填写小问题。  在您完成的功能和错误修复迭代过程中,您将了解软件开发生命周期的工作原理以及您的项目的工作原理。不同公司之间的软件开发生命周期通常非常相似。通常大多数公司的项目都遵循需求->设计->业务->实施的结构。  你可能会和其他工程师一起工作,其中一些比你更有经验,水平更高。这些工程师,通常是更高级的工程师,将负责帮助你学习并成为团队中有贡献的一员。借此机会向他们学习技能,这将有助于您在职业生涯中取得进步。  深吸一口气……记住,初级工程师不应该“一夜之间完成”,一个团队会指导你并帮助你成长。你可能听过这句话一??百万次,但说真的,不要害怕提问,再怎么强调也不为过,每个前辈都曾经是后辈。让自己漫无目的地与问题搏斗不会帮助你成长,你应该为你的问题设定时间,并在你感到困难时寻求帮助。  学历与技能  作为一名初级工程师,你可能刚刚从大学或培训机构毕业,在这个时代,学位往往不能准确衡量一个人的能力。要成为一名初级工程师,这取决于你的技能和实践经验。  入门级工程师应该了解他们正在使用的技术及其生态系统的基础知识。深入理解是很重要的一部分,你应该对你使用的软件栈的不同部分有一点了解,这样你才能知道哪些地方该多学,哪些地方是你不会的。  另外,你应该了解git版本控制软件的工作原理,如果你了解分支策略,则加分。最后,如果您有拉取请求/合并请求的经验,那就更好了,因为您将在团队中经常使用它们。  初级工程师薪水  你可能在Glassdoor或LinkedIn上搜索过,他们会根据你所在的位置为你提供一个非常准确的范围。根据我的经验,你可能会选择65-75K美元之间的任何工作,但是,起薪将取决于教育、经验和技能。此外,美国的工资高于欧洲或其他地方。这也会因您所从事的技术而有很大差异,因此请务必对您所在的地区、公司和技术进行更具体的研究。  2。如何成为中级工程师  中级工程师介于初级和高级开发人员之间,作为中级工程师,你已经开始熟悉一些技术,你不需要太多的帮助或指导,并且已经有多个方面的经验项目。  中级开发人员可能拥有多年的经验和编码时间,这很难用数字表示,您甚至可能会更换公司并在不同的项目代码库上工作。  期待  中级工程师就是工作几年,或者已经是二线身份的工程师。公司希望你对软件开发生命周期有很好的理解,并且大部分时间都能做到。在没有太多指导的情况下接受工作。工作中的问题也能得到彻底的澄清和解决。而中级工程师往往不会为实现某种技术功能而苦苦挣扎。  中层工程师的知识范围会集中在他们所支持的应用以及应用的全过程。这个级别的工程师能够采用高度复杂的功能并在合理的时间内完成它。  中级工程师还应该能够从头开始实现全新的功能,并将这些功能与代码库的其余部分集成。此外,他们还将有将某些功能分解为组件的经验,并对如何处理技术问题有高层次的想法。  从初级工程师跳到中级工程师的一个好方法是花大量时间在一个项目上,了解它是如何工作的,并学习代码库的各个方面。投入大量时间了解代码库的不同部分将帮助您快速提高开发能力,codingcodingcoding。  教育与技能  与入门级一样,您需要更多地了解您所从事的技术背后的深入知识。例如,如果你在工作中使用React,你应该对React背后的高级概念有更好的理解,并开始了解如何将一个UI元素分解成许多不同的部分来创建,以及是否可以使它们重用在其他应用程序上,您可以加分。  此外,您应该从这里开始了解行业趋势并了解最新的新兴技术。科技行业在不断发展、改进,对老问题的解决方案也越来越多。  中级工程师薪资  再次强调,薪水因公司和地点而异。比如一个中级工程师至少有2-3年的工作经验,你的目标大概是80,000-90,000美元,但是FacebookSalaries在初创公司是不一样的,但是你可以在股权或者额外福利上找到折中方案。  3。如何成为高级工程师  下一步就是成为高级工程师了!绝对是一个非常令人兴奋的头衔,你将获得更大的自主权和市场价值(每个公司都想要一个熟练的高级开发人员,所以准备好迎接LinkedInDM的冲击吧)  高级工程师在多个项目中展示了专业知识和才华,还指导初级工程师和中级开发人员。在这个角色中,你需要成为一个多面手,所以在日常工作中,适应力强、思维敏捷,你将成为领导者和导师,负责解决复杂的软件压力)。  期望  作为高级工程师,将开始与领导/经理一起设计新系统并估算整个项目所需的工作量。高级工程师还能够提出多种解决方案,了解每种解决方案的优缺点,并最终阐明哪种解决方案最适合团队。高级工程师也可以适当减少参与编程的时间,把更多的时间花在指导、设计和管理上。  高级工程师往往是项目经理、工程师和管理层之间的桥梁。通过了解应用程序所在的体系结构以及手头工作的复杂性,高级工程师可以帮助保持项目运行并在需要时提供支持。  这导致高级工程师更加支持团队的其他成员,能够在团队需要时填补空白,并解决其他工程师的痛点。此外,高级工程师有经验和远见,可以看到团队成员可能在哪些方面遇到障碍并主动消除它们。团队对高级工程师的信任很重要,因为其他团队成员会指望高级工程师解决他们无法解决的问题,并一路指导团队。  在团队之外,高级工程师也在组织或企业内部寻找改进的机会。他们开始编写其他团队可以使用的共享代码库。他们寻找机会消除重复工作,去除繁琐的工作,提高团队的效率。也许一些团队正在重新发明轮子,让团队之间共享代码的机会使工作流程更加精简,这些可能是模糊的高层需求,但高级工程师应该能够在没有指导的情况下,将这些模糊的情况减少为解决方案.  教育和技能  由于这个角色的支持性质,软技能变得非常重要,知道如何与队友沟通,礼貌地讨论具有挑战性的话题,并在适当的时候打断冲突。高级工程师需要在团队中建立关系并使用软技能,使用这些技能来帮助正在努力解决问题的工程师。  在技术方面,高级工程师会精通项目中使用的技术,以及项目的整体架构。让设计模式、系统架构、性能提升策略成为习惯。不知道你的专业很难更具体,但我想你明白了!  高级工程师薪资  在开发者阶梯的顶端,你将拥有最多的机会,并能够获得一份非常舒适的薪水。在美国,高级工程师的薪水应该在100,000美元到110,000美元之间,同样,这取决于您所在的城市和公司。  4。如何成为技术leader  成为高级工程师之后,下一步就是进入管理。管理显然不适合每个人,但如果你处于这个位置,让我们看看你能期待什么。  您将从个人贡献转变为管理人员和项目。这个角色的编码量要小得多,因为作为经理,您将依靠团队来构建项目所需的东西。  期待  离开IndividualContribution(IC)并不是每个人都适合,一些高级工程师由于工作节奏和风格的变化而从未跳槽到管理层。管理者和领导者将开始更多地依赖他们的人际关系、人际关系、业务技能和以往的经验来帮助他们带领团队在不同的项目上取得成功。  你需要领导你的团队,同样重要的是,你需要为你的团队说话。你的工作是让团队保持在项目持续交付的轨道上。这意味着为您的团队提供新功能所需的资源,或消除阻碍他们完成工作的障碍。  这意味着作为管理者,你需要对公司的商业模式有很好的了解,这样当出现某些问题时,你知道该找谁倾诉。一个强大的经理知道在解决团队的具体问题时应该联系和依靠谁。  除了项目方面,经理也是一个角色。你有责任帮助团队成员,让他们对自己的角色感到满意,并给他们成长的机会。你帮助他们实现他们想要的,引导他们度过团队中的困境,甚至处理团队成员之间的人际冲突。这也意味着您需要处理团队成员表现不佳的情况并帮助他们重回正轨。管理职位需要很多软技能。  教育和技能  在不同的组织中,管理可能需要管理学位或管理经验。很多时候,高级工程师之所以能走上管理岗位,是因为他们很了解公司,公司也知道他们的成功。无论公司对管理角色的要求如何,软技能都非常重要。  理解他人,与他人建立关系,在团队冲突和艰难对话中保持冷静和镇定是管理者的常态。不断学习行业趋势和不断实践软技能可以帮助管理者取得成功。  TechLeadSalary  与任何其他薪资范围一样,它各不相同:)高级工程师和经理之间经常有重叠,起薪在110,000美元到120,000美元之间。  成为软件开发人员有许多不同的阶段。它从一个非常低调的环境开始,通过向他人学习来培养个人发展技能。这也为团队中的众多贡献者角色带来了更多的独立性,可以信任他们在项目时间表内交付不同复杂性的软件功能。  经验可以引导开发人员指导他人,找到提高效率的领域,并带领团队走向成功。在优秀的团队中,软件开发人员以相互支持的方式帮助彼此学习、成长和挑战。在快节奏和不断变化的软件开发世界中,团队互相帮助构建伟大的产品并不断创新。  原标题:初级、中级、高级开发者有什么区别?  原文链接:https://thenextweb.com/news/difference-between-junior-mid-level-senior-developer-syndication  译者介绍  王德真,社区编辑,10年经验互联网产学研,6年IT教育培训行业经验。前K12教育上市公司产品经理,技术博客专家,蓝桥签约作者,《滚雪球学Python》专栏作者,《爬虫100例》专栏特约作者,78技术人社区发起人。