当前位置: 首页 > Web前端 > HTML5

说说初级工程师和高级工程师的区别

时间:2023-04-05 12:42:50 HTML5

前言前段时间参加了腾讯的TLC大会,认识了很多大牛,认识了很多有趣的朋友。在闲聊中,我谈到了等级问题。我也有一些想法。结合之前看过的一篇文章,在这里总结一下,顺便分享给大家。关于文的等级,我们知道程序员分为初级、中级、高级。这个概念不是基于工作年限。也就是说,级别和工作年限没有必然关系。一个初级工程师可能干了很多年还是初级工程师,有的工程师工作两三年就升为高级工程师了。这一切都取决于你的能力。但是,并不是说高级工程师就是各方面的专家。一般来说,高级工程师比初级工程师有更多的编程经验和技能。但仅靠编程经验和技能是不够的。说了那么久,到底有什么区别呢?别着急,听我一一讲述。关于知识储备,显然高级开发的英雄池更深,“知识储备”比初级和中级更丰富。比如`架构设计`、`设计模式`、`自动化测试`、`性能相关`、`安全问题`等都不是问题。初级和中级工程师如果想缩小高级和高级之间的知识差距,可以从这些方面入手。遇到问题,知道用什么技巧来解决是很重要的。但是仅仅知道上面提到的几点是不够的。知识储备不是最大的区别,只是“一个因素”。关于编码的代码是什么?代码是我们用来与计算机和同事交流的一种语言。对于计算机来说,编译后的代码只不过是一堆0和1而已。代码写得好不好,对计算机来说,没有区别。但对于与你一起工作的同事来说,这非常重要。在一个团队中,往往是老司机开发核心功能,而新人则修复bug,做一些相对简单的功能。这也是初级和高级的区别。中级是介于初级和高级之间的一个特殊阶段。从体验的角度来说,这是一个比较高级的水平,主要跟‘体验’有关。一个中级开发,通常开发过几个项目,有一定的开发经验,踩过一些坑,有自己的一套解决问题的方法。如果判断是不是初级juniordevelopment,一般都是那种经验不多,刚毕业找第一份工作的人。在这个阶段,我经常关注代码能运行不报错,需求能完成。编写干净简单的代码并非易事。初级工程师不喜欢写这种代码,而代之以他们认为“酷”和“highforce”的代码。所以它可以从一些奇怪的苗条代码,或者复杂而困难的抽象中识别出来。他们认为这种代码写起来很酷,可以拿来炫耀,其实这样想是错误的。初级人员往往过于关注代码的功能,而忽略了代码的人性化方面。高级开发是什么样的?高级开发编写简单、直接,有时甚至看起来很傻的代码。遵循一个原则:保持简单,愚蠢。与初级开发人员相比,高级开发人员在编写代码时会从不同的角度出发,比如可维护性、可扩展性等,除了自身的功能之外,更多的考虑是人性的一面。编码技巧以外的判断除了代码之外,还有一些特征可以判断它属于哪个级别。往往在一个团队中,初级人员做的是最简单的工作,或者影响比较小的工作,不涉及架构设计的工作。中层人员也专注于解决任务,不参与或参与部分结构设计。与初学者不同,中级人员在完成分配给他们的任务时不需要太多额外的监督或关注。高级开发人员往往可以自己开发出一个完整的应用程序。但是,先进并不代表就没有问题。每个人每天都会遇到问题,进阶也是如此。唯一不同的是,前辈知道如何正确提问,如何正确解决问题。中级也能正确提问,但遇到复杂问题时可能需要额外帮助。高级开发总是会把注意力集中在要解决的问题上,遇到新的疑惑也能正确应对。但这并不意味着你不能向周围的同事寻求帮助。有时最快的方法是询问组中的人是否处理过类似的问题。我没有那么多初级开发经验,可能需要一些中级和高级开发来引导我朝着正确的方向前进。如何突破更上一层楼?初级到中级初级最缺乏的是经验。所以在这个阶段,我们要多做项目,多积累经验,遇到坑要懂得快速解决问题。在编码方面,学习如何编写简洁易懂的代码。您可以阅读其他人编写的更多代码。可以参考github上的一些开源库,比如redux。您还需要掌握一些调试技巧。如果有时间,您还可以熟悉一些最佳实践,例如架构、性能优化、常见安全问题等。弥合这些知识差距是迈向中级的关键。中级到高级从初级到中级并不难,但是从中级到高级就难多了。一些开发人员在这个阶段停留多年,甚至永远停留在这个阶段。突破这个阶段需要实力,或许还需要一些运气。而且你还需要了解一些问题的权衡和利弊的权衡。想要突破到高阶,就要做好心理准备,当你遇到难题,别人都不知道怎么做,你要站起来继续,还要知道怎么解决这个问题问题。作为资深的开发人员,你也可能带领人,当他们遇到无法解决的问题时,你可以提供必要的指导。此外,你必须对你正在使用的技术栈有很好的了解,而不仅仅是编码技能。此外,熟悉贵公司的一些工具或应用程序也很重要。毕竟都是资源,懂得调动这些资源来解决你的问题也很重要。简而言之,高级开发就是能够独立存在。结论初级、中级和高级开发人员之间的区别并不完全来自于经验和多年的经验。当然,可以肯定地说高级开发人员比初级和中级开发人员更熟练,但知识并不是最重要的因素。对于高级开发,相比初级开发,编码方面的考虑更全面。高级开发人员知道如何提出正确的问题,以及如何解决这些问题。高级开发通常需要解决复杂问题的能力。最后引用:“任何傻瓜都可以编写计算机可以理解的代码。优秀的程序员可以编写人类可以理解的代码。”最后献上TLC大会的PPT&视频,希望对大家有所启发。如果觉得内容有帮助,可以关注我的公众号《前端e进阶》,掌握最新动态,共同学习成长!