  Some time ago I read the book version of “next (the future just happened)” for the second time. Michael Lewis has a knack for explaining the social revolutions that roil under the surface of the headlines.
Reading the book, I was struck by the strong parallels between the Internet’s democratisation of information and the democratisation of talent in the software industry. Developing software is still very much an art. For all the languages, methodologies, management theories, and training, there is no rigorous scientific explanation for why some individuals are tens or hundreds of times more productive than others.
There is no rigorous scientific explanation for why some groups are tens or hundreds of times more productive than others. It just happens. Michael Lewis uses Pyramids and Pancakes as metaphors for group dynamics. Pyramids are rigid hierarchies based on command and control. Pancakes are, um, flat. Pervasive and nearly free communication of information and ideas allows people to decide for themselves whether they prefer to be part of pyramids or pancakes.
It turns out that talented software developers like to be part of pancakes. It also turns out that pancakes make better software than pyramids. This is another way of saying the same thing that Open Source advocates have been saying for some time. What are the characteristics of ‘pancake software development’? (I am not trying to create a new buzz phrase) : Peer to Peer Communication and Review. Individuals communicate directly with each other to solve problems and create code. Administrators or managers facilitate communication rather than acting as middlemen between individuals. Peers evaluate each other’s code, ideas, and fitness for work. Shared Objective. Although individuals execute different tasks, there is one unified goal everyone is trying to achieve together.
Meritocratic Assignments. Tasks are assigned to the individuals best able to execute them, regardless of seniority or education. In my career, I’ve seen an inexorable shift from pyramids towards pancakes in software development. Lightweight methodologies like Open Source Development, Extreme Programming and Pragmatic Product Management are some of the more successful examples of this trend. At the heart of these methodologies are Peer to Peer Communication and Peer Review. Open Source Development relies on evangelists to recruit contributors and administrate repositories of code.
Extreme Programming espouses continuous (‘extreme’) Peer Review though pair programming, and Shared Objectives by incorporating user stories into the methodology. &nbsp; Pragmatic Product Management emphasises a peer relationship between development and product management, and especially direct communication between developers and product managers without mediation by other managers. In “next,” Michael Lewis also points out the social effects of the democratisation of knowledge. He uses examples from investing and law, but the application to software development is remarkably clear. The third characteristic of pancake software development, Meritocratic Assignments, is exemplified by a shift in hiring practises towards technical testing.
This is a direct result of the democratisation of knowledge about how to write good software. There’s more of that knowledge on the Internet than in all of the world’s universities combined. Compare the value of a Computer Science degree to the value of an MBA from a good school. The MBA is essential to getting a position at a desirable firm.
And that position is a necessary prerequisite to getting a better position at the same or better firm. And so it goes for the pyramidal business person working in a pyramidal industry like management consulting or investment banking. The importance of that first job, and therefore of the MBA, is magnified by the magic of compound returns. Anybody with enough business acumen to get into an MBA program knows their entire career follows from their ability to be a star in the MBA program at a prestigious university.
Start with a star job, and a career is assured. Start with a poor job, and a graduate is doomed to a career of mediocrity. Software development doesn’t work that way. The first job a graduate lands could be in a big pyramid or a tiny start-up. Either way, the graduate could be working on something huge and important, or something dead boring. There isn’t much of a correlation between the prestige of the employer in pyramidal terms and the value of the work the graduate gets to do.
The software development industry ends to place more emphasis on what a developer has worked on, be it technologies or be it products achieving success in the marketplace, or perhaps even notoriety. Big, pyramidal software companies that value degrees from prestigious universities do not have a monopoly on jobs that will be valuable to a new graduate. In fact, it is often the very reverse: in the pyramid, the graduate does not get enough good work to do and therefore obtains less experience than a graduate working for a pancake software development company.
That’s no reason to forego a degree in Computer Science, but it is a reason to look twice at any company that would prefer to hire a developer with strong credentials but little evidence of developing great software. &nbsp; What are companies doing about this? More and more companies are using testing to evaluate . Résumés are useful for trimming a flood of applicants down to a manageable number, but serious software development organisations now ask even senior candidates to write code, solve puzzles, design applications, or otherwise demonstrate their ability to think, communicate,&nbsp;and code. This is democratisation of hiring. It is independent of education, age, or culture. This democratisation of hiring is part of the natural push towards pancake software development.
Companies that hire based on proven ability to develop software, rather than a ‘good education’ or ‘having worked at IBM,’ are usually also the companies that encourage Meritocratic Assignment and Peer Review. They have a culture that emphasises tangible results over interpersonal dynamics. It’s no surprise that Peer to Peer Communication and Review, Shared Objective, and Meritocratic Assignments are often found together in the same high performance group. Each characteristic works in synergy with the others to promote a pancake culture rather than a pyramid culture.
&nbsp; And as I learned from Michael Lewis, there’s nothing surprising about this trend: it’s happening everywhere, and we who build the technology to create pancakes should not be surprised that we are not immune to their effects. &nbsp; Since I published an earlier version of this article, I received quite a few comments suggesting that the Software Industry is immature, and that the value of a degree in Computer Science will rise as the indutry matures.
&nbsp; I agree that a degree has value for starting a career in software development. I dispute whether that degree drives a developer's entire career: I am suggesting that the nature of a developer's projects is much more important than the quality of the developer's school. And I am also suggesting a potential reverse correlation between going to work for a pyramid and having a strong career: developers will get more valuable experience going to work for pancake-like organizations. I also received quite a few comments along the lines of "software development is more than just prigramming, so your arguments about meritocarcy do not apply.
"&nbsp;I have always agreed, and I note that my origianl wording did not&nbsp; spell this out for the more litereral readers. My point is that a meritocracy rewards those who Get Things Done. And for a software developer, that's developing successful software. Software development includes skills like communication, requirements analysis, interaction design, and getting along with colleagues.
I argue that companies are tending towards&nbsp;hiring developers with experience Getting Things Done, and that a young developer will get more of that experience in a pancake than in a pyramid. Your comments on this conjecture are gratefully solicited. 
