中级软件工程师资格证
软件工程专业知识的七个阶段。 这是Meilir Page-Jones对软件工程专业知识进行分类的另一种方法。 分类将专业知识分为七个阶段,并以生产率为主要标准。 尽管最初在90年代用于评估软件工程,但是该方法可以轻松地重新应用到我们的现实中。
见习生:刚从学校毕业
一些公司设有实习计划,聘用入门级工程师,这些工程师基本上只具有理论知识,而没有工作经验。 在这种情况下,初学者的职位将为见习生。
应用Meilir Page-Jones的专业知识阶段,我们将开发人员职业生涯的这一早期阶段分为三个阶段: Innocent , Exposed和Apprentice 。
最初,工程师很少或根本没有接触过实际开发的经验。 暴露的开发人员以专业的方式迈出了编码的第一步。 最后,学徒已经具备了应对实际项目的最低限度的设备。
初级开发人员:通过反复试验
作为初级开发人员很难进入,因为它们经常来来往往。 雇主倾向于雇用初级开发人员来从事自由职业者或短期合同,以期降低合同成本。
然而,大三学生的王牌是许多老年人不再拥有的动力和能量。 大三学生知道,他们投入的精力将使他们更快地进入下一个阶段,从而获得回 。
替代方法。 参考Dreyfus模型,我们可以将初级阶段分为两个阶段: 新手阶段和高级初学者 。
为了使一切顺利,新手开发人员需要通用的上下文无关规则。 由于急躁,他们希望立竿见影。 同时,由于错误不知道如何处理,因此错误会使它们瘫痪。
高级初学者开始遵循固定的规则,并根据所处理的类似情况制定通用原则。 主要问题是,他们可能忽略了更大的背景,也许认为这无关紧要。
使用Meilir Page-Jones的等级,我们可以将大三称为Practitioner 。 那就是当开发人员开始通过反复试验采用新技术并将其应用于公司项目时,其生产力得到充分提高的时候。
初级技术技能和职责
IDE。 初级用户使用任务栏导航界面并有效地操作IDE。
API。 他们知道如何处理最常用的API。
构架。 初级开发人员已经使用了一些框架,并了解了值得在其语言堆栈中使用的流行框架。
数据库开发。 三年级的学生知道数据库的基本设计技术,ACID属性和事务。 此外,初级人员可以编写简单的select语句以从数据库中检索信息。
编程语言。 初级开发人员通常熟悉一种编程语言。 他们将立即选择并实施一个半稳定的解决方案,以解决某些用例中的大多数问题。
平台和工具。 大三学生具有大约三个平台的专业经验。 他们对平台内部知识的了解很肤浅。 他们知道流行和标准工具的替代方法。
日常职责。 初级人员通常会完成最简单的任务,而这些任务对最终产品的影响很小。
初级团队合作和观点
独立工作。 当然,大三学生需要密切监督。 他们需要强有力的指导来提高自己的技能。
在团队中工作时,初级人员必须保持参与并从团队中吸收尽可能多的知识。
视力。 大三学生的问题是他们关注代码,而不关注开发。 这样可以防止他们了解大局。
中级开发人员:编程世界的主力军
具有三年以上经验的初级开发人员可以利用他们的技能成为中级专家。 中级开发人员有时被称为“编程世界的主力军”,它们对常规代码的影响最大。
替代方法。 Dreyfus模型将中间开发人员描述为Competent 。 在此阶段,他们还可以在故障排除和调试方面做得不错。
称职的程序员非常主动并且足智多谋。 他们在团队中担任领导角色,并可以指导新手。 但是,有能力的开发人员仍然缺乏在进行项目时优先关注其注意力的经验,并且他们几乎无法反思自己的错误。
中级技术技能和职责
IDE。 在使用IDE一段时间后,一名中级开发人员记住了大多数常用操作的快捷键,从而确实加快了工作速度。
API。 中级水平对主要API有深入而扎实的知识。
构架。 中间人精通技术,其框架有助于他们编写更清晰,更短的代码。
数据库开发。 中级擅长管理数据库。 他们可以设计标准化的数据库架构,同时考虑将要发出的查询。 中级开发人员精通使用数据库视图,存储过程,触发器和用户定义的数据类型(UDT)。 它们擅长用于在不兼容类型系统之间转换数据的对象关系映射技术(ORM)。 为了加快查询过程,他们应用了索引语法知识来创建自定义的聚集索引和非聚集索引。
编程语言。 中级开发人员了解功能编程,并且知道何时以及如何以任何语言应用功能概念。
平台和工具。 Middles已经与四个以上的平台合作,并且对平台如何执行功能(包括代码执行)有深入的了解。 他们对软件包管理器工具非常满意。
日常职责。 中级软件工程师通常不会承担高度复杂的任务,这些任务可能需要深入的工程知识。 同时,他们可能需要设计一部分应用程序,以准备进一步过渡到高级开发人员。 他们已经能够将票证转化为解决方案,提供任务估计并协助分解较大的工作部分。
中层团队合作和观点
独立工作。 在分配给相对常规的任务时,中层可以在较少的监督下完成工作。
团队合作。 Middles与团队成员(包括设计师,业务分析师和架构师)积极合作。
视力。 中级开发人员加深了对开发周期方案的理解,使他们可以更准确地实践敏捷方法。 他们了解出现问题的结果,并学习如何在将来避免这些问题。
邓宁-克鲁格效应
许多中级开发人员都受Dunning-Kruger效应的影响 ,这阻碍了他们进一步的职业发展。 这种心理现象描述了一点知识实际上可能是一件危险的事情。 由于自我保证,开发人员可能倾向于高估自己的技能,从而阻碍了他们的进步。 也就是说,这种情况是软件开发中的一个大问题。 尽管这种认知偏见可能发生在各个资历级别的工人上,但中产阶级最容易受到这种偏见的影响。
事实上,许多工程师无法比他们目前正在实施的方法和实践更好。 曾经有过一系列不成功的项目的程序员可能会相信,一个项目通常是一场噩梦。
在相反的情况下,软件工程师有时可能会意识到他们所了解的知识很少,还有很多东西需要学习。 那就是程序员开始向更高的资历过渡的时候。
高级开发人员之后会怎样span>
高级开发人员是梯子上另一个梯级的良好起点。 一些前辈想升任更多技术职位,另一些人更喜欢担任管理职位。 以下是高级人士可能考虑采用的一些选择。
建筑师。 这是技术职业阶梯上的最高等级。 架构师的工作是设计复杂的系统,该系统将由高级和初级开发人员团队实施。 根据业务问题的重点,有企业,技术和解决方案架构师 。 您可以在我们的专用文章中阅读更多内容。
产品经理 。 具有编码经验的产品经理会更轻松地领导产品交付。 他们从内部了解开发过程,就能更加有效地管理产品上的工作。
高级领导。 高级领导者的工作与编程无关,而与人的技能有关:鼓舞,激励,领导和制定策略。 在制定决定公司发展方向的高层决策时,高级领导者应确保所有员工都遵循这些决策并相信使命。
影响资格水平的外部条件
在定义开发人员的资历级别时,重要的是要考虑以下对等级有实质性影响的可变因素。
技术栈。 在机器学习方面 ,可以是专家,但在Web开发中仍处于中级水平。 同时,开发人员甚至可以成为许多其他领域的初级人员。
项目。 一个项目可以水平和垂直扩展,这需要不同的技能和专业知识。
组织。 招聘组织的特征也应考虑在内。考虑公司的规模和他们为候选人设定的个人要求。 较小的企业通常会寻找具有广泛技能和责任的专家。 例如,较小企业的工程师可以负责产品开发和部署。 相比之下,大型组织可能需要高度专业的专业知识,例如将与某种自动化工具一起使用的DevOps生命周期特定阶段的工程师。
而且,每个组织对这些术语都有自己的含义。 因此,根据工作场所的不同,两个高级程序员可能彼此非常不同。 《卫 》数字开发团队的高级开发经理罗伯特·里斯(Robert Rees)对此评论道:“ 在招聘时,我们需要向我们以及公司外部人员解释高级开发人员的含义。 有时,我们也很难向目前拥有“高级开发人员”头衔的人们解释为什么我们不认为他们是《卫 》的高级开发人员。”
选择适合您项目的专业知识的开发人员的提示
与就业有关的一个重要问题是,这项或这项任务需要什么专业知识。 如果您对满足您的项目的能力水平只有一个抽象的想法,雇用开发人员通常会很乏味。 以下是一些有用的提示,它们将帮助您浏览整个招聘过程,从而为您提供正确的选择。
- 对项目目标有一个清晰的了解,并对达到该目标所需的专业知识有基本的了解。
- 考虑您可支配的时间和预算。 大三学生需要更多时间进行培训,而大三学生并不需要太多的准备,而是会立即开始贡献自己的力量。 但是,这样的员工将变得更加昂贵。
- 专注于团队和组织人才的组成。 从第一天开始,由高级开发人员担任领导角色是组织工作流程的必要条件,因为只有高级人员才有资格为项目选择合适的技术和平台。
- 停止根据职称招聘。 拥有头衔不同于拥有成功胜任工作所需的技能和能力。 在成为高级开发人员的过程中积累的经验比获得的头衔要重要得多。 因此,为了使现有角色有意义,我们必须抵制职务膨胀。
最初发布在AltexSoft技术博客上 “ 软件工程师资格等级:初级,中级和高级 ”
翻译自: https://hackernoon.com/software-engineer-qualification-levels-junior-middle-and-senior-f2229591df1c
中级软件工程师资格证
文章知识点与官方知识档案匹配,可进一步学习相关知识OpenCV技能树首页概览11514 人正在系统学习中 相关资源:免费弱视训练软件(视佳弱视宝)v1.6.2官方安装版_弱视训练软件…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!