Expertise and Software Development

Published 2 Oct 2011 by Michael Dubakov

Students are commonly given an outline of all data that they might collect, organized by “social history,” “previous illness,” and so on, suggesting that medical diagnosis is a process of collecting data in a fixed order. The results is that students sometimes collect information by rote, without thinking about hypotheses at all!

This is the excerpt from the “Nature of Expertise” book I’m reading.

This example shows how educational system is broken. The first two things EVERY educational system should do are:

  1. teach how to learn the subject.
  2. give fundamental understanding of the subject and provide a formalized mechanism how to apply knowledge on practice in the most efficient way.

In software development people often learn new technologies like CSS, RoR, Java, etc., without fundamental knowledge of the subject. As a result, they have impressive list of technologies in CV, but fail to write a simple algorithm or explain why this particular solution is best to this particular problem.

  • Average developer can solve problems using google.
  • Good developer knows patterns and some clever techniques.
  • Great developer can explain EVERY decision he makes.

We create Fibery — work management platform that grows with your company. Go see for yourself: 🎈