写代码这件事
写代码这件事其实挺复杂的,写起来复杂,情感上也很复杂。写起来复杂不用多数,被 bug 支配的恐惧难以忘怀。感情上复杂又是什么呢?回忆起来,还是会回到上学的时候。
我写代码属于半路出家,上学的时候不是计算机专业,毕业的时候才开始学习。研究生的阶段有一个课题,用的是 c 语言,我就从图书馆借了一本 c 语言的书在看。被我导师看到了之后,把我批判了一番,意思就是代码只是工具,我要专注于课题本身,不要去研究代码。从他的角度来说,可能最终重要的东西是分析并解决那个课题的任务,只要方向对了最后的代码实现不重要。但这不是他准确的意思,他的潜意识里,代码从来都不是重要的东西,估计他觉得写的不多且容易吧。其实不止他这么想,同系的老师多少有一些这种想法,做工程领域的项目,只要功能实现就好了,无论代码怎么写最后差别不大。然后我们系也有做图像处理的,他们更看重算法,对于代码也是无所谓,算法思想很重要。
走上工作岗位之后,一开始还是很看重写代码本身的,觉得能出优雅的代码十分得重要。后来也是耳濡目染,因为在领导和产品经理眼中,我们只是最后实现意志的一环,他们的决策和规划更重要。好比我们只是手艺人,木匠、瓦匠、漆匠等等,我们就等着被告知事情,然后做就行了。这就会影响很多人,会让他们觉得程序员开发者是低人一等的,他们要尽快爬上领导层或者至少转行做产品经理才能逃离这个困境。
一个产品的好坏,最终还是取决于匠人的手艺。谁都可以有想法,任何天马行空的想法都可以有,但没几个人能做出来。同样的是运动鞋,耐克的各方面用料和性能都要比足力健好;同样是奔驰,进口奔驰就是比北京奔驰耐开,安全;同样是 Java 代码,你的代码跟 netty 的差距就是天与地的差距。举这些例子就是为了说明,谁都可以想象,但最后比拼的还是产品开发者的水平。这个水平就是代码水平。
代码重要吗?十分重要。写代码是这个时代技术从业者最重要的事,过去相当长一段时间,都是单体应用,结构简单,数据量小,所以工程师们考虑的更多是项目的解决思路。但现在是一个万物互联的时代,就连工业领域都开始提工业互联网这个词了,工业领域也用上了 docker,你做的东西不仅要能实现功能,更要达到人类可用的水平。想达到这样的结果,初期的想法和仿真之后,后期最多的时间应该是去完成代码。可读性,扩展性,高性能一样不可少。这都需要扎实的代码功底,不是简单的照着博客或者几本书抄一下就行的。
所以,写代码这件事从此少了一些复杂——情感上的复杂。
评论 (2 条评论)