Software Developers’ Growing Elitism Problem

TechCrunch recently posted a guest post from the CEO of a software company attempting to discredit coding academies. I won’t spend time addressing all the issues in the post (you can read a more in-depth rebuttal or many of the insightful comments) — I’d rather talk about a serious developer elitism problem that oozes from the article.

Learning to code is not easy. I know this because I learned on my own 10 years ago; it is a very slow and painful process. Difficulty is generally part of learning, to be sure.

Some, however, mistake difficulty or inaccessibility for rigor. They assume that just because something was hard when they did it that it should always be hard. I remember being laughed at when I told more experienced colleagues in 2004 that the only programming language I knew was JavaScript. I wasn’t a “real” programmer yet, according to them, because I hadn’t learned how to write assembly code.

Understanding Elitism

Elitism grows out of arrogance mixed with insecurity. Elitists aren’t interested in sharing knowledge, they’re interested in being the source of the knowledge. Elitists are only interested in disseminating their knowledge to the larger population if they are the authority. There is a large dose of ego here, but ego itself isn’t the problem.

Elitists don’t like feeling threatened. When they see novices, unworthy newcomers to their field, they scoff. How could these newcomers ever attain the level of domain expertise that the elitists have? Even more maddeningly, these novices have access to tools and shortcuts that the elitist never had; therefore, novices are unworthy of following the path simply because they didn’t blaze the trail.

I learned to code on my own, but I also developed the initial version of the curriculum we use at DevMountain. I wanted to make learning to code more accessible, not necessarily easier. More than 500 students have graduated from our program, and nearly all of these people understand that their journey of learning has only just begun. The difference between learning to code then versus now is that we supply them with a shot in the arm to get started. Coding academies are about momentum, not mastery.

We should not stratify programmers into classes.

Revered language experts don’t treat new language learners with any inordinate amount of disdain, as far as I know. Yet this is often what happens to new programmers. They are essentially told that if they didn’t learn code for the express purpose of loving the most obtuse and bizarre aspects of a language, then they are not “real” programmers.

No true Scotsman,” they might say, would fail to understand the advanced cultural-linguistic nuances of their native programming language. “If you haven’t written a compiler you’re not really a programmer” sounds almost as silly as “If you haven’t written a dissertation on phrasal verbs, you’re not really an English speaker.”

I’ve heard all too many statements like these from programmers. So have you.

Many Types Of Programmers

There are many types of programmers. Some tend to work only on what is immediately visible and less abstract. They may work more on designs/prototypes, UI elements, interface implementations or other presentation aspects.

Other programmers naturally gravitate toward abstract algorithms, data processing and mathematical problems that require a different order of skills and thought processes. Some build simple apps (web or mobile) and use code as a means to an end. Front-end developers, back-end developers, software engineers, data scientists, “growth hackers” — all use code.

group-proj

Is one discipline better than the other? Is a front-end developer not a “real” developer if she can’t describe what a bubble sort is or does?

We should not stratify programmers into classes. A flood of newcomers into many related yet very different programming careers should be welcomed and encouraged. Code is a medium to solve problems, and we should applaud when we see so many novices eager to find tools to solve problems.

Elitism Stifles Diversity

Coding academies have opened new doors for people with a variety of backgrounds, many who couldn’t afford a more traditional four-year computer science degree, or may have been steered clear of a technical degree in college (or younger) due to societal pressures or family culture, just to name a couple.

Coding academies are about momentum, not mastery.

According to a recent study by Course Report, 36 percent of academy attendees are female, and women who graduate from academies actually earn higher average salaries than men. Coding academies are a quicker and less-expensive route to finding employment in the technology industry than the most common alternatives.

With the announcement that federal student loan money may be used to cover coding academy tuitions, underserved populations can combine a mix of federal grants and intelligent course selection to achieve careers as programmers. The future has never been brighter for diversity in tech engineering.

women-in-tech

We have seen entrepreneurs, liberal arts graduates, artists, some who never attended college and those with many other backgrounds come through our program. These people excel and find jobs in the industry. More web developers who have varied backgrounds and excellent technical abilities will only help companies build better products that appeal to a wider audience. Coding abilities amplify their existing skills and backgrounds.

Coding academies are new and, as such, scary to some. But they’re solving a very real and important problem, and they’ll get better at it. Having gone the “on my own” route, I argue that, if you want it, learning on your own is neither efficient nor cost-effective when factoring in time spent.

Industry veterans need to welcome with open arms this new wave of developer talent coming out of coding academies, and drown out elitists who are afraid of change.