最近在和领导闲聊的时候,聊到了一些关于编程思想方面的东西,让我受益不浅。尤为是有一个问题让我印象深入。并且对于这个问题,在过往的面试中也被问了几回。我就把我以往自认为不错的回答从新说了一遍。谁知领导听完,居然笑了起来,这着实让我有点摸不到头脑。程序员
对于这个问题,相信各位在以往的面试中,应该有被问过的吧。很明显这个是一个开放式的问题,没有标准的答案。我是这样回答的:面试
我以为我是一个中级程序员。为何这样说呢?其实我对于初级的定义是能干活。对于安排的任务能顺利完成,并解决出现的一些bug。可是对于技术呢?可能停留在使用层面,没有作到知其然而知其因此然。编程
目前的我,完成平常的工做已经不是问题。对于某些技术也有一些深刻的了解,能设计一些架构,因此我以为我是一个中级程序员。那做为高级程序员来说,须要对技术有更加深层次的一个理解,同时还须要有一个强大的架构设计能力,来应对不一样场景的业务的一个考验。架构
领导框架
听了你说的这些啊,很明显你的划分是侧重于技术方面。按照你说的,就好像会CRUD而且会使用一些工具,好比说Redis,RabbitMq就是初级程序员。而后又学习了其余的组件,并了解了一些原理,就变成了中级的程序员了。学的东西多了,就变成高级程序员了。ide
按你说的这样,那我把要学的,都列举下来。一个一个学完,就成了高级程序员。要是这样的话,那高级程序员应该有不少。 很明显在咱们这行,高级的程序员仍是少数。你认为的高级程序员,在我这里可能只是个合格的程序员 。并非能说是一个高级程序员。工具
领导:SpringBoot是一个优秀的框架是吧? 学习
我:这个是的,巴拉巴拉说了一堆的优势。idea
领导:那开发SpringBoot框架的程序员,应该是个高级程序员吧? spa
我:是的。
领导:那么,他为何是个高级程序员呢?
我:呃呃呃呃呃!
领导:
一个合格的软件,并非一蹴而就的。就以咱们作的东西来讲,是咱们这个团队用一行一行的代码建造起来的。当我分配工做的时候,会将任务根据复杂的进行排序,而后在根据大家的能力来进行分配。好比说,把一些简单的工做,交给实习生去作。而后把复杂一点的,交给经验丰富的去作。当人员发生变更的是时候,其余人也能快速接手。
领导:那么问题来了,如何能让其余人快速接手呢?
我:这个。。。。。
领导:很简单,要是全部人写的代码都同样,看别人的代码就像看本身的代码。这不就解决问题了吗?
我:是的。
领导:那么问题又来了,如何让全部人写的代码都同样呢?
我:咱们能够用alibaba开发的idea的插件扫描代码,制定相应的代码规范,并进行实施。
领导:咱们制定的规范,你遵照了多少呢?
我:遵照了一部分,有一部分没有遵照。
领导:你看这不就破坏了嘛,让代码风格不一致了?
我:额,这个确实是。
领导:alibaba的插件也好,公司的开发规范也罢,只能进行少许的约束,没办法实现强约束,你能够选择遵照,也能够选择不遵照。并且问起来,为啥不遵照。大家能说出一大堆的理由,好比说,项目赶,时间短。
我:哈哈哈。
领导:那么有没有什么办法来实现强约束呢?
我:这个。。。应该有吧。
领导:是什么呢?
我:呃呃呃!这个不知道,尴尬一笑。
领导:这个东西就是框架。
框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。
领导:为何这样说呢?就以你写代码来说,应该不会出现忘记写;
这个吧。
我:这个确定不可能,IDEA会提醒,而且编译都过不了。
领导:这就对了,不按照规则写,直接给你报错。若是咱们把定制的各类开发规范封装成一个框架,让大家去使用,造成强约束。这样大家写出来的代码是否是就同样的了。这也就是咱们封装框架的缘由。想要啥,都能加上去。毕竟开源的框架,面向的是绝大数人,不能面面俱到。
我:哦原来如此,学到了学到了。
我:那你是如何划分程序员的等级呢?
领导:初级的程序员能根据本身掌握的技能完成相应的工做,然而中级程序员呢除了能完成工做,还能让别人快速的接手本身工做。高级程序员就是把初级变成中级。
初级的程序员能根据本身掌握的技能完成相应的工做。中级程序员除了能完成工做之外,还能让别人快速的接手本身工做。这也就意味着,写出的代码可读性要好,要保证代码可读性,就须要付出各类的努力。好比说,命名合理,进行相应的抽象,模块划分等等。高级程序员就是把初级变成中级。
提及来很简单, 可是实现起来却很困难,封装框架只是其中的一种方法。你要问我还有啥方法,我也不知道,由于我不是一个高级程序员。按照我目前的认知,要想成为一个高级程序员,不只要从技术的方向去考虑问题,还要更多的从人的角度考虑问题。
很感谢你能看到最后,那么问题来了你是一个什么级别的程序员呢?
若是以为对你有帮助,能够多多评论,多多点赞哦,也能够到个人主页看看,说不定有你喜欢的文章,也能够随手点个关注哦,谢谢。
我是不同的科技宅,天天进步一点点,体验不同的生活。咱们下期见!