对“优秀工程师”的一点感悟

 

今天在网上看到很多人对自己的IT技术人生路产生了怀疑,大龄工程师有竞争力吗?甚至有人将大龄工程师和“小姐”并论,提出了工程师职业也是青春饭的论断。几年前,我也经常问自己,以后的路该怎么走?能够一直做技术研发吗?做一段研发之后需要转市场或者转管理吗?技术研发有前途吗?
 
现在,我想说的是平庸的技术研发没有前途;没有自己想法的技术研发没有前途;只专注于code,没有架构思想的技术研发没有前途。作为一名技术研发工程师必须要不断提升自己,将自己培养成一名优秀工程师,这样我们的路才会越走越宽,这样不仅很有前途,而且会越老越值钱。任何行业想要做好,都需要付出时间,都需要付出比常人更多的努力,否则这个行业本身就没有价值去做。
 
在现有的教育体制下,通常硕士研究生毕业就要26岁了,对一个领域的熟悉通常至少需要持续3年时间的投入。所以工作到30岁的时候只能说进入该领域了,但通常很难达到技术专家的级别。深入做研发的工程师可能都有这样一个感受,越深入研发你会发现自己不懂的东西越多,所以要将自己培养成一名技术专家,没有10年的时间是不够的。除非只是满足于蜻蜓点水,要是那样的话,当然很容易被年轻工程师超越,因为根本没有深入的技术积累,很多时间都荒废掉了。
 
前两天在路经一个卖板栗的店铺,队伍排的很长。有一个小伙子要求排在队前的同伴买一斤A板栗,同伴马上问他一个问题:A板栗没有了怎么办?这个问题让我对何谓“优秀工程师”进行了思考。买板栗是一件日常生活中很简单的事情,但是也不外乎有意外,A板栗卖没了,此时我们该怎么办?技术研发的时候,其实我们一直在考虑各种corner case,在设计的时候需要把各种出错处理考虑清楚,否则就不是一个完美的设计。这一点我在美国出差的时候感受尤为深刻。当时,我和美国同事一起做两个进程模块的集成设计,那个美国同事把每个进程的failure case考虑的一清二楚,最后做了一套两个进程之间的通信协议,使得两个进程集成可靠性非常高。如果这种事情拿到国内来做,我估计很多工程师都嫌这种事情太简单,定义几个API就草草了事,很多人都不会去深入考虑各种出错处理。印度的软件工程师全球有名,看一下印度工程师写的代码,你会发现很乱,因此,国内有些工程师也会批评印度工程师的软件能力。但是,印度人开发的软件就有一个特点:超级稳定!我对这种现象进行了分析,其实印度工程师着重考虑的是架构,并不是代码,对各种出错处理考虑的一清二楚,设计做的非常到位,这就是差别。所以,如果想要成为一名优秀工程师,必须要有清晰的系统架构思想,必须要有出错处理的能力,而不是仅仅局限于一些code,代码工程师只是初级阶段而已。但是,要具备架构思想,几年的时间够吗?显然不够,这需要时间的长期沉淀。
 
纵观一下对计算机人才的市场需求,一方面有很多刚毕业的学生找不到很好的职位;另一方面很多企业苦于找不到合适的员工,这是为什么?其实,其关键问题就在于企业需要的是有深厚技术积累的人才,这个领域需要技术积累。只不过在现有急功近利的大氛围中,很多人忽视了这点,导致了很少人能够成为真正优秀工程师,很多人就会担忧自己的研发前途。每次美国工程师到中国来访问的时候,都会惊叹中国的研发工程师太年轻了,不可思议!这意味着什么?中国的研发之路才刚刚起步,需要沉淀,需要积累,需要更多的优秀工程师。作为一名今年已经迈过32岁的研发工程师,我感到技术研发的未来不是梦,关键在于我们需要不断的培养自己,成为一名真正的“优秀工程师”。

你可能感兴趣的:(工程师)