【专栏】方法论、方法论——程序员的阿喀琉斯之踵(2)
如果你只是在削铅笔,那么何必磨一把倚天屠龙剑来?反之,如果你做的是一个本身功能很牛很创新很有价值的软件,那么语言技术其实完全是次要的,并不是看上去越眩越好,关键是选择各个方面综合考虑起来最合适的工具即可。
再举个例子,如果我想给我的网站做一个feature,我认为这个feature技术上很牛很强大,而且刚好有机会使用一下我最近修炼的某某framework和某某语言,而且这玩意很有挑战性,还不是一般人能够做得了的,综合以上三点,我立时觉得心痒难耐摩拳擦掌。然而实际上这个问题应该怎样分析呢?首先,考虑到以上三点,这将会是一个投入相当大的项目,那么其收益就必须要对得起这个投入,技术上很牛不代表商业上就牛,再牛再难做的feature如果不能带来商业价值那就是负收益。总而言之,
1.一件事情仅仅让你感觉挺牛不代表这件事情就是值得做的;
2.一件事情仅仅让你感到很有兴趣并不代表这件事情就是值得做的。
这两句话和我们日常的认识并不冲突,其实我们几乎总可以找到既有价值、又有趣、又有足够挑战性的工作。举个例子,本科数学学得精纯无比的同学有没有偶尔也会觉得盲目呢?做这些题目到底有什么实际用途呢?这就像是你总是在磨一把刀,磨得闪闪发光锋利无比,你可以向别人炫耀自己的刀很牛B,但是刀是为了冲锋陷阵血溅五步的,你也不想让它折戟沉沙吧,不管是将数学用在数学物理上还是用在人工智能、机器学习、密码学、通信上,都是既让人有成就感,同时又有意义和价值的事情。对我们程序员来说,你把一门语言玩得很精通,不仅知晓它所有的语法细节,陷阱和缺陷,还了解它的底层实现模型是如何。你觉得很牛很有成就感——的确,我们都会为一件自己做到了别人做不到的事情
登录后获取更多权限
网络编辑:小碧