Why Software Amateurs May Be Better Than Software Professionals
When you search Google for the phrase "software professionals," you get about 900,000 results. On the other hand, if do you the same exercise with the phrase "software amateurs," you only get about 10,000 results. There are some fine writings on how to be a good professional but very few about embracing amateurism. What explains this skewed focus on the word professional?
Quoting what Ed Smith says in his book What Sport Tells Us About Life, "Professional now has a definition so broad that almost anyone who has held down a job for a few months can call himself a 'True Professional'. And Amateurism has become a byword for sloppiness, disorganization and ineptitude."
The word amateur is derived from a Latin word that means "to love." The Oxford English Dictionary defines professional as a competent person engaged in a specified activity as one’s main paid occupation rather than as an amateur. Subroto Bagchi, in his book The Professional, indicates that a professional is someone who has the ability to work unsupervised and the ability to certify the completion of a job or task.
Depending on how we look at it, amateurs and professionals differ on two grounds. Amateurs get engaged with an activity primarily for the love of it, and unlike professionals they don’t usually get paid for it. In software engineering the open source movement comes closest to this difference.
Though altruism is often debated as the sole motivation for programmers involved in the open source development, community sharing and improvement, peer recognition, ego-gratification, and creative expression are often cited as other reasons why open source developers contribute to the project despite absence of economic gains.
The gains that the world has seen from the open source movement—Linux, Xen, Wikipedia, and a host of other initiatives—only reveal that the passion or love of founding members fundamentally contributed more than anything else in its success. That’s a true amateur-like quality at play.
The story of Instagram founder, Kevin Systrom, is one of a person who started as an amateur programmer while working as a marketer. In his own words, "While I was there (Nextstop) working in marketing, I started doing more and more engineering at night on simple ideas that helped me learn how to program." In software testing, the weekend testing movement is a great initiative that started with passionate testers—testing for the love of the profession and not for monetary gains.
Most of the definitions of professional do not include the love for one's chosen profession. Either it is taken as a given or forgotten completely. Amateurism, on the other hand, thrives primarily on the love of one's chosen endeavor.
Considering what amateurs have given back to the profession of software engineering, wouldn’t it be great to give them their due?