Quantcast
Channel: CaelumObject Developers' Blog » mauricioaniche
Viewing all articles
Browse latest Browse all 2

Effectiveness, knowledge and the progress curve

0
0

In a recent post, Michael Feathers talked about the skill level in the software development industry.

Knowledge requires practice and takes time to settle, so it is natural to see that, in a currently fast paced changing industry like ours, some individuals are amazingly away out of the mean quality. Feather suggests a graph showing the distribution of people in terms of efficiency. The X axis represents the efficiency and the Y axis the % of people (their representation) in the industry.

Our market does not usually behave in a stabilized way so that a normal distribution would be a perfect fit. A long tail distribution, as the market grows every year, seems more plausible. Most of those distributions (including the Normal) are part of the exponential family.

Exponential family based distribution of efficacy: taking in consideration newcomers and specialists

Exponential family based distribution of efficacy: taking in consideration newcomers and specialists

Points in that distribution are related to people. Over time, points (people) that move to the right increases the mean. People that move to the left decreases it. If a small group moves to the right, the mean might increase more than the deviation. If more people arrive in the market on the left side of the distribution, the mean might decrease and the deviation might decrease or increase.

A mathematic comparison has to fix one variable, and the results of that comparison are related to that variable. Comparing different groups over time is neither a comparison of time nor groups. A fair comparison would be the same domain over time or different domains at the same point in time. Therefore, it is not possible to conclude that improving your skills increases the mean (domain analysis) or that the industry does not evolve because of the mean.

We could focus on the efficiency of a few individuals, boosting them and creating super specialists who produce amazing code in a short period of time – a “must have” in a big enterprise. This will improve just one individual’s efficiency, with very little effect in the market.

Ideas and technologies which only a specialist was able to benefit from, over time, are better understood and taught to the market: increasing the entire market efficiency.

If my students were able to increase their efficiency by 10% over the course of one year while I, as a teacher, increased mine by 20%, I would have achieved a much more valuable result for the industry (and mankind) than doubling my efficiency. Fortunately, I believe most of our students increase their efficiency by numbers much higher than 10%.

Either way, surely it is not true that “you can’t have the goal of advancing the whole of the industry. It isn’t going to happen.”. The industry is advancing, nowadays we develop software that 10 years ago was unthinkable of. Finding real teaching and learning practicing are the basis of efficiency improval. Teaching is not about exposing ideas. Coming from a family of teachers, there are methods that increase the efficiency of acquiring knowledge and a teacher must know how to use those.

One single person improving himself affects the entire industry in a minimal way, while teaching newcomers the wrong way affect the mean in a negative way.

Some will choose to improve their knowledge, slowly increasing the variance, others will choose to aid the industry, slowly increasing the average. Both are important for the industry. We have chosen to improve efficacy of the industry and, from the results we have been achieving, we shall not give up so soon.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images