一个普通程序员眼中的「技术」
技术是程序员安身立命的根本,可一味的追求提高技术却未必能从技术上获得相应的回报。
通常情况下, 程序员要使自己所学的技术产生相应的价值或者收入必须依托于某个公司, 靠自己单干很难赚到钱, 即使能赚到钱性价比也不如替企业打工来的高。
所以程序员一般都是替别人打工的。
程序员在企业里打工,目的就是替公司解决相应的问题, 可程序员们有时候又有点一根筋,认为既然自己的工作是做技术那么问题自然可以通过技术手段来解决, 只要技术越牛逼,解决问题的能力就越强, 于是就一门心思的提升自己的技术, 希望借此来体现自身的价值。 殊不知,绝大部分公司根本用不到什么牛逼的技术, 你用用普通的三流技术照样能妥妥的把问题给解决了,使用那些行业内牛逼的、前沿的技术并不能得到理想的效果,所以去学习使用它们也不见得能得到相应的回报。
因为那些牛逼的技术本就是那些牛逼的人针对自己所在的牛逼的公司的业务场景开发出来的, 这些技术能在它们所在的公司发挥效用,但是扔给其它企业用却未必能体现相应的价值,强行使用还会有副作用。 比如说那些什么缓存、消息机制、厉害的框架、高并发方案等等。
你很厉害,会使用很牛逼的高大上技术,可在你的老板看来, 你可能和那些技术不厉害的程序员没有差别,甚至于还不如它们。 因为虽然你技术牛逼,然而你的这些技术在这个环境下面根本没有用武之地,就像在一个弄堂里面,你一辆奔驰的速度还没有人家骑个自行车来的快,所以即使技术再厉害也是没有意义的。
现实就是这么残酷但是不得不接受。
程序员对于自己职业道路的发展,技术不容忽视,但绝对不排第一。和其它任何职业一样,程序员对于自己职业生涯,应该提升的是解决问题的能力,技术是解决问题的一种方法,但不一定是最有效的。很多时候,把问题解决好,把事情做好,并不一定要通过技术,程序员们很难领悟到这一点,即使能领悟,也很难真正的这么去做,这就是很多程序员明明技术很牛逼,可混的就是不怎么样的原因。
当然,你如果非要通过纯技术来展现的价值,那也要找一个能让自己技术有用武之地的环境,但是这样的环境很稀有,容不下所有有这种想法的程序员, 大多数程序员注定不能只靠技术就吃得开。因此,程序员真的不能认为,写代码就是程序员的一切了, 提升自己的技术就能走上人生巅峰。
当然这并不是说提升自己的技术,学习在工作中用不到的技术是没有用的,至少这在换工作时是必不可缺的, 因为在面试的时候, 技术是最容易量化的,其它方面的能力, 通常只有在工作中可以实际体现,那面试的时候也只有通过技术作为你能力的参考了。
所以,对于那些牛逼的技术,程序员们处于一种爱恨交织的状态, 学吧,工作中用不上;不学吧,跳槽面试时人家问了怎么办。
无可耐可
知乎:https://www.zhihu.com/people/aspwebchh
github:https://github.com/aspwebchh
email: aspwebchh@gmail.com