程序员有的时候和过去的知识分子有点像,都是臭老九,往往会技术至上,不待见产品运营等等。老罗在《长谈》中提到,一个公司的商业成功有很多个维度,并不一定是只有产品成功才能铸就商业成功。公司好比一辆汽车、产品、市场、销售、渠道、技术等等都是公司的部件。少了谁都会成为公司的短板。
所以技术到底是个什么东西?至少在商业公司,它是帮助公司实现商业价值的一个组成部分。如果程序员只关注技术,过于钻牛角尖,那么技术往往会变成妨碍公司运行的阻力。譬如说在创业公司早期,公司需要快速迭代出产品。一来可以快速抢占市场,二来可以迅速获得市场的反馈,防止出现耗费大量人力物力时间成本后才发现走错方向的窘境。这个时候工期紧和需求频繁的变更都会触动技术人员的神经,这两者本身和写出好程序相当程度上是相违背的。
但是作为一个技术人员,不仅仅把眼光局限在技术实现这块,而稍微放宽到公司层面,那么这些不确定的因素都是可理解,甚至合理的。当你有这个意识后,在产品初期,你对技术方案就不会十分的执着。
那么照这么说我身为一个技术人员就应该向公司妥协向商业妥协咯?恰恰相反,这个时候对技术人员的“技术要求”其实是更高的。作为一辆汽车的一个部件,你不单单要配合其他部件保证车辆的运行,你还要做一个质量好的部件,又快又好用的部件才是更高的境界。所以作为技术人员,需要做质量和商业化的权衡,对其技术眼光和实力是一个更高的要求。譬如你如何在快速迭代的过程中尽量少的积累技术债务?这何尝不是考验你的架构能力呢?你可以留下重要但不紧急的接口的定义,把实现放到以后。你可以设计一个相对扩展性好的架构,方便以后扩展。甚至往小了说你保证你代码中业务逻辑的清晰度,方便以后维护或者重构,这也是你技术实力的体现。
如果你不是一个科研人员,或者科学家,那么你在商业公司这辆小汽车上的价值,必须是和其他部件合作体现出来的,切莫把追求技术变成偏执的借口。但是但是但是作为一个技术人员,技术实力过硬,技术眼界宽广是你的安身立命之技。
写在后面:
此篇是习作,纯粹为了练笔头用的。