DEV Community

Brian Rinaldi
Brian Rinaldi

Posted on • Originally published at remotesynthesis.com

Is Today the Best Time to be a Developer? No...but We're Getting Better.

I have been a developer for over 20 years. Over the course of those 20+ years, I have often heard statements along the lines of "there's never been a better time to be a developer" or "now is the best time to be a [technology name here] developer." But, let's be honest, this wasn't always accurate. Or, perhaps like the article touting that "there's never been a better time to be a Blackberry developer" from 2009, it was accurate for all the wrong reasons (as in, things deteriorated relatively quickly thereafter).

blackberry developer article

How much irony can you fit into one article subhead?

So, if we were to ask ourselves honestly, is today the best time to be a developer? My personal answer is no, but with a caveat that we are doing a lot of things well and many of the things that we don't do well, we are actively trying to improve. Let me explain.

Note: I am aware that, for the most part, the data and information presented in portions of this article is US-centric. This is where my own experience is and where I feel I am qualified to honestly discuss the developer experience and workplace.

The Bad

Ok. Let's get the bad news out of the way first...and unfortunately, there is quite a bit of it facing today's developers.

The Image of the Industry

The past couple years have seen the reputations of some of the biggest (and, previously, most respected) names in the industry fall from grace. Whether it is sexism and misogyny at Uber, to fake news and exposing of personal information at Facebook, to the failure of Twitter to prevent rampant abuse and misuse of their service, to sexism (and sexist memos) at Google. For instance, here's a timeline of significant scandals from just last year. Even today, as I post this, Google employees are walking out over how the company handles sexual harassment.

I would go on, but it is depressing. Suffice it to say, the industry's once (perhaps undeservedly) glowing reputation is now deeply tarnished. The industry-wide problem is largely an ethical one rather than a technical one. It obviously impacts the businesses and industry, but it also directly involves developers. Developers in today's tech industry are often becoming an important line of defense - they are forced to look past "Can we build it?" and also answer "Should we build it, even if we can?" New technologies like big data, artificial intelligence and machine learning only further complicate this conundrum and place developers at the heart of projects that have the potential for future scandal.

Despite these scandals, the industry keeps growing.

Diversity

The tech industry has a well-earned, bad reputation when it comes to diversity. While the diversity issue in tech is broader than just developers, it definitely applies.

On a positive note, data cited in this Wired article on the topic shows that the percentage of non-whites seeking computer science degrees as a share of the whole population has increased significantly.

computer science college enrollment

Image Source: https://www.wired.com/story/computer-science-graduates-diversity/

Blacks and hispanics are still underrepresented in relation to their share of the US population, but the situation has improved. However, the data also shows that most of the increased representation has been taken by men:

And the irony is, today, more women than men earn college degrees, even as the number of women studying computer science is falling.

Blanca Myers, Women and Minorities in Tech, By the Numbers

This is reinforced by other research that shows that "from 2004 to 2014, the share of bachelor’s degrees earned by women decreased in all seven [Science and Engineering] disciplines." A degree is often the first step towards a career as a developer (though there are other non-degree paths). Thus a recent study by Girls Who Code and Accenture describes women's declining share of developers in the workforce as well:

Research by Accenture and Girls Who Code shows that women’s share of the U.S. computing workforce is declining. On current trends, women will hold only one in five computing jobs in the U.S. by 2025.

Cracking the Gender Code

And anyone who follows social media or who has simply talked to a female colleague knows that women frequently face a hostile work and professional environment - the stories of harassment or just plain inappropriateness at conferences or in the workplace are seemingly endless and depressing. I can't honestly say if the situation is improving, but I do know that more and more women seem to be bravely sharing and often confronting this issue directly, and I think that has and will continue to have an impact.

The Interview Process

I'll start this section by saying that I am fully aware of how difficult it can be to judge the quality of candidates for developer jobs. And when your business depends on code, the quality of your software engineers is especially critical. Some qualifications such as a computer science degree or relevant experience are a good indicator, but often don't get at some of the specific skills companies need. As an industry, we have also tried certifications and so far found them lacking in usefulness - perhaps because the nature of our work is constantly changing.

Still, the solution that we've largely ended up with has its flaws.

Sweet - but still be ready to pass an obscure code test for Google that has little to nothing to do with your actual work.

(OK OK Ray shut up about the damn test you failed...) https://t.co/kHUsDdb29C

— Raymond Camden (@raymondcamden) August 23, 2018

It is almost an industry-wide standard now to include things like white-boarding and complex code tests or puzzles as part of the interview process for a developer job. These are almost always included regardless of the person's background or experience level, leading to weird situations, such as a published author with decades of experience being rejected over a single test, as above. Or a widely respected JavaScript expert being denied a position over a lack of JavaScript knowledge:

I was rejected for a job by @TwitterEng years ago, even tho I knew several people on the team who liked me & wanted me to join. I was later told by HR that one of the interviewers said I "didn't know JS" very well. That was part of the motivation for @YDKJS. #ShareYourRejections

— getify (@getify) August 23, 2018

It is a process that emphasizes sometimes unnecessary coding knowledge in favor of traits that often, in my opinion, make a developer more successful - things like a willingness to learn, an ability to work with others and collaborate and the ability to creatively problem solve.

It also tends to favor the hiring of individuals who devote their life to code, which brings us to the final negative I want to talk about.

Burnout

It may be fair to say that every type of job comes with the potential for burnout, but I also think it is fair to say that certain characteristics of being a professional developer lead to a high levels of burnout. A quick Google search produces endless posts and threads on the topic of developer or programmer burnout.

Part of this is related to the type of people we are hiring through the interview process. We are an industry that often celebrates those who live and breath code. It's a work ethic that is perfectly parodied by the "Silicon Valley" television show where the programmers literally live at work (and, no, that's not even the joke). Many tech companies even push this sort of work ethic by offering services that encourage people to stay at work and even to build social lives around work. These are for all the employees, of course, but developers frequently have the added expectation that they are supposed to go home and work on passion projects or open source to keep their resumes competitive.

This kind of work ethic puts pressure on every developer to compete on that level. When mixed with the natural demands of a job that requires continuous adaptation and learning, it can be a toxic combination.

The Good

Hopefully I haven't gotten you fully discouraged at this point in either your potential or current developer career. As you can see, the items above are generally related to the jobs and industry that developers have to work in. The good news is that when it comes to actually coding, things are really quite good. And, there are good aspects to the jobs and industry developers work in.

Let's improve our mood and take a look at these.

Free and Open Source Developer Tooling and Libraries

We live in an age of widely available and generally high-quality free and open source software for developers. It is so ubiquitous for today's developers that it can be hard to imagine that we ever debated the value and viability of open source software. And this ubiquitousness also causes us to sometimes be inured to the huge benefits.

First, let's look at some numbers. Github had 25 million public repositories as of 2017. Ruby Gems almost 150,000 modules. npm has close to 700,000 packages, making it the single largest package registry in the world. And these are just a few of the resources that host projects used by developers.

But the other important point is that the quality of the projects developers rely upon is high. In many cases, these projects are created by or, on some level, are supported by some of the biggest companies in the technology industry.

While all this tooling does make for some complex workflows and architectures, it also makes available resources that, once upon a time, were extremely costly or didn't exist. For instance, when I started in web development over 20 years ago, I recall spending hundreds of dollars (1997 dollars no less) on Dreamweaver, Flash and ColdFusion Studio...each!

Dreamweaver Ultradev

Yes, once upon a time software came in shrink-wrapped boxes!

That is a huge barrier to entry for the prospective developers. I also remember, years later, searching through directories filled with commercial solutions for projects (things like shopping carts or bulletin boards for example). This made it difficult to find the right solution and, I speak from experience, the quality was no better for the cost.

Availability of Learning Material

Continuing on that theme (which is apparently that I am getting old), when I began my career, nearly all of the learning resources available were in the form of books. These either came in the form of manuals provided along with the expensive software or books sold by publishers, which were anywhere from $60-100 (again, in 1997 dollars).

Nowadays, learning materials come in a variety of formats: books, tutorials, videos, interactive training. Those provided by the software companies are all online and, for the most part, freely available (even for commercial software). While book publishers still publish, many have moved away from print to digital formats that are generally less expensive and even allow for shorter form formats - meaning topics that might not ever get a full book now get covered. Companies like Pluralsight, LinkedIn Learning, Udemy and others provide broad learning platforms covering a huge range of topics including programming and development.

There are honestly far too many resources for me even to list. Even for those who may not have the budget for some of these services can find sites like FreeCodeCamp or the endless free tutorials on The Practical Developer or CSS Tricks, to name a couple of my favorites.

Then of course you have a multitude of conferences (ranging in price, of course), local programming-focused meetups, or even online meetups and conferences.

I could go on, but I think you see the point.

Demand

We live in a world where some of the most powerful companies are run by developers. A world where everything from our cars to our smarthome lightbulbs require some degree of code. So it should be no surprise that demand for developers continues to increase.

According to the US Bureau of Labor Statistics occupational outlook handbook, demand for developers through 2026 is supposed to increase 24%, which is much faster than the average. For web developers, it is supposed to increase 15%, also much faster than the average.

The news is not all rosy. The outlook for computer programmers is supposed to decline 7%. Confused? So am I. I thought software developers and web developers were computer programmers, and the official definitions don't do much to disavow me of that opinion. Then again, I don't work for the government.

Pay

Solid demand usually leads to good pay and, generally, developers, both in the USA and globally, earn a good living. For example, the Stack Overflow developer survey shows developers globally earning between $40-90k a year. In just the USA, the numbers are significantly higher, ranging from $80-140k a year (the official US Bureau of Labor statistics puts the median pay for software developers at $103k but for web developers at far less, $67k, in 2017). While the global numbers are significantly below the US numbers, they are all well above the median individual income in the US, which is $31,099.

The one caveat to this is that much of the higher pay seems to be concentrated in specific geographic regions. Taking the US for instance, PayScale data shows a national average salary of $70,169, coming in well below the StackOverflow data but still far above the median individual income. However, much of the higher end of the pay range is concentrated in a few locations: San Francisco, New York and Seattle.

Payscale average salary

Tomorrow is the Best Time to be a Developer - So Start Today!

In looking at this issue, I tried to be fair and honest. Admittedly, there were a lot of important cons, but I am not negative or pessimistic. I am grateful to have worked as a developer for so many years and to count myself as part of the developer community. I also truly believe that we are working towards getting better in each of these areas that we currently fall short. This means that - even though today may not be the best day to be a developer - tomorrow is. And there is no better day to get started building tomorrow than today!

Top comments (20)

Collapse
 
kurisutofu profile image
kurisutofu • Edited

Not sure it's on topic but one thing I'm seeing companies doing more and more is asking for "links to github of projects you have worked on" so they can see what type of code you write.
While I understand the idea, I'm not a big fan of this because there are people like myself who built tools for companies that do not allow to share it or even put it on github.

Yes, you could say "then join an open-source project and contribute" which is good but even if you have the time for that, which you may not have, it's already too late to apply to the position you're seeing now ...

Collapse
 
david_j_eddy profile image
David J Eddy

I agree with this. It is saying "work 8 hours, then 4 more for free for years for us to consider you". Pish. Conversely, there is not quantitative way to show skill without example. Welders can show there skill. Drivers can show there skill. Developers can as well, but how without additional workload is the question.

Collapse
 
kurisutofu profile image
kurisutofu

I agree. And I get why they do that, it's a lot of risk choosing somebody you don't know but we also take the risk leaving our job and joining them.
We should both take risks, not only the applicant.

Collapse
 
khejit68 profile image
khejit68 • Edited

"Blacks and hispanics are still underrepresented in relation to their share of the US population, but the situation has improved."

They way you write about this makes me stop reading. Why are you so obsessed with race? Nobody sane cares what race employers are.

Collapse
 
beesnotincluded profile image
beesnotincluded

So are old people but nobody complains about a lack of them in tech. Who gets to decide which minorities to champion. What we need is interested, talented people of whatever category.

Collapse
 
weswedding profile image
Weston Wedding • Edited

Lots of things to riff on in such a tiny comment.

Firstly, people DO bring up age discrimination in tech. Especially with respect to the Silicon Valley tech culture.

Secondly, what does your last sentence have to do with championing an underrepresented group?

Thread Thread
 
beesnotincluded profile image
beesnotincluded

My second sentence was so that people didn't think I am racist. And dismiss my criticism of the obsession with this kind of identity politics.

Dev.to is so full of people preaching about what we should and shouldn't do and desperately trying to signal their virtues it just gets really boring. The constant underlying assumption is that every group that is underrepresented is actively being discrimination. Correlation is not causation.

Thread Thread
 
weswedding profile image
Weston Wedding

Well, my only response at this point is really to encourage you to re-read this comment thread and really interrogate who is dismissing who.

Thread Thread
 
v6 profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
🦄N B🛡 • Edited

And the old are over represented in terms of hospitalizations, wealth, and income. What's up with that?

Collapse
 
weswedding profile image
Weston Wedding

I'm not sure how a single sentence in a large post counts as an obsession. It seems you feel pretty strongly about race, yourself.

Collapse
 
david_j_eddy profile image
David J Eddy

Bad: "...but developers frequently have the added expectation that they are supposed to go home and work on passion projects or open source to keep their resumes competitive...." - This is not joke. 8 hrs at work, another 4 at home. Not just to be competitive, but to stay relevant.

Good: "... it can be hard to imagine that we ever debated the value and viability of open source software." Truth! So true that Microsoft is now THE largest open source contributor organization. Open Source is eating the world.

"...Dreamweaver, Flash and ColdFusion Studio..." 20 years later and ColdFusion is STILL in production...

"...the median individual income in the US, which is $31,099...." Wow, really? My first professional role was higher than that and I do not live in a tech hub. Nice!

Thank you for this Brain. If you are ever over in Tampa let me know. ;)

Collapse
 
remotesynth profile image
Brian Rinaldi

Thanks man. I will.

Collapse
 
ben profile image
Ben Halpern

Very well argued!

I feel like this is a post I’m going to refer back to as reference material for DEV. If we can help move some of the bad into the good in some small way, it would be great.

Collapse
 
spirodonfl profile image
Spiro Floropoulos

It's refreshing to see two sides of a coin like this along with supporting material. Clearly, you've been around the block.

Excellent post!

Collapse
 
codingmindfully profile image
Daragh Byrne

Great article. I think we are of a similar vintage as I remember software in a box. Definitely installed windows 2k off cds a few times.

And I learned that my dev.to article is the top result for “burnout developers” on Google!

Collapse
 
iskndrvbksh profile image
Baba • Edited

i'm a js programmer about 4 years now and i can say 100% sure that development or programming stuff is boring thing most of the time if you not loving it,i earned 450$ per month about 3 year building angularjs app in my country and there is no too much opportunity to scale and raise as a good developer and build things right, when i said that lets move project to a new angular employer replied that dont touch the app unless it works, at the end programming is awesome thing, prpgramming is art, and no matter what i love programming :)

Collapse
 
rhymes profile image
rhymes

Great post, thank you!

Collapse
 
thejoezack profile image
Joe Zack

Great post, and I definitely agree that tomorrow will be better!

I also think that today was better than yesterday because a lot of the "bad" wasn't even up for discussion.

Collapse
 
veebuv profile image
Vaibhav Namburi

Great post mate!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.