一个“资深程序员”的评判标准是什么?看发量?这当然是开玩笑的说法!很多人可能以为评判一个程序员的唯一标准就是技术,其实这个我是不认同的,技术水平只是一个程序员用来打开职场大门的敲门砖以及是否能干活的标准而已,评判一个程序员是否是个资深程序员,我觉得需要考虑很多因素。

打开网易新闻 查看更多图片

首先就是这个程序员所处的环境,如果一个程序员所处的环境对于编程技术要求并不高,那么很显然,技术就不是评判这个程序员的标准了。

我不是说在这种环境下技术不重要,只是不那么重要,这就是“面试造航母,工作拧螺丝”,一样的道理。

大多数情况下,一个程序员可以拥有“造航母”的技术,但是往往只能“拧螺丝”。

但是,“拧螺丝”不代表工作不重要,只是重心不在技术上!所谓“拧螺丝”如果单从技术角度来看,的确很简单,可从其他方面考虑,就不那么简单了!

行业积累

我前两天跟一个做ERP老板坐在一起聊天,就聊到了招人的话题,对于他们公司来说,一个程序员的编程水平基本上有个两三年的工作经验就足以胜任了,所以,他们招人基本上不看技术,而是看经验。

也就是说,在这种公司里面,作为程序员不管您的编程技术在其他程序员眼里有多烂,但是,只要行业经验足够深,他就是资深程序员!

而程序员之间,往往都会按照技术高低来评价一个程序员是否资深,我不能说这不对,但往往只拿技术评价一个程序员其实对于程序员来说是不公平的,尽管大家都这么评价每一个程序员。

我有一次在面试的时候,一个面试官问了我一堆问题,结果我大部分都没答上来,可能如果作为一个喜欢拿技术作为评价程序员的标准的面试官来说,我肯定是不合格的。但是,这个面试官最后说了一句话让我瞬间释然。

总结了下他的话,大概就是说答不上来他的问题其实很正常,每个程序员所处的行业不同,所需要使用的技术也不同,可能有些在普通程序员眼里非常简单的技术或者技术实现思路,如果一个程序员打从毕业以后就一直没在工作中接触过,那么他自然答不出来了!

此时,有人可能会说:“程序员不应该是个一直保持学习心态的职业吗?工作用不到,你不会去自学啊!”

学无止境、学,无止境

这话说得简单,但是,现在每一种技术它都有成千上万个函数,每一个功能都有多种实现思路,即使一个程序员拼命去学去吸收,也很难把市面上所有的编程技术和思路学会,即使是那些常用的技术,那也仅仅是您常用而已!

常用又不是百分百用!是吧?即使是90%的程序员都会用到的技术,那不还有10%的程序员用不到嘛!不能以大家都会,就他不会而评判一个程序员吧!

而且,学和记住又是两码事,很多程序员今天写的代码没几个月就忘了思路了,更何况是学!

或者这么说吧,我们有空可以做一个实验,邀请100个不同水平的程序员,互相问问题,我敢说,这里面90%以上的人都会有至少一个问题被别人问倒!即使是刚毕业的程序员问一个十多年工作经验的程序员亦是如此!

而且,虽然这个实验我还没开始做,也不知道有没有机会做,但我认为90%这个数字可能还比较含蓄了!

其实,不光是程序员,只要是专业上的事情,专业对专业,总会有把人问倒的时候!

所以,有时候我在互联网上看到有些程序员因为别的程序员犯了一个比较明显的错误,就认为别人不配做程序员,我其实对这种人蛮无语的。

其实,换个思路,大家考试的时候谁都不是天才,谁也不会一直考100分,难道只因为考了99分甚至是90分就不配做程序员了?

况且,90分也算优秀了吧!

结语

所以,我觉得评价一个程序员是否资深,主要还是看这个程序员在所在的行业里工作了多久,对于行业不了解,即使是二三十年工作经验的程序员,还是得去请教那些只工作了两三年的年轻程序员。

要知道,不是所有程序员都是搞科研的,大部分程序员都是为业务写解决方案的。

作为程序员,认清这个事实,整个人将会豁达很多!