"初级"和"高级"的区别在哪里?

初级中级高级测试工程师的区别 初级测试工程师         很多人理解软件测试就是在计算机按来按去去寻找软件缺陷,诚然,初级软件测试工程师一般只做很黑测试,也就是说,按部就班的执行测试用例,当预期结果与实际结果不符时,就认为可能寻找到一个软件缺陷,他们往往不关心缺陷后面的逻辑结构。         初级测试工程师往往刚毕业缺乏经验,或者经过短暂的职业培训初窍门径,很多人甚至不是工科专业毕业, 这种岗位不可能是企业的核心 阅读详情

这听起来确实是一个很明显的问题,但是它真的有这么简单吗?

我听到过公司里的一些开发人员讨论这个问题。当时我的一位高级工程师正与两个初级工程师讨论一些其他的事情。当事情讨论完,其中一个初级工程师提出了这个问题,初级工程师还是高级工程师。


那个高级工程师,恰好是那些个我有幸一起工作中遇到的最好最聪明的工程师中的一员,从他的角度,花费了30分钟去努力阐述区别在哪里。


对话夹杂着通常的答案进行中,那个提出问题的初级工程师(是公司里有点小聪明的一个家伙)试着将问题拆分成两个子问题,在我看来是比较有趣、有探究性又有用的子问题:


1.客观来说,我作为一个初级工程师如何能确定什么时候我成了“高级工程师”?


2.作为高级工程师,你如何计量初级工程师的进展,怎么知道啥时候一个初级工程师已经跨越了那道成为高级工程师的门槛?



Question1

我觉得第一个问题特别有趣。随着办公室讨论的继续进行,我尽力去回想从开始软件开发工作一直到成长为一名开发者,这些年我思考了什么问题。


毫无疑问,对每个开发者而言,成长为更高职级人员的过程中,时间是一个重要的因素。观察这些年的各种各样招聘信息(一些人认为“高级”意味着最少5-7年的经验,而另一些人认为它意味着至少10-15年),“标准”。


仅仅过了几年,一些开发者就认为他们自己是高级工程师,而另外一些人过了7-10年还人认为自己仅仅是“中级水平”。作为招聘方,我知道以上事实都属实。这些都毋庸置疑,是明了的常识。自负也是一件有趣的事情。针对“时间多久”会有不同意见,这种“阻抗不匹配”会引起争执。


那跟学到的技术或语言种类有关系吗?有一种学院派观点认为,掌握一两种语言也能成为高级工程师,只要他掌握了如何去处理在使用编程语言过程中遇到的问题的经验就好。然而,另一种职业更加注重使用不很显然就专业时间需要多久没有真正的同相似技术去工作,并用不同技术解决更多通用问题的能力。


这是明摆着的,就是取决于工作要你去干嘛。从那个角度而言,内部讨论你是否已经进入了“高级工程师”领域是没用的。


经过了反复思量以及听了很久的讨论,我总结道,针对第一个问题的内部判断是相当各异性的。如果让我去提出一个标准—-不管是不是非正式的—-那将是:作为一个初级工程师,当一个公司或团队的高级技术人员让你做某件事的时候,你所拥有的舒适和自信水平。


Question2

毫无疑问,存在无数量度能解答这个问题。坦白说,我还没看到任何一个方案能作为银弹或金标尺去测量所有的高级工程师。


是的,存在不少测验和考试用来评价一个开发人员的能力水平。毫无疑问,这些测验不能被忽略。


让事情变得更加有趣的是,有时候那些判定什么是“高级工程师”的人并不是对那些技术或语言很熟悉的人。例如,在一个小公司里,技术部的专家可能是一个具有相当多基于Java商业程序部署经验的Java开发人员。然而,同样的专家又有可能负责招聘高级iOS开发人员的人。在缺乏高级iOS开发工程师时,有一些人就得顶上去,成为专家。


打住,我有点跑题了。这里真正的问题是评价初级工程师的进展。


有一些可能的标准,大部分看上去不太容易(并非不可能)合适地传达给初级工程师本人。再一次,如果被要求提供一个可能的标准,我觉得是这样的标准,开发者能够对任务或一系列任务(不管多巨大)给出一个估计的工作量,能够有信心在一个合理的时间范围(不要让我给出任务估计)内去完成它,并且只需最小的辅助。


换言之,如果你还一直在犯同样的错误,这个错误是你刚开始从事开发工作的时候就遇到的错误,那么确定无疑,你没有进入到高级工程师的领域。


结语

这篇文章不打算回答我那个精明的初级工程师的问题。相反,它引出了一个关于什么标准能够合理的应用到每个问题的讨论,它是一个起点,如果你觉得不错的话。

初级、中级和高级开发人员的差距在哪里? 全文共2537字,预计学习时长5分钟 图片来源:Clem Onojeghuo Unsplash 你是初级、中级还是高级开发人员不仅仅由你的编程年龄决定。很多初级开发人员都比高级开发人员年长,归根到底还是取决于技术。这并不是说高级开发人员一定样样精通,但他们肯定比初、中级开发人员更加熟练。 但是,高级开发人员与初、中级开发人员的差距也不仅仅在于编码技能。那么他们之间的差距到底在哪呢? ... 阅读详情

相关推荐

初级、中级和高级开发人员之间的差异

有一句话在开发人员圈子广为流传:“初级开发人员的标志就是需要在中级和高级开发人员的指导下完成工作。”所以,我们不要苛刻初级开发人员写的代码对错严谨,毕竟每个开发人员都有这样的一个过程。据译者观察,初级开发人员往往认为自己写的代码都是高质量的;而中级开发人员认识到了软件知识会影响代码质量;中高级开发人员则认识到硬件知识会影响到代码质量;高级开发人员反而认为自己写的部分代码质量不够高,需要恶补硬件知...

lonely_bin的博客 1962

成为java高级工程师需要什么

我要说明,您要想从本文中学到一些Java高级知识是学不到的,因为本文告诉您的作为一个(高级)JAVA工程师应该学什么,而不是告诉您具体的知识细节。 一、JAVA。要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、

开始起航的博客 1520

Nordic nRF52832实战:手把手教你搭建智能手环BLE通信框架(附完整代码)

本文详细介绍了如何使用Nordic nRF52832芯片搭建智能手环的BLE通信框架,涵盖芯片优势、协议栈初始化、低功耗广播策略及健康数据服务实现。通过完整代码示例和架构设计,帮助开发者快速掌握蓝牙低功耗通信技术,适用于可穿戴设备开发。

weixin_29192141的博客 246

什么时候可以称自己为高级开发人员?

经验,是每个高级开发人员工作要求的强制性要求。但仅凭经验并不能使您成为高级开发人员。那么,秘诀是什么?这是一个复杂的问题,可能没有真正的标准答案。通常,开发人员认为自己是高级开发人员,但缺乏一些属性。最近,在一次面试中,我遇到了一位 22 岁的开发者,他自称是资深开发者。他很好,但我认为他不具备高级开发人员的一些所有属性。但我还是祝他好运,但我无法聘请他担任高级开发人员。...

web前端开发 395

Vscode+ROS/ROS2 开发调试基于ROS/ROS2应用环境配置

在ROS操作系统开发应用程序时,我们常常需要调试代码,验证程序的正确性。但是在用rosrun或者roslaunch启动节点后,若程序运行过程中发生错误而导致发生出错停止工作,这时候终端并不会输出具体的信息指出在何处发生了错误,具体错误的原因又是什么。往往仅仅是core dump 或者segmentation fault 等等一类的模糊提示。

Chasinglight的博客 5800

西门子S7-1500 PLC模块化编程与生产线自动化实践

PLC(可编程逻辑控制器)作为工业自动化核心设备,其模块化编程技术能显著提升产线控制系统的开发效率。通过SCL高级语言实现算法封装、功能块(FB)复用等工程实践,可构建稳定可靠的分层式控制架构。本文以西门子TIA Portal平台为例,详解S7-1500系列PLC在汽车零部件产线中的标准化应用方案,包含配方管理、设备联动等典型场景的SCL实现,以及Profinet通信、虚拟轴同步等进阶技巧。特别适用于需要快速实施中大型生产线自动化改造的工程师,提供经过验证的异常处理机制和模块化设计规范。

weixin_34341229的博客 457

Java 高级开发需要会哪些技术?

5. 项目管理和团队协作 敏捷开发:理解敏捷开发流程(如 Scrum、Kanban)并能够在团队中实施。 代码审查和指导:能够进行代码审查,指导团队成员的技术成长。 6. 文档和沟通能力 技术文档:能够撰写清晰的技术文档,记录架构设计、API 设计和系统流程。 沟通能力:能够与不同团队(开发、测试、运维、产品等)有效沟通,协调各方需求。 7. 持续学习和适应能力 技术更新:保持对新技术和行业趋势的关注,持续学习和适应新的工具和方法。 解决问题的能力:能够快速分析和解决复杂的技术问题。

weixin_41290863的博客 1274

【2025年五一数学建模竞赛】A题 完整论文 模型建立与求解

2025年五一数学建模竞赛 A题:基于历史数据与模式识别的道路车流量推测模型研究

Magnolia_He的博客 3783

作为高级开发应该怎么做?

推荐的做法是像Collections类一样,它像一个工具类,它提供了许多静态工厂方法,你去看会发现静态工厂方法返回的并不是确定的类型,而是List接口的一些子类,这些子类被作为私有类定义在Collections中,我们无法直接构造这些类,但却可以通过静态工厂方法使用它。构造器每次调用的时候都会创建一个新的对象,而使用静态工厂方法则可以不必每次都创建新的对象,我们可以提前创建好对象或重用已有的对象,以达到提升性能的目的。静态工厂方法仅仅是类的一个普通的静态方法,它的最终效果等同于构造器。...

weixin_62421895的博客 344

关于小样本学习综述论文的总结

对小样本学习综述的个人总结

qq_46176086的博客 5456

RT-DETR训练前的准备,将数据集划分成训练集、测试集验证集(附完整脚本及使用说明)

在计算机视觉领域,当我们着手训练一个模型时,。其中,将数据集划分为和更是一项基础性且关键的操作。这篇博客分析了这一划分背后的原因、其重要意义以及如何通过代码实现,帮助大家更好地理解和运用这一技巧,。

Limiiiing的博客 906

限量!阿里技术官纯手打架构师进阶宝典全网首发,理论储备+项目实战齐飞

前言 可能有些人会常常有这样的感觉,同是开发有些人比我工资高却什么代码都不写呢?当我听到这个问题的时候第一次映入脑海的就是:工程师的分类。 大家可以来看看Java工程师在招聘网站上的区分: 初中级开发工程师 一般的初中级开发工程师要求不是特别的高,很多都是要求你会在公司干活,然后能够对公司项目进行代码的编写,和业务的实现。一般要求熟悉 Spring boot,Spring等框架;熟悉dubbo框架、redis等; 熟悉Unix/Linux系统,精通数据库Oracle、MySQL 等的开发,精通SQL及

Java圈全能架构师的博客 2442

Allegro172版本如何在联机模式下使用skill文件操作指导

注意:如果下次重新开启Symphony模式的时候可能导致symphony_skill中的文件内容被清空,所以最好将自己常用的skill文件都写到symphony_skill.txt中去,然后做好备份,需要的时候,在开启软件后把文件放到env目录中去。在用Allegeo172版本进行PCB设计的时候,有时会用到Symphony模式进行多人实时在线协同设计,如下图。这个模式设计起来可以提升设计速度,但是也有一个缺陷,就是不能使用skill文件。如下图,当调用skill的时候就会出现如下报错。

weixin_54787054的博客 1586

高手是怎样练成的(摘自编程高手緘言)

1  高手成长的六个阶段 程序员怎样才能达到编程的最高境界?最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界。即使是这样的高手,那也都是无知者的自封。 我认为,一个程序员的成长可分为如下六个阶段。 Ø         第一阶段 此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。...

weixin_34226706的博客 184

zynq的irq_f2p 如何增加或修改中断引脚个数(宽度)

ZYNQ开发过程中,如果使用PL到PS的中断,会产生一个疑问,设置界面显示可以有[91:84]、[68:61]共16个中断引脚,但是并没有设置中断口的宽度,如果使用多个中断引脚,应该怎么办?如果通过concat连接多个引脚,则自动调整为对应的引脚数。例如连接3个中断信号,则自动调整为:IRQ_F2P[2:0]

FPGA艺术家的博客 833

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

一个列表页面,初级中级高级前端之间区别在哪

同样是一个列表页:初级在堆功能;中级在理结构;高级在构建规则。我们就以这个最常见的中后台场景:搜索 + 分页 + 表格 + 编辑跳转,来看看三个阶段的认知差异到底在哪。初级在交付页面,中级在建设结构,高级在定义规则。真正的高级前端,已经不写“页面”了,而是在定义“页面该怎么写”。​

chanise的博客 3631

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

初级、中级、高级程序员的区别在哪里?

低级程序员认为自己与高级程序员的区别, 主要是高级程序员任何功能都能编码实现, 编码速度快, 代码无bug。高级程序员认为他们之所以高级, 在于他们认识到代码 bug 是不可避免的, 有千万种理由可以导致 bug,但他们可以在设计和逻辑上保证(追求)滴水不漏,并用逻辑的百分之百准确性还减少代码 bug。那么到底初级、中级与高级程序员的区别究竟在哪里呢?初级程序员初级程序员就是传说中的码农,依靠复制...

deng707273的博客 3万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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

 初级程序员和高级程序员的区别 一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的。比如,在初级程序员阶段时,他会觉得VB也能做出应用来,且看起来也不错。    但到了中级程序员时,他可能就不会选择VB了,可能会用MFC,这时,也能做出效果不错的程序。    到高级程序员时,他绝对不是首先选择以上工具,VB也好,VC也好,这些都不是他考虑的问题。这时考虑的绝对是什么

燃烧JAVA 6232

初级和高级网络安全工程师的区别在哪里?薪资待遇区别大么?

本文对比了初级与高级网络安全工程师的区别,从职责、技能和薪资三方面进行分析:初级工程师负责基础防护、漏洞扫描等任务,月薪约5-10k,需1-2年经验;高级工程师负责架构设计、风险评估等复杂工作,月薪10-30k,需5-10年经验。文章还提供零基础学习路线,涵盖网络基础、渗透测试、编程等内容,并强调编程能力对职业发展的重要性。最后附赠企业级学习资源和视频教程,帮助从业者提升技能。

2402_84205067的博客 1113

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

软件工程和所有职业一样,也有等级之分,正如我们所知道的那样,它是基于经验,技术和领导力进行的区分,如果你正在阅读这篇文章,你可能还不清楚它们的界限在哪里。例如,初级开发人员和高级开发人员,或者初级开发人员和入门级开发人员,而且当公司有自己的标准来判断开发人员级别的时候,就更加模糊。   随着你在事业上的进步,你会到达一个你想要跳跃到下一个阶段的地步。在每个阶段我们都有自己的期望,技能要求和工资要求。我将尽力根据刚才提到的标准对每个级别进行细分:入门、初级、高级和技术领导。本文不是真理,但希...

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

初级 RAG vs高级 RAG,到底有什么区别?

如今,LLM 的内容生成能力早已改变了世界。这些模型在创造新内容和给出智能回复这类任务上表现出色,推动了生成式 AI 领域的发展。不过,虽然模型被喂了大量的数据进行训练,但受限于难以获取实时最新的信息,LLM 无可避免地会给出过时的答案或错误的信息,即所谓的信息幻觉。为了解决这些问题,检索增强生成(RAG)的动态框架出现了。它结合了传统大模型的优势和检索系统,扩展了这些模型的用例。RAG 简单来说是一种旨在提升 LLMs 性能的策略性增强技术。

m0_48891301的博客 1218
上一篇: 少一些套路,多一些升华
下一篇: fragment间相互传值
heminghung
博客等级 码龄11年 11粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值