任何在软件领域工作时间长的人都会听过这样的问题:
我碰到一个XYZ异常,你知道这是什么问题吗?
这些提问很少会包含堆栈跟踪、错误日志、或任何关于问题的上下文。他们似乎认为你是在不同的平面上操作,即便不基于证据的分析,也能找到解决方案。他们认为你是大师。
我们期待那些对软件陌生的人提出这样的问题:对他们而言,系统看上去是有魔力的。但让我担心的是在软件论坛里也看到这种话。类似的问题在程序设计版块中出现,例如“我正在构建库存管理。我是否要用乐观锁?”讽刺是的,提问人往往比回答者能更好的解答这个问题。提问者肯定知道上下文、必备条件,并能读到有利和不利的不同策略。但他们已经寄希望于你,在不要上下文的情况下给予他们智慧的答案。他们想要的是魔法。
是时候为了软件行业驱散这种大师神话了。“大师”是人。他们像我们一样是通过逻辑和系统性地分析问题。他们也利用心里的捷径和直觉。回顾一下你见过的最优秀的程序员:可能在某一点上,他知道的比你现在做的还少。如果一个人看起来像大师,那是他多年的学习和完善思维的过程。一个“大师”只是一个有着无穷无尽好奇心的聪明人。
当然,天资也存在巨大的不确定性。很多黑客都比以往任何时候都更聪明、知识渊博、生产力更高。尽管这样,揭穿大师神话也具有积极的影响。例如,当和一个比我聪明的家伙工作的时候,我会干一些跑腿的活,以提供足够的上下文来有效利用他或她的能力。移除大师神话也意味着移除了感知障碍。没有了魔法屏障,我看到了自己可以持续进步。
最后,软件领域的最大障碍之一是那些坚定传播大师神话的聪明人。可能是出于自尊心,或者是在客户或领导那里增加一点价值的策略。讽刺的是,这种态度反而会导致聪明人贬值,直到他们的贡献成长不如他们的同行。我们不需要大师。我们需要愿意培养他所在领域专家的专家。这是我们所有人的空间。