之前一直在思考一个问题,作为一个程序员,真正的价值在哪里?
在回答这个问题前,首先思考下程序员的主要工作是做什么。
程序员,或者更确切的说应该叫工程师,主要的工作应该是解决工程问题。
工程师和科学家有一个不同,科学家常常是告诉大家什么事情可以做,但是工程师要明白怎么做。
工程师的真正价值体现在将一个原型的东西变为实物,在你面前实实在在的展示出来。
蒸汽革命的时候,蒸汽机的原理其实不复杂,但是大规模应用的不是那些理论学家,而是切切实实解决在使用过程中出现问题的工程师。这个人就是瓦特。有人说瓦特是发明家,但我觉得他其实应该是称作能够使得蒸汽机能够达到大规模应用的改进工程师。
很多的程序员喜欢挑战高精尖,认为只有这些才能够体现出自己的价值,甚至有时候看起来不达目的誓不罢休。我只能说这种精神可嘉,但是做事的方式却值得商榷。
看到一个故事。之前有个公司有一帮人技术功底特别扎实,只要是公司产品遇到的一些技术难题,总是能够在最快的时间解决。后来其中的几个人一起出去创业了。一段时间后聊起他们创业在做的东西,那几位对于他们在解决的技术问题特别兴奋,而且提到他们在创业开始想法的基础上,发现并解决了多个技术难题。然后有产品经理问他们解决技术难题的场景是什么,结果都是一些特别非主流、特别特殊的情况,一万个用户里可能只有一个甚至还不到才会碰到这样的情况。
这说明什么,说明他们其实不是在创业,而是在解决难题,还是跟整个产品的应用场景关系不大的难题。
有个说法,很多的程序员都喜欢找一些比较牛逼的公司,因为天然的认为牛逼的公司技术肯定是很牛逼的。结果进去后才发现其实技术上也不过尔尔,于是就会产生一些挫败感。其实,很多好的产品,关键的技术就一两个,更多的是靠着对一些普通的技术不断打磨。
说白了,除了一些真正有技术壁垒「0~1」的产品,很多的产品技术上大家「0~1」这一步都做的不错,关键的还是怎么做好 「1~N」这一步。如果大家普通技术上不断的做「0~1」的功能,很可能出来的就是一个平平常常的产品,在这个注意力匮乏的年代,这样的产品显然是不会得到引起太多关注的。
所以,就产品而言,工程师的价值其实体现在两方面:
0~1:
核心的技术,一定要有突破,这个是产品最大的亮点。在这块上,工程师就需要发挥准牛角尖的精神,任何的突破都可能带来产品上的巨大提升。
1~N:
这就是一个慢工出细活的过程,表现就是不断的迭代业务。这时候需要收起高傲的心,沉住气,慢慢的打磨。
有一句话说的比较好,工程师做的就是:用什么样的方法,解决谁的什么问题。工程师就是通过一个个的可以落地的方案,解决产品应用上的一个个问题。
完。
欢迎扫一扫订阅我的微信公众号:ibrothergang