The next big blue collar job is coding (2017)
wired.com
wired.com
Even highly trained software engineers can barely get security correct. What makes this journalist think somebody with a few years of high school programming can do any better?
I'm not sure I buy the "blue collar coder" prediction. At least not in the US. That type of work is currently outsourced to India and parts of Eastern Europe. There's an entire industry of code factories that already exists - are these US-based blue-collar coders going to be any more effective than off-shoring?
And within the US, code already permeates other professional roles. Staff accountants and data analysts do lightweight (and sometimes heavyweight) programming in Excel and other business tools. And hobbyists program things like home automation in Lua.
Why would they have to be better? You just made very point here. Some high schooler with a boot camp can do just as well as many “highly trained software engineers”.
Separately, I think that people consistently haven’t actually penalized most companies for security breaches, anyway. Big brands get hacked, everybody collectively moans for a week, and then they go back to using the exact same products. People publically get mad, but they don’t vote with their wallets, revealing how they really feel about security.
(In case the sarcasm isn't obvious, my point is that the existence of errors by professionals doesn't mean the entire system would be just as good if staffed by non-professionals.)
https://www.google.com/search?q=physician+assistant+training
Outside some key areas, most of the software work is not that important.
So this comparison isn't fair.
My girlfriend does React/JS apps for local businesses and she's teaching some other women in the neighbor too.
No she doesn't know how webpack works but she has learned enough to produce results.
Whenever she gets stuck, she looks for Stackoverflow or GitHub issue links and 80% of the time finds the answer there.
Rest of the time she gives up on a tool and uses other tool which doesn't suffer from the same issue.
Sorry i used to think i am very smart because i am a programmer but it turns out others were simply not introduced to the programming way. Programming is wayy easier now with all the tooling/guides/courses available now.
"But any blue-collar coder will be plenty qualified to sling JavaScript for their local bank."
An app that's secure enough for a bank is unfortunately not something one can make without a lot of training. Maybe someday.
They don't have to get it better. If paying top dollar doesn't guarantee results, then why not save money?
> are these US-based blue-collar coders going to be any more effective than off-shoring?
Yes, many companies either have a bias against off-shoring employees or they want a butt in a chair.
> And within the US, code already permeates other professional roles.
So you don't need specialist programmers. So a manufacturer needn't bring in a highly paid consultant to build out a workflow system; they likely have talent in-house.
Hell, I'm a developer and some of the systems I use (for example, my finances) are run in a spreadsheet with a few clever functions. I'm always dreaming of writing proper software, but the truth is, I'd spend weeks to get a sad % of the functionality Google Sheets gives me. And with tools like Airtable, pretty rich UIs are doable. Software is indeed eating the world, but it's also eating software developers.
Much ado is made about how out the American intelligentsia are out of touch and I think this line is a pretty good example of why. Taleb would have a field day with this writer
The problem with the blue collar coder concept is that there is a lot more art(or design) required to write code than to work in a factory or mining(which I'm sure also has an art to it but I'm guessing is much less conceptual and abstract). Unfortunately I don't see it happening.
Consider the most basic skill you need to write code: Writing with the Keyboard. The majority of kids have never used a non-software keyboard. Technology isn't helping this either as autocomplete, swype, speech to text input etc... pushes new and basic users further away. My daughter has iPads in her school, not computers with keyboards. So although she's using computers, she's not using keyboards. Maybe IDE input schemes will adapt to this, or eliminate it completely but nothing so far has beaten writing with the keyboard.
The second most basic skill is also very rare today: OS navigation. Almost to a person, every developer I know including myself started playing around with computers at a young age literally just poking around to see what was inside. This means simple things like installing programs, configuring applictions, installing drivers, searching for folders, moving files, modifying text based program files and on and on. Now imagine not knowing how file structures work and trying to grok ls or mkdir in your bootcamp classes.
I think it's a solvable problem and I think we can get to where the entry level requirements for developers is low enough for the general population, but that means our tools (IDE, frameworks, installs) and structures need to adapt to support that.
As a community we don't particularly care to work on that, and we seem to like to gatekeep when it comes to our "special skills" and "special thinking." If we really care about communities and our economies it's up to us to help grow the developer base and transition the labor force because we're the ones building the tools and systems.
If Java had their way and it was used everywhere for everything, and everyone started to master Java, sure all these fears that float around HN would be justified. But that's not reality.
Anecdotally, I just tested this. Kids aged 5 and 7: neither has used a keyboard 'that they can remember'.
Are we going back to 'Typing classes' (like this one: https://www.youtube.com/watch?v=FCpZ3CP7IAs) in the future?
For whatever reason, it seems like the way of thinking required for even simple programming doesn’t come naturally to most people. I saw this with a bunch of kids I went through nearly CS classes with. People who could not wrap their heads around pointers or reference semantics. People who didn’t get polymorphism and seemingly couldn’t no matter how many times you went through it with them. People who couldn’t seem to write programs, even very simple ones, despite being clever in most other ways that can be measured by academe. To be sure, it could be the slice I saw was not representative of typical people, but that would require typical people to be better suited to programming than those admitted to a high tier university. Maybe they are, but it doesn’t seem especially likely.
But one issue that definitely is a killer is just that some people, even if they have a "knack" for it, just don't enjoy programming and find the whole thing tedious and frustrating and/or the attitude of "I'm done with school. I'm done learning new things. Just put me to work".
Those two traits greatly limit the pool of people who are willing to work as a software developer, despite being fully capable of doing the work.
In 'real life' we're ultra careful about implying, let alone proving people are wrong. Considered by most to be highly insulting! And showing someone they're wrong is often interpreted as disrespectful.
On the receiving side, it's common to hate the feeling of being wrong and deny reality itself when the feeling comes around.
All of these common cultural assumptions and potentially biological traits are deeply at odds with programming.
The early CS classes were about pointers, iteration, conditionals, and other things they had 0 interest in.
I think it takes a specific kind of personality to be interested in this stuff, and it’s not something that most people would enjoy doing as a job, contrary to what articles like this want us to believe.
They are like cargo cultists. They go through the motions, imitating what the boot camp taught them, but without real understanding of what the computer is doing...
Then again apparently many if not most devs leave college with a four year CS degree and can't code either, so maybe it's just a reflection of typical ability.
Also the amount of time spent in class is roughly equivalent between a 4 year CS degree and a rigorous, full-time bootcamp. 2 hrs of class, 4 days/week, 28 weeks/year in most universities vs. ~10 hrs/day, 6 days/week over 13-17 weeks in bootcamps.
At a top university, students put in 60 hours a week for 16 weeks every semester.
People need Time to understand abstraction. Most engineers start with the abstraction ("how do I write an API in Node") then work their way down when problems arise ("wait, why is my app slow? what's an event loop?"), but if all you have is the 6 months you simply aren't going to get very deep. Then you're on the job, while simultaneously adulting (if you weren't already adulting during the bootcamp). So you're set up to evolve at a much slower rate than your coworkers because you're missing fundamental understanding of the lower levels of abstraction and how they fit together.
I really think it comes down to having two classes of software engineer, just like electricians vs electrical engineers and nurses vs doctors. Each role has a very important place in our modern economy, and you can make a blue collar living in the more easily accessible ones. But you simply can't replace deep domain knowledge of low-level abstractions, nor the many specialized fields in CS like performance engineering, authentication/authorization, machine learning, cloud engineering/infrastructure, etc.
The catch is that plumbing and other trades haven't changed much in the last 100 years. Coding is changing constantly. Therefore the supply of coders who can professionally use the latest technology is always small, hence a high paying rate. Only once coding itself stops progressing and innovating will supply be able to catch up to demand.
You might be seeing blue collar rates with HTML which is ubiquitous and changing relatively slowly.
When told to children, this sentence can save lives.
By the other hand, the anachronic maxim, "who knows more, earns more" is poisonous.
Unless you've done substantial training, code seems just as opaque as medicine, or law, or most fields of engineering. Any job that requires substantial training and trust not to royally screw everything up pays well.
Perhaps 30% of the population has the creativity and analytical skills to make a decent programmer. And maybe 10% of those find a job largely comparable to doing math homework enjoyable.
Programming isn't as old as most fields of engineering, but it's older than a generation of workers. If coding was going to be commoditised it would have happened decades ago
I don't understand how coding would have been commoditised literally decades ago... when the reality is that not so long ago the demand has increased exponentially. Plus only now the supply is starting to pick up - remember you have countries (like China or India) pumping millions of programmers per year, and these numbers will increase - due to internet, free access to information, and of course the demand.
The internet only really hit mainstream adoption a short while ago. Decades ago the internet was twinkle in the eyes of hardcore nerds. A fad to everyone else.
You can teach yourself law or medicine these days online as well as engineering but it doesn't seem to have a commodity effect on any of these professions.
The main barrier remains. It's not easy to learn and requires a person with the "type". I believe the biggest barrier to highly skilled jobs isn't necessarily the skill but skill combined with interest.
Most people simply don't want these kinds of jobs regardless of the pay. Make 2-3x as much to do a job that requires endless learning and a lot of tedium, that only attracts a couple percent of the population that naturally enjoys this type of work or wants the money bad enough to put up with it
Kanban is a factory-line approach, and also the basis of every commonly accepted best practice in software engineering today. I reserve comment on whether that argues for or against the point of yours that I've quoted, but certainly you'll understand why I note that point is likely to be a controversial one.
Two of my most blue collar friends just made the jump. One a mechanic the other a deli worker, via bootcamps in their late-20s. Neither hated their jobs, but they also couldn’t afford to move out of their parents houses on those incomes.
For now, they seem to be doing “blue collar” programming work. Mostly freelance basic front-end and rails development. The question to me is if they broaden their scope into other specialties and how quickly that happens. That’ll be my indicator to how long my own overpaid salary might last.
She told me this area of work is really good as you can learn from YouTube and put it to practise right away without worrying about that you'd screw up.
It suggests that instead of doing a course at university we should be teaching programming in school (great!) and also do more boot camp style education for your local bank’s JS stack.
That’s all well and good. I’ve worked at a bank that refused to interview boot camp grads. Anecdotal I realise.
I worry that these kinds of articles wrongly portray how hard programming/soft eng/comp sci really is to the average person.
var wordToPrint = ["oh god", "no", "please", "no", "no", "no", "no", "no", "oh crap", "oh crap", "oh lord", "oh no", "no", "help", "no", "no", "oh crap", "oh god", "please", "oh man", "no", "oh f-", "oh wow", "oh wow", "wtf", "no", "i can't", "i can't", "i can't even", "oh fuck", "i -- oh no", "shit no", "oh man", "oh man", "oh please", "i can't even", "no no no", "no no no", "no no no", "ugh ugh", "ugh", "ugh ugh crap", "it ... can't", "i can't", "it can't no i can't", "make it stop", "i'm ...", "i'm ...", "it's ...", "oh oh oh oh", "oh oh oh oh oh", "nnnonnnnooo", "nnnonnnonnoo", "ugh", "gnnnaah", "gnaaaah", "gaaah", "wtaf", "wt actual f", "what what what", "it ... no", "no ... i ...", "...", "..."];
https://github.com/pomeranian99/election-night/blob/master/j...
The problem is, there's no cultural penalty for being wrong, so there's no skin in the game from the authors. Right now, there's little stop the market from being saturated with trash. I had a lot of problems with the Gawker media properties, but I liked how cutting they could be, and how their snark could (at their best) act as a natural check against the cancerous growth of smarmy clickbait. Company ending lawsuit aside, they also did a fantastic job at capitalizing on their snark. Of course, even they had their biases and blind spots, but nowadays, I feel as if we really don't have too much.
One of my bosses at a former company used to quip "I love HBR articles. They usually follow the formula of a 2x2 identity matrix of the form of 'You're probably thinking A. Here's why B, which you weren't thinking about, is true while A is wrong.'" But it's really sadly true, and we don't do a great job of exercising the sociolinguistic tools to critique poor choices of A or B. I don't know whether this is a chicken or the egg situation that comes as a result of the factory oriented American education system, but it makes me pretty sad and disappointed.
In the early 2000s, I thought they were probably right, because a half-drunk baboon could put together a working application using VB6 (and later, if he sobered up, he could do the same with .NET WinForms). RAD was a real thing, and I thought it signaled the end of the high-salary programmer.
I was wrong.
Looking at modern tech stacks, none have productivity tools that are contextually equivalent to VB6 and .NET's WinForms. So, I think we're still wrong about this prognosis.
And what do you mean by "it"? Coding, software development, computer science?
You either get a head start with formal study, or you spend years developing a decent level of skill.
You may be effective after just a year or a boot camp and think yourself amazing, but your knowledge is really shallow.
If you put up a job post for a software developer in NYC, you'll get 90% bootcamp graduates with less than 1 year of experience coding and no real passion for it.
Coding is a creative endeavor, as such very few people will ever be qualified to do it and even fewer will be good at it. If I had to wager a guess, I'd say at most 10% of the population will ever be equipped to write code.
That does not make programming a good candidate for widespread, blue-collar work.
Just how like tasks that used to be done by doctors are now done by nurses, and tasks that used to be done by lawyers are now done by increasingly large staffs of paralegals and secretaries, coding will eventually be stratified like everything else. I would argue it's more inevitable in this one than it ever was in those fields.
In my 25 years of programming, I've never seen the ever-progressing march of new frameworks really solve the underlying technical difficulty of engineering software. Sometimes they help, more often than not they hurt, and are more often than not ephemeral in the grand scheme of things.
What I'm referring to is the fact that businesses do not have to solve all of these problems. And businesses are what ultimately drive the field. Think of all the other really complicated fields out there. Music, law, medicine. Still hard problems to solve in all of them.
Let's take music as the example at hand. We'll never reach the end of what's possible to accomplish with music. Yet there is an entire industry around it that commodifies musical services. You can spend an entire career focused on something exceedingly arcane like mid-sized arena acoustical materials.
We haven't gotten that way yet with information technology, not because we can't get there, but because the field is still so very very young. Music has been an industry for thousands of years. The modern arena builds on technologies developed for theatre in ancient Greece.
You're right, each advance makes for new problems to solve. But unless you can make a credible claim that this time it's different, the field we inhabit and make a good living exploiting will move the same way every single other engineering field throughout history has always moved.
Frameworks probably only make some specific things easier? But given the choice between spending an hour fighting against a framework, or an hour solving the same problem with more elegant tools, the latter is so much more useful in both result and what you learn from it.
Where does the above style fit in?
Imagine being one of the masses of coders slaving away at some dinosaur code base in a large company. Working with ghastly C++ code, 1M lines of cruft, moving from one platform to another for the Nth time. Writing a 'unit test' for an 'if' statement buried in some spaghetti code that you yearn to replace but no, your Agile board says change this if and retest.
They outnumber us probably 100-to-1. And they're definitely, totally, blue-collar folks.
2. Those jobs are already getting eaten up by more flexible products and tooling. This will accelerate, because the hiring firms aren't trying to innovate here, just keep up with their industries. As the requirements are relatively stable, some shops will spin off their internal products into separate businesses and others will buy those instead of building their own.
3. The underlying analogy of a blue collar programmer is closer to a plumber or electrician. The difference is that our tools are way smarter and getting smarter than wire or pipe.
And entertainment.
I stopped reading there.
If that’s your definition of “blue collar” then yes that makes sense. Coding just won’t be the next low-skilled job.
The only part of it that's uniquely difficult is dealing with complexity, and complexity is something that a skilled senior can largely manage for juniors while they're working their way up the learning curve. In that sense and most others, it's the same as any other skilled trade; it's just a trade that happens to be in very high demand lately.
Senior level is different but that takes at least ten years in my opinion. And senior requires a lot of mentoring of juniors. Again this is only my opinion, if you aren't actively mentoring. You are a mid
And any idiot is plenty qualified to write articles for Wired.
Someday, they may be right, but that doesn't make their "analysis" any more valid. Broken clock and all that, don't ya know.