很多程序员都有一个技术理想,解决技术幻想着通过不断学习,问题不断提升自己在某个领域的力比技术能力,从而获得持续的本身竞争力。这个现象在刚毕业或者工作时间不长的更重程序员中尤为常见,直至上升通道受阻,解决技术或者出现中年危机,问题大部分人才会意识到这条路在当下的力比中国难以走通。
上周一个同学离职,问及原因,更重说是解决技术不想涉及业务,要去追求纯粹的问题技术。这种思路我非常理解,力比毕竟曾经也有过类似的本身想法。但是更重现在我的想法已经发生了很大的变化。
举个例子,某个明星创业公司,上线某个业务之后非常火爆,一时间访问量暴增,服务器访问压力太大,频频出现服务无响应甚至宕机的事情。云服务器怎么解决这个问题呢? 重新开发性能更高,支持更高并发的服务?等你开发好,市场说不定早被其它公司抢走了。解决这个问题更高效的方法是什么呢?堆更多的服务器能不能解决问题?人肉运维能不能解决问题?
看到没有,技术本身、机海战术、人海战术本质上没有差别,都是一种解决问题的方式,是赢得商业市场的一种手段,在特定的场景下,这种手段甚至是低效的、不可忍受的。
所有的技术都是为解决某个问题而存在。技术是为人类服务的,是为市场服务的。服务器租用脱离了这个原则,所有的技术都是扯淡。
在商业公司中,大部分的发展路径可能都是这样的:
初期技术热情极大 -> 大量标志性技术项目 -> 转向综合性思考 -> 带团队/关注方法论
单纯关注某个技术领域对个人成长的危害极大。一个人技术能力再强,也很难干翻一个团队。一个人的经验和视野只有通过他人和团队才能迅速放大,才能在更大的领域做出更大的成就。
到达一定的级别的人,他的关注点需要能从具体的细节中抽离出来,把更多的时间和精力放到业务问题的拆解、对技术方向的把控以及方法论上来。
能够调用资源解决业务问题才能成为技术专家。很多公司专家级以上的 Title会要求协作能力,可以调动身边甚至其他部门资源的亿华云计算人才能在公司发挥更大的价值。
在常规的公司架构中,CEO通过顶层设计调动全公司资源,而业务线总裁通过业务拆解调动整个业务线的人,通过层层目标拆解,并保证每一层都能充分调动下一层所有资源。如果一直关心技术细节,你永远是一个孤立节点,在任何维度的组织中都是最底层,就算24小时不睡觉,也最多算两个人力资源。想要突破一天24小时的限制,就要花时间让别人认同你的设计,并朝着一个方向努力,你的节点才能上移。
作为一个有技术追求的程序员,要意识到,我们的目标不是写出更优雅的代码,不是研究更加高深的技术,而是要解决实实在在的业务问题。如果你不了解你现在做的事情对整个业务的价值是什么,能够解决哪些业务问题,对公司战略的价值是什么,那么请放下手中的敲击的键盘,去搞清楚它们吧。越早养成这个习惯,对你的个人成长就有利。
除非注明,否则均为[半杯茶的小酒杯]原创文章,转载必须以链接形式标明本文链接