你是什么级别的程序员?

前言

  最近在和领导闲聊的时候,聊到了一些关于编程思想方面的东西,让我受益不浅。尤为是有一个问题让我印象深入。并且对于这个问题,在过往的面试中也被问了几回。我就把我以往自认为不错的回答从新说了一遍。谁知领导听完,居然笑了起来,这着实让我有点摸不到头脑。程序员

你是什么级别的程序员?

  对于这个问题,相信各位在以往的面试中,应该有被问过的吧。很明显这个是一个开放式的问题,没有标准的答案。我是这样回答的:面试

  我以为我是一个中级程序员。为何这样说呢?其实我对于初级的定义是能干活。对于安排的任务能顺利完成,并解决出现的一些bug。可是对于技术呢?可能停留在使用层面,没有作到知其然而知其因此然。编程

  目前的我,完成平常的工做已经不是问题。对于某些技术也有一些深刻的了解,能设计一些架构,因此我以为我是一个中级程序员。那做为高级程序员来说,须要对技术有更加深层次的一个理解,同时还须要有一个强大的架构设计能力,来应对不一样场景的业务的一个考验。架构

领导框架

  听了你说的这些啊,很明显你的划分是侧重于技术方面。按照你说的,就好像会CRUD而且会使用一些工具,好比说Redis,RabbitMq就是初级程序员。而后又学习了其余的组件,并了解了一些原理,就变成了中级的程序员了。学的东西多了,就变成高级程序员了。ide

  按你说的这样,那我把要学的,都列举下来。一个一个学完,就成了高级程序员。要是这样的话,那高级程序员应该有不少。 很明显在咱们这行,高级的程序员仍是少数。你认为的高级程序员,在我这里可能只是个合格的程序员 。并非能说是一个高级程序员。工具

领导:SpringBoot是一个优秀的框架是吧? 学习

:这个是的,巴拉巴拉说了一堆的优势。idea

领导:那开发SpringBoot框架的程序员,应该是个高级程序员吧? spa

:是的。

领导:那么,他为何是个高级程序员呢?

:呃呃呃呃呃!

领导

  一个合格的软件,并非一蹴而就的。就以咱们作的东西来讲,是咱们这个团队用一行一行的代码建造起来的。当我分配工做的时候,会将任务根据复杂的进行排序,而后在根据大家的能力来进行分配。好比说,把一些简单的工做,交给实习生去作。而后把复杂一点的,交给经验丰富的去作。当人员发生变更的是时候,其余人也能快速接手。

领导:那么问题来了,如何能让其余人快速接手呢?

:这个。。。。。

领导:很简单,要是全部人写的代码都同样,看别人的代码就像看本身的代码。这不就解决问题了吗?

:是的。

领导:那么问题又来了,如何让全部人写的代码都同样呢?

:咱们能够用alibaba开发的idea的插件扫描代码,制定相应的代码规范,并进行实施。

领导:咱们制定的规范,你遵照了多少呢?

:遵照了一部分,有一部分没有遵照。

领导:你看这不就破坏了嘛,让代码风格不一致了?

:额,这个确实是。

领导:alibaba的插件也好,公司的开发规范也罢,只能进行少许的约束,没办法实现强约束,你能够选择遵照,也能够选择不遵照。并且问起来,为啥不遵照。大家能说出一大堆的理由,好比说,项目赶,时间短。

:哈哈哈。

领导:那么有没有什么办法来实现强约束呢?

:这个。。。应该有吧。

领导:是什么呢?

:呃呃呃!这个不知道,尴尬一笑。

领导:这个东西就是框架。

框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。

领导:为何这样说呢?就以你写代码来说,应该不会出现忘记写;这个吧。

:这个确定不可能,IDEA会提醒,而且编译都过不了。

领导:这就对了,不按照规则写,直接给你报错。若是咱们把定制的各类开发规范封装成一个框架,让大家去使用,造成强约束。这样大家写出来的代码是否是就同样的了。这也就是咱们封装框架的缘由。想要啥,都能加上去。毕竟开源的框架,面向的是绝大数人,不能面面俱到。

:哦原来如此,学到了学到了。

:那你是如何划分程序员的等级呢?

领导:初级的程序员能根据本身掌握的技能完成相应的工做,然而中级程序员呢除了能完成工做,还能让别人快速的接手本身工做。高级程序员就是把初级变成中级。

总结

  初级的程序员能根据本身掌握的技能完成相应的工做。中级程序员除了能完成工做之外,还能让别人快速的接手本身工做。这也就意味着,写出的代码可读性要好,要保证代码可读性,就须要付出各类的努力。好比说,命名合理,进行相应的抽象,模块划分等等。高级程序员就是把初级变成中级。

  提及来很简单, 可是实现起来却很困难,封装框架只是其中的一种方法。你要问我还有啥方法,我也不知道,由于我不是一个高级程序员。按照我目前的认知,要想成为一个高级程序员,不只要从技术的方向去考虑问题,还要更多的从的角度考虑问题。

结尾

  很感谢你能看到最后,那么问题来了你是一个什么级别的程序员呢?

  若是以为对你有帮助,能够多多评论,多多点赞哦,也能够到个人主页看看,说不定有你喜欢的文章,也能够随手点个关注哦,谢谢。

  我是不同的科技宅,天天进步一点点,体验不同的生活。咱们下期见!

相关文章
相关标签/搜索