There is no industry specialization among software developers

In the software profession there is no industry specialization whatsoever. This is rather unique, especially when we examine the idea of specialization in other industries and disciplines. The best comparison is with medicine and how medicine specialized during the nineteenth century. For most of us, it appears specialization in medicine is self-evident and requires little, if any, explanation. Most of us incorrectly conclude it was the rapid expansion of knowledge that drove medical specialization. Medical historians argue the rapid expansion of knowledge in the field of medicine did not cause specialization, but it was the desire to move the industry forward that caused specialization. Jean Emmanuel Gilibert put it more succinctly, “Specialization was necessary for the advancement of medicine.” Today, many in the field of medicine maintain without specialization medicine would not have moved forward as rapidly as it did. If we want to move the software industry forward, then there needs to be specialization.

Not only was the advancement of medicine a driving factor for specialization, but incomes of specialists are much higher. Specialists in medicine make much more than those physicians in general practice. This has been known for some time as evidenced by German physician Carl August Wunderlich who in 1841 said, “Now a specialty is a necessary condition for everybody who wants to become rich and famous rapidly.” The American Medical Association reports that specialists make between two to six times the annual income of a general family physician. Those software professionals that specialize along industry lines will see a similar growth in their salaries.

Another industry that has specialized along industry lines is architecture. Today, there are all types of architects. There are architects that specialize in commercial construction and others who specialize in residential construction. There are some architects who specialize in only building churches. Churches have a unique constraint because, often, there is a church committee formed to help decide and direct the renovation or construction of new worship space. Architects that specialize in churches need to be able to communicate with a wide variety of individuals with diverse backgrounds. Software developers that specialize learn to communicate with their unique customers. They learn to speak the business language and not the language of software development.

Yet another example specialization would be the legal profession. Attorneys specialize in a large variety of legal issues. As the law in the United States (and other countries) has become more and more complex, attorneys have specialized in particular areas of the law. The American Bar Association recognizes sixty different legal specialties. Besides the common specialties like personal injury, divorce or corporate, the ABA recognizes unusual specialties like equine, Indian law, pediatric, gaming, capital markets regulation, and biotechnology law. Like physicians, attorneys that specialize have higher annual incomes than attorneys who have a general practice.

When you have a legal problem you hire an attorney that specializes in your particular problem. The same is true with health issues. When you have a health issue you go to a physician (or health clinic) that specializes in treating your health issue. Software developers are generalists and do not specialize along an industry line, but in the near future software developers will specialize also.

Specialization is not limited to industry and academic fields of study are very specialized. The academic study of economics is specialized and economists study either macroeconomics or microeconomics. Macroeconomics is the study of government policies while microeconomics is the study of the firm. The field is broken down even further and some economists study labor economics, international economics, monetary theory, econometrics and so on and so forth. Specialization occurs in every academic discipline from agriculture to zoology.

During the past centuries the evolution of modern societies has moved vigorously in the direction of increasing specialization of labor, knowledge, and expertise. It would be quite astonishing if software development did not follow this same path. The idea of specialization is nothing new, and it is not limited to a specific industry or a field of study.

Adam Smith wrote about the specialization of labor, the division of labor, in his book Wealth of Nations which was published in 1776. Many contemporary economists have continued Adam Smith’s work, and the concept of specialization of labor is part of most contemporary managerial economics courses. Smith wrote that workers become much more productive and knowledgeable when they specialize. Most everyone prefers to use a specialist, whether it is an attorney, doctor, or architect. The same is going to be true for software.

We can safely conclude that to move the knowledge of the software industry forward specialization is a must. Right now there is reluctance for software developers to specialize in a specific industry. The predominate thinking among software developers is specializations will limit career growth and their potential incomes. It is inevitable that software will follow medicine, architecture, and law. The driving force will be those who specialize along industry lines will be able to command a much larger salary than those general software practitioners. Those software developers who take the risk to specialize will also be those who command the highest salaries in the near future.