Will being a programmer become a near minimum wage occupation?

57    23 Sep 2016 02:38 by u/Omnipresent

It seems everyone is going for computer science these days. Wages are already relatively low in some hotspots. Do you think we can still reliably make a comfortable living in this field in the next 10 years?

70 comments

30

Yes and no.

Good devs will always charge what they are worth, because they know clients who've been burned before by shit devs will pay the right amount to get it done properly.

Shit devs will always charge less because they want to compete with other shit devs... as they say: "Flies fly towards shit". Cheapskate clients gravitate around shit devs, which is wonderful for good devs, because cheapskate clients get burned by shit devs and return to good devs, paying the appropriate amount, to get it done within a fraction of the time and at a much higher quality.

You ask whether programmers will fall into the minimum wage area? It depends to which group you belong to.

0

Interesting...

35

Just because McDonald's exists doesn't mean Gordon Ramsay is out of a job.

7

just because mcdonalds exists doesn't mean one ought ever eat there.

i think that was rage's point tho. hehe.

4

yeah, but a great analogy helps it sink into the brain.

1

I actually prefer them going to maccas, because when they eat at my place they'll instantly know what's quality -- and what isn't.

3

Exactly. At my company we say there are Software Engineers and there are Coders. We only hire the former.

27

Programming well takes more intelligence than most people have. On top of the intelligence you need to be interested in it.

It’s not a matter of educating more people. Teaching every kid to code will not make a new generation that can program things for themselves, it will find the rare ones who are good at it and annoy the rest. A hundred new students studying computer science will result in only a few good programmers.

Even the armies of programmers and firms in India have not driven down wages by much. Only a small percentage of them are good and those ones charge more.

8

I graduated with a BS in CS less than two years ago, and I can see this being very true. The attrition rate for CS students is absurd.

14

Out in the real world, the field is full of idiots with CS degrees that can't code their way out of a wet paper bag. I should know: I work with some of these assholes, whose eyes glaze over the moment I start talking about pointers and who think that my ability to write and debug functional code using only emacs and gdb is somehow amazing.

If you are even vaguely competent and aren't afraid of some of the more difficult concepts in CS, I'm sure you'll be fine.

1

I work with people with CS degrees whose eyes glaze over when I talk about pointers

Is this a joke?

Also, is there any way to make gdb display several lines of code around the line of code it's currently executing? Automatically printing variable values would be great, too, but that's somewhat less of a concern.

1

Is this a joke?

I wish it were.

Also, is there any way to make gdb display several lines of code around the line of code it's currently executing?

Not that I know of... when I'm debugging, I'll typically follow along in emacs as I walk through the code.

Automatically printing variable values would be great, too, but that's somewhat less of a concern.

You can use "watch $foo" to have it spit out some information when the variable in question changes, but I don't use it terribly often. I'm also not sure how that interacts with scope

0

That's disappointing on the gdb front. Maybe there's a vim plugin.

How does someone graduate with a CS degree without understanding pointers? How does someone get a programming job without understanding pointers?

These are serious questions. They have to go through job interviews, right?

0

Maybe there's a vim plugin.

I wouldn't know, I'm an emacs guy.

They have to go through job interviews, right?

To be fair, it took me awhile to fully wrap my head around them; I hadn't done much C coding in college, I was mostly a java guy. The first project I was put on involved a lot of pointer arithmetic, so I had to pick it up pretty fast (I had a two-week deadline), but it wasn't exactly fun.

I know the other folks who started at the same time I did are doing JS and... I want to say VB.net? The guy who's doing VB is also the guy who will literally sit at his desk if he runs into any kind of stumbling block and wait for his supervisor to be available so he can ask the guy questions. So neither of them are exactly rock stars (though the (((JS guy))) is pretty full of himself).

1

Also, is there any way to make gdb display several lines of code around the line of code it's currently executing?

list

0

I use it all the time, but it doesn't execute on every step.

0

As a VIM user I am always amazed to see the Emacs currymonkeys near me pressing 10 different keys to do a simple 2 button keypress in VIM.

Frankly, I look down on people that dont code using VIM. They just feel inferior.

2

Frankly, I look down on people that dont code using VIM. They just feel inferior.

Feel free to be a jackass, I guess? I use the tools I'm comfortable with that get the job done.

1

whose eyes glaze over the moment I start talking about pointers

I always start looking glazely in such conversations, but I assume that will nothing be said that I do not either already know or else could google in case I need it

10

everything can be coded, there is a lot of work to do. That said, not many people are good at coding, and most don't know much else. without a strong background in maths, hard science, or something else you will just another JS coder.

7

Don't worry.

15 years ago, I was told that indians are gonna take away my coding jobs in the future.
10 years ago, I was told that since everyone knew that coders are gonna be in demand, they might not be once I'm done studying.

Well nowadays good coders are rare and sought after and everyone I know who has to work together with indian coders hates it, since they mostly copy paste and don't understand the tech they're using.

6

AI will probably be more of a threat to the job more quickly than a flooded labor market. as soon as we get AI smart enough to write code that just needs a very basic input, which is coming extremely fucking quickly, yes, programming will become near obsolete. along with countless other professions.

4

At that point, an occupation may not even be required in a first world country.

I honestly doubt AI will ever get smart enough to completely replace humans in programming, anyway.

2

how could you possibly say that? have you not been paying attention at all to technological development trends over the past decades? it's not slowing down, and while AI has had its hiccups, thinking that those hiccups are evidential of incapability is extremely closed-minded.

3

What kind of programming do you think an AI will be able to do, without a programmer to provide a model of reality and help the process along? We have AI that are good for very specific tasks, but they are all terrible at generalizing. We may be able to make an AI that can program a niche set of things, but we are a far cry from much else.

1

"far cries" are getting much, much closer. i wouldn't get too comfortable with my beliefs about AI, we can't know how much it will be advanced in the near future.

4

This. I've got an analogy:

Construction Job Software Job Task Construction Replacement Software Replacement
Day laborers Programmer Execute someone else's plan for realizing someone else's design Dumb Robot genetic algorithms
Civil Engineer Software Engineer Design a plan for realizing someone else's design Rudimentary AI (same)
Architect (Software) Architect Synthesize/Design a new thing our AI overlords (same )

The replacement of unskilled labor with automation is already underway in the construction industry, and will soon begin in earnest in the software industry. So far there does not appear to be any indication that AI is incapable of reaching the point where it can synthesize and design new systems from scratch, rather than just "figure out the best way to fulfill the given criteria (Day laborer)" or "given components with known parameters, create the optimal system (Civil Engineer)." When that happens, humans that want software built will not need to hire other humans. This will probably either lead us to a post-scarcity society (at least temporarily) since "we" will have the ability to automate everything in the physical world, and to automate the creation of systems to automate it, or a permanent two-class society where almost everybody is irrelevant and poor, except for the few from whom the robots accept input.

I think there's a great chance of the latter.

2

if we were to look at this from a historical perspective, the conclusion we'd have to reach would be the latter. however, nobody in history has ever had the amount of information sharing and communication that we have now, and the spread of ideas is the most important factor in determining societal/cultural changes. the internet might save us from a world of poverty with a few hundred quadrillionaires.

6

Being a highly skilled coder you can start your own business in a practically infinite number of fields, and with almost no capital requirements on top of that. So no I think programming will, for the long foreseeable future, be one of the most valuable and useful skills. However, the learn coding at a 3 month bootcamp and then go pump out some javascript programmers will certainly fall by the wayside. Programming is a skill, much like a sport. There is a wide spectrum from terrible to absurdly skilled programmers on a bell curve that's far more heavily weighted towards terrible. In today's society most of the people running businesses have no clue about programming and so we're still living in a an analog where sports teams just hired the cheapest possible athletes because hey all athletes are more or less the same.. right?

The desirable companies tend to be run by programmers - places like SpaceX and Google. And these companies evaluate skill, hire very selectively, and pay accordingly. I think in the future programming jobs will likely be harder to obtain though. There's not only the competition aspect but I think more companies are getting burnt by hiring shitty coders and starting to learn from this. So pair greater competition with more selective employers.

I also would not discount the skills of H1B hires. Technically companies have to prove that they have a job which cannot be performed by a citizen to hire an H1B. And while there are some economic incentives like no social security pay for H1Bs, in general they receive very good wages even by American standards. It's not like Abu the coder earns $20k in a job an American would expect $60k. To the point, I graduated a top 10 university in computer science and the vast majority of my peers were terrible programmers. There was almost a sort of pride in it as well - "I prefer theory over practice." That's not a good culture. If other countries have a greater focus on merit and students more focused on application then it's very possible they're overcoming even the best of our education system.

4

From my understanding they pay you well but some places run you ragged and job security is pretty fluid as in it's not uncommon to float from company to company every 1 to 3 years or so.

Given how every town has a dozen coding bootcamps, coding is learned in HS, and learning to code is a big industry in itself the next 10 years or so will be flooded with coders looking for 6 figures.

For the guys that are passable it will be a shitty mundane job that pays the bills (more than minimum wage, as much as skilled labor tho) and the guys that really know their shit will get the big bucks...but that's how it is with everything anyway. If you enjoy it then do it. If you don't then find something else because it's gonna suck.

3

When the singularity hits you guys will all be out of a job.

5

As if.

Goes back to training my new AI to call me 'mummy'

3

Yes, it will. Time to stop the "everyone has to learn to code RIGHT NOW, fortunately there's entire free university curricula online; get more women in coding!!!!!" train.

Also time for open source to stick to systems and not commercial software replacements, because the market is going to fucking die at this rate. Why bother making Slack when FOSS is already trying to kill it.

For the love of God, stop following the Marxist ideology of fat bearded Jews. Get over your hard-on for Stallman. Time and time again, we see that a genius in one area is not infallible in other areas. He's a genius, but he's also completely deluded by ideological extremism.

FOSS: use your judgment. Throwing a fit because Slack is proprietary and refusing to use it "on principle" is fucking lame. Making a programming language, or utility software, go right ahead, that's great. Making commercial-grade enterprise-level software for free = in the vast majority of cases you're an idiot, you'll forever be a contributor while some big corporation monetizes your shit (Moodle's creator gets a salary; thousands of contributors do not). Corporations mock you behind your back because they see you as the stereotypical autist programmer who is special enough to work for free for their benefit.

The free market relies on rational actors. We programmers have become insanely irrational and ideological and it's undermining the market. This is not sustainable.

2

Great post, you've echoed a lot of thoughts I've had in recent years. What is the obsession with FOSS? I'll admit I made a FOSS program that mostly just competed with other FOSS programs, so it was a fun thing to do. However, it was still years of work that I didn't get paid for. Like you mentioned, in the long run it's not sustainable. These two thoughts are incompatible:

1) I want to make 100k+ per year.

2) I want to give away my labor for free.

I never followed or looked up to Stallman the way some do. I just thought he was a looney academic blowhard like the rest of them. Once I saw a picture of what he looked like, my suspicions were confirmed (yes, I'll judge someone on appearance).

As part of his schtick, he can always drag the little guys in front of the cameras: "See, FOSS is good, cause little Jimmy here can use a free compiler and editor to learn to write hello world in his African village. Aww, isn't that sweet!". But in the end, the real beneficiaries are the smart and profitable companies who can get a ton of stuff without having to pay for it and really leverage it.

But the conspiracy theorist in me thinks he's a corporate plant. Think about it, he has convinced thousands of people to put in millions of hours of work and give it away for free. Much of that work product is in heavy use in corporate environments. Hell, we use a ton of it at my work and it's great. We didn't pay a dime and sure as hell don't donate to the dupes who wrote the stuff. But we sure do make a lot of money using it! Guess who we do pay tens of thousands of dollars per year to? People who charge for their software.

I completely agree that it's fine if you want to tinker, or compete with other FOSS projects. But for the general consensus to be that things should just all be free is totally self destructive. There is not a single other industry in existence that thinks with this suicidal nature.

I'll conclude by saying that I am a good software citizen and do donate to most FOSS products that I use.

3

You can ensure you can still have work 10 years from now if you combine your programming knowledge with another related field. For example digital forensics, ediscovery are big money areas with low competition, currently. At least you aren't really seeing a lot of competition out of SE Asia in these fields.

3

If you want to become a developer, then money is not your goal. All you want is to earn enough money, to keep in investing in technology to learn even more. If you do it for the money, then in a couple of years you will be very unhappy in that job.

What these schools don't tell you is that programming literally destroys your life in the long term. You are married to a job that is 365/7/24 for the rest of your working life. You job never becomes easy it stays hard all the time.

2

Nope. Back in the 80's when I was programming in Assembly, Cobalt, Fortran, and even ADA I thought I was good to go. But I found out the market was saturated even then.

As a Program Manager today I won't pay much for programmers. They are a dime a dozen. Too many kids coming out of college with CS Degrees. They all expect an $80k paycheck straight out of school. Reality hits them hard.

2

Doubt it, basically all universities require their CS majors to complete Calculus 2 which gives a lot of people struggles.

And coding can be easy like for loops but it gets much more complex later on when discussing things like data structures.

2

I think there will be a demand sooner rather than later for good devs in the security area soon since everyone and their dog is wanting this internet of things idea. My coworkers think I'm paranoid for not wanting door locks, and cameras in my home connected to the internet when I have no confidence in the security of any of it. Didn't some guy recently make a website streaming people's baby monitors to prove this kind of thing.

2

It's hardly going to become a minimum wage job, but migration of jobs to India and China will definitely dump the salaries in the field anyways.

This sort of trend is impossible or nearly impossible to stop without some worldwide reversal of the globalization policy.

2

I think it is fine until AI designed to code gets as good or better than humans.

Then only the really high end guys will be needed, so competition will be fierce for the good paying work.

2

The world runs on software. This will only get MORE true. Talent has value. If you're good and you stay current you'll always be fine.

2

I have been programming since 1982 and it still puzzles me why it pays so well. You would think the salary would result in the market being flooded but it doesn't happen.

2

There's a difference between being a programmer and being a software developer. The people who know how to do anything besides code will always be in demand in order to tell the brainless "pseudocode translator"-type programmers what to do.

1

Came here to say what pretty much everyone else is saying. If you're hiring for top talent the market is sparse. It's competitive and you'll need to pay top dollar AND have a good corporate culture AND have an engaging workplace AND have interesting work to do (fortunately I think the last one is pretty easy...) It's depressing sifting through hundreds of candidates who are all either pure paper tigers or are self-taught but haven't spent any time trying to learn the actual fundamentals of good programming. I can knock some shit code together to do simple to moderate tasks but that doesn't make me a programmer / developer / software engineer.

1

When it stops being boring

1

With caterpillar, Harley Davidson layoffs It's going to be the same with programmers. I just Googled programmers being laid off and replaced with h1b It wont be long till you see programmers being paid well under $77,550

1

Only for the bad ones. Everyone can code, easy, but there's a select few that like it, excel at it, and dream of better.

1

not in our lifetime, but programming will be the new coal mining in 200 years

1

At some point you will just put in parameters for what you want an application to do and a computer will self program. Human interaction will no be needed.

1

The only market I see being flooded is that of JS coders who do nothing but import a library/framework that someone more talented put together. Anyone can move GUI components around, that is not software development. While there are a lot of jobs from fly-by-night websites right now, we will see that market get saturated within the next five years as new graduates flood it. If this is your job today, you'd be smart to have a backup strategy for when you're replaced by a cheap and talent-less new graduate.

As others have said, there will always be a market for talented developers. It's something you're born with, not taught.

1

No.

0

I think human programmers will cease to exist. Not so long ago they handled everything. Now we have languages and compilers but the need to learn a language before writing in it still exists. That'll disappear shortly. There will be code for everything you've ever wanted to do and with speech recognition and compilation, there will be no need to learn syntax of any kind. Just tell the machine what you want built and the circuits will obey.

Computer science as a study will never disappear because there will always be those who want full control over what their program is doing. Memory, low level stuff, and efficiency.

-1

If you're at crossroads and thinking about joining this field, don't.

Good coders will make software for <s>bad</s> non-coders to make software.

So except for a few niches, almost every new hire in the field will be of the second category in 5 years. Minimum wage slaves.

Go crafts man. No one will come to replace your carpenter, mech, farmer, blacksmith, baker, cook, shoemaker, plumber etc. These fields are much less sensitive to globalization.

-2

Of course, why wouldn't it? The funny part is programmers thought they were somehow immune and gods gift to the world (see other comments for proof). Creating a shitty app for an over valuated tech company requires about as much skill as any other specialized office job. The only difference was generational. Baby boomers were intimidated by computers so only a minority of workers specialized in IT anything. Now that kids are born with technology in their hands programming becomes intuitive to them. Soon, what was once college level courses are now middle school basics and it becomes a mundane office duty, just like many other trades of previous generations.