最近的两件事:
- 徐晓冬对决咏春拳师,结果毫无悬念,是徐晓冬赢得比赛;
- Oracle与Google的Java官司,Google可能要赔88亿美金。
徐晓冬赢了,而且赢得很干脆利落。比赛中看不到传说中的咏春的迅疾和爆发力,只见可怜的拳师被打得毫无招架之力。而也未看到徐晓冬使出什么精妙的格斗技巧,甚至是先是硬挨了几记拳头,然后凭着皮糙肉厚的块头优势,把对手打得踉踉跄跄。总之,整场比赛同一个壮汉与一个没那么壮的人打斗一样,体会不出什么高手对决的味儿。
Oracle与Google的Java官司,88亿美金是个很大的数字,反过来想想,如果换成一个名不见经传的小公司而非Google,开发的小产品也占据着很小的市场份额,假设也“侵权”了,恐怕也根本不会入Oracle的眼吧?
这两件事情给我的感想就是,大多数时候,你做的事情根本还没到上量上复杂度的程度,你只需有一些力量、一些速度即可。
如果把必要的力量与速度看作基本功,那我觉得基本功才是更重要的。
好比我们的编程开发,基础扎实,则绝大多数任务都能完成,即使在找到、想到更佳方案之前,至少不会一筹莫展,让进度停滞不前。只有在问题复杂度呈几何增长的时候,你才会去重视问题(对手),并想尽、找尽各种更精妙的方式去应对。好比格斗高手间的对决,如果双方都是身强力壮,那么,格斗技巧、反应、速度、力量的综合演绎,就是制胜因素了;再如Oracle与Google之间的对决,只有都面对着强者间相互竞争的时候,站在“紫禁之巅”捉对厮杀的“气场”才会出现。
反过来,假若你成天咋咋呼呼,理论一套套,没有基础还眼高手低、故弄玄虚,就算是遇到个做了好几年业务系统CRUD的人,你的那些花拳绣腿估计也只能不堪一击,输了可能就怪鞋子滑、没吃饱。
所以,作为一枚程序员,要做的就是花大半的时间来打牢基础(练力量、耐力、抗击打、速度),再留些时间来打磨技术(练反应、协调,练高鞭腿、旋风腿、跤法等必杀技)。基础决定你的绝大部分业务实现。进阶能力则是必杀技,平时不太用得上,但关键时刻就靠这一两下子。
最忌嘴尖皮厚腹中空,好高骛远却头重脚轻。