四年一度的世界杯结束了,真是舍不得啊!
今天开个脑洞,把球迷和程序员做个分级的对比,博大家一乐。
入门
对于入门级球迷来说, 至少得了解足球的基本规则,比如,足球比赛每队有11个人,至少要踢90分钟,上下半场,有伤停补时等。
知道有前锋、中场、后卫;明白什么是角球,任意球,点球;知道什么是下底传中。
知道西甲,英超,意甲,法甲,欧冠, 知道皇马和巴萨是西班牙的,曼联是英超的,拜仁是德甲的......
知道世界杯4年一次,中国队一直进不了...... 不,2002年去过一次。
对于入门级程序员来说,也得掌握一门语言的基本规则:数据类型和流程控制(if else, for ,while),会用这门语言提供的基本类库,尤其是列表,Map等。
这还远远不够,还得会文件操作,网络操作,会写基本的多线程程序。
还得学会一些基本框架,类库,能做“增删改查”。 达到了工作的基本要求,可以在别人的指导下工作。
中级
这一层次的球迷得搞明白什么是越位,造越位,反越位。了解3-4-3, 4-5-1, 3-5-2等阵型。
知道什么是中锋,影子前锋,边锋,前腰,后腰,清道夫......
还得弄懂一些黑话,如摆大巴,影帝,德比,16郎,第12名球员,梅开二度,帽子戏法,大四喜......
了解一些著名球队的教练和球员,有了自己的喜好球队。
知道中国队2002年世界杯的目标是赢一场,得一分,进一球。 结果三个目标一个都没有达到,连输三场,被剃了个光头回家了。
这一层次的程序员对框架和类库已经非常熟悉,做了一些项目,写了不少代码。
理解了设计原则和模式,掌握了数据结构和算法,计算机基础知识很扎实。
对工作已经非常熟悉,从被别人指导着工作,到自己可以独立地干活。
资深
“外行看热闹,内行看门道”,这一级别的球迷能够透过热闹的比赛看出背后的故事:
某个球队正在占据上风
某个球队阵型出现了缺陷,正在被对手利用
某个队员能力不行,正在被对手持续打击
对欧洲各大联赛的球员和教练如数家珍,了解每支队伍的风格和打法。了解每个球队的梯队建设,比如拉玛西亚青训营。
知道什么是博斯曼法案。
成为某个球队的忠诚球迷,不管成绩好坏,不离不弃。
了解每个时代的足球潮流和王朝球队,如匈牙利的WM阵型,荷兰的全攻全守,巴萨的Tiki-Taka。
看过若干次世界杯,脑海里是不是翻滚着那些经典的比赛。
了解很多内幕消息,比如中国队唯一的一次世界杯之旅,米卢为什么没有带上李明?
这一层次的程序员也能透过现象看本质, 掌握了威力无比的武器:抽象。能写出可扩展,可重用,优雅的代码。
学习能力很强,来了新的技术,很快就掌握本质。
对各种语言,框架的优缺点都很了解,能够合理地进行选择。
在某一技术领域有非常精深地研究,例如高并发,缓存,搜索等。或者有足够的技术广度,能够把业务需求转化为技术架构。
作为团队的Leader,能够指明方向,带领团队前进。
专家
不管是球迷还是程序员,能达到这一境界的,基本上都得有很大的影响力。
比如张路指导,每次世界杯,那是央视必请的解说员/嘉宾,充分展示了影响力。张指导写的关于校园足球的发展建议确实是高屋建瓴,当然足协能不能把它搞起来就不得而知了。
比如Martin Fowler,人称软件教父,每当他发出声音的时候,我们都会侧耳倾听。还有James Gosling,Guido van Rossum,Doug Lea,Ken Thompson 等等,他们的书,我们得看,他们创造的语言和系统,我们得用,无法绕过。
也许不少人能达到资深的层次,但是想成为专家就很难了,不仅是努力,还得有天赋和机遇才行。