行业知识一直以来都是程序员非常容易忽略的,这主要跟程序员这个群体的普遍性格有关。 程序员的性格是什么?宅,闷骚,偏执,厌恶约束,有点自负,有点自卑等等一系列的特征,如果你不具备以上当中的任何一条,LZ只能说,“请联系我!”。 有不少猿友都对技术有一种偏执,也正是因为这种偏执,让一部分人成为了的程序员,但也往往让他们失去了一些东西。作为一名程序员,技术自然是扎根之本,但只修内功,不修外功也是不行的。 以前LZ觉得程序员的内功是基础知识(比如算法,设计模式,计算机系统知识,网络协议等等),而外功则是解决各个问题的具体技术(比如解析excel需要poi,制作统计报表需要jfreechart等等)。现在想想,这样的划分其实是有问题的,像poi,jfreechart这类具体的解决问题的方式是没有资格称为外功的,它们只是像eclipse,pl/sql这类东西一样,最多算是一种工具。更形象的比喻应该是基础知识是九阳神功,具体的技术是乾坤大挪移,只要学好九阳神功,乾坤大挪移只需要在洞里花费几天能学会。因此,如果你现在还沉迷于修炼九阴白骨爪,葵花宝典等各类的杂牌武学,现在是时候醒悟了。 那么真正的外功是什么呢?真正的外功其实正是行业知识。 不少人肯定都看过武侠小说或者电视剧,内功与外功(或者叫招式)是相辅相成的。内功越强,同样的招式会威力越大。更重要的是,外功越强,更能将内功发挥的淋漓尽致。 对于程序员来说,内功是技术底蕴,外功是行业积累。技术底蕴越强,当你带着同样的行业积累与别人谈判时,会越具有冲击力。行业积累越深,越能将你的技术底蕴彻底的发挥出来。 举一个不太恰当的反面教材。在LZ的公司里,有着这样一群人,他们被尊称为架构师,他们每个人都有着深厚的技术底蕴,但却只能每天无所事事,不痛不痒的插手着各个项目组的技术架构,技术体系,系统设计。 究竟是什么导致了他们尴尬的境地?相信现在不用LZ说,各位猿友也能猜到一二。正是因为他们整天处于一个相对来说比较纯净的技术环境,一些必要的行业知识或者说业务知识实在是太贫乏了,对系统当前要做的事情以及将来要做的事情缺乏深入的了解。因此哪怕内功再深厚,没有招式的话,是无法发挥出威力的。 或许有的猿友会说,不是无招胜有招吗?是的,没错。但是无招可不是说没有招式,而是要自己创造招式。 有不少程序员都会忽略甚至抵触行业知识,包括以前的LZ。LZ一度觉得,了解行业知识或者说业务知识是浪费生命,原因很简单,如果换一家公司,不同的行业,那学习那些行业里的业务知识岂不是白瞎了吗。 现在想想,这个结论其实是有很大误解的。对于跳槽来说,如果是同行业的,那么在技术底蕴同等的条件下,更多的行业积累会让你的价值增加几倍甚至数十倍。算到时候你真的换到了不同的行业,在之前的公司,通过你内外功兼修的方式,你也会更加容易挤入到更高层里,这样在换行业的时候,你的职位定位本身会高出一些档次。况且,换工作本身是一件重头再来的事,你最白瞎的是你在公司的积累,比如贡献的积累,人脉的积累等等,而不是其它别的东西。 以上结论都基于LZ到现在才认清的一个现实,那是一般情况下,稍微大点的公司里,从来都不缺技术人才或者业务人才,但都缺技术和业务双双兼备的人才,因此这样的人在公司里是很容易得到重用的。 总之,成为一个技术大神固然是好的,但深入了解公司业务,让你的技术能力充分发挥,才能让你和你的公司更好的实现双赢。
|