大概是在我小学五年级的时候, 大家开始玩魔方,我们家也买了一个。 我和几个小孩折腾了一会, 没搞出什么名堂。我哥摆弄了好一会, 嘿! 弄出一面一样的颜色。后来我也琢磨出来怎么把一面颜色拼出来。 再后来我才知道魔方有一些模式和一些口诀, 按图索骥, 依口诀而行, 就会从一面玩到一面再加一层, 再到加两层, 然后把最上层四个角的颜色搞对, 然后再按照一两个口诀翻十几下, 六面就做好了! 我玩着玩着就把各种模式和口诀都掌握了。 上初中的时候, 我还在课间表演过, 赢得一些男同学的好评 , 女同学似乎对此不感兴趣。
要在当时, 我的简历上一定会在“技能”一栏写上:
“精通玩魔方”。
后来我就不玩魔方了,这样过了二十多年。
几年以前我在一个实习生的桌上又看到了魔方。 我拿起来,似乎不用想, 当年的口诀就在手上. 转啊转,一面, 一层, 两层,那个男实习生露出崇拜的目光。。。 直到最上一层, 嗯, 口诀是什么来着? 我试了几种可能, 好像都不行。我看到周围的女实习生似乎不感兴趣, 那就算了吧。
看来我的简历要改写成:
“精通玩魔方到第二层”。
后来我想, 把第二层拼好, 我只知道找到某个模式, 按照某个口诀执行即可。 但是我并不了解为什么这个口诀能把第二层拼好, 同时又不打乱第一层的结果。我更不知道如果在执行中走错了几步, 如何随机应变, 挽回局面。离开了口诀的话, 我只能把魔方的一面拼出来。从这点看来, 我的魔方技能应该是
“能够还原一面, 其他看口诀可搞定”。
那我的这真实的“技能”还值得写上简历么? 看样子是上不了台面了, 那什么是“技能”呢?
要知道技能, 谁能告诉我技能的反面是什么?
技能的反面
计算机人机交互领域的科学家 Bill Buxton 1995 年的一篇文章提到了 “The Opposite of Skill”:
Before reading on, think for a moment, and tell me what is the opposite of skill? I'll even give you a hint: I'm not looking for "unskilled." |
[大家可以花10多分钟先读一读]
[10 分钟就过去了? 您还是读一下吧]
Bill 说技能的反面是 ”Problem Solving” – “解决问题”, 这个听起来有点绕, 我们看看IT 人士熟悉的一个例子吧。 一个IT 专业的大学生来面试, 简历上写 “技能: 精通 Visual Studio C# 编程”。 于是面试官请他实际用VS IDE 写一段程序 (冒泡排序)。 一个 “不精通”的面试者的编程过程实际上就是一个“解决问题”的过程。 例如:
· 嗯, 怎么开始一个C# 的命令行程序呢?
· 定义数组是怎么弄的? 是 “int [] arr” 还是 “int arr[]”, 还是 ArrayList, 还是 Array <T>。 哦, 我平时都是上网查的. 哦, 我不知道还有MSDN 网站。
· 嗯, 为什么编译没过呢, 哦, 这里少一个分号。
· 嗯, 怎么设断点? 怎么定义命令行参数? 额, 我要查一查…
你发现他把时间都花在“解决 (低层次) 问题”上了, 你想考察的“算法技能”、 “C# 程序设计技能” 都无暇顾及。注意, 这是在他认为非常精通的编程工具和编程语言中出现这样的问题。 你要这样的员工么?
那怎么提高技能呢? 答案很简单, 通过不断的练习, 把那些低层次的问题都解决了, 变成不用经过大脑的自动操作, 然后才有时间和脑力来解决较高层次的问题。
年轻学生都志向远大, 上了一些课, 就很想解决高层次的问题。我最近碰到一些学生就非常想做高层次的“科研”, 觉得“工程”是基础, 没意思。而且我 “已经知道怎么做了”,
从科研, 或者理论的高度上说, 所有的“技能”都能总结成简单的 ”已经知道怎么做了”: