DEV Community

Cover image for Developer is the next blue collar job

Developer is the next blue collar job

stereobooster on October 21, 2018

blue collar People who generally do not have a college education, and go straight into a physical, or modest working-class job after high school. ...
Collapse
 
thecodetrane profile image
Michael Cain • Edited

Great article. I have said it before, and I’ll see it now: I look at myself as a “digital carpenter”.

I do not have a CS degree, have very little interest in elaborate, intricate algorithms and know enough about IT to do my job well. I got into software development because it is lucrative and job-secure.

I think the majority of the people that are getting involved in the field are like me, and as your article pointed out the need for people like me is much greater than those who spend their days contemplating optimal garbage collection or caching.

Expertise is important, don’t get me wrong, however the world needs bread-and-butter developers like me to do the grunt work.

Collapse
 
rhymes profile image
rhymes

Expertise is important, don’t get me wrong, however the world needs bread-and-butter developers like me to do the grunt work.

True, though one could also use this as the foundation of an argument in favor of automatization and thus the end of people doing "grunt work".

Collapse
 
thecodetrane profile image
Michael Cain

Perhaps, but just like the construction business, we are a LONG way away from automating run-of-the-mill “digital construction”. I see a future where “grunts” will have automated tools to build more, faster. We will still be required, however.

Thread Thread
 
rhymes profile image
rhymes

I see a future where “grunts” will have automated tools to build more, faster.

I wouldn't call them "grunts".

Anyway, some tools are starting to pop up. Zapier, IFFT, Stamplay and others I guess.

Collapse
 
tomvorel13 profile image
Tomas Vorel

Couldn't agree more.

Not everybody can nor wants to be the next Dan Abramov inventing the next game changing library in the industry. Some people just need a secure job that pays well and also get the sense of fulfillment that you are actually building/creating something (just as a carpenter would) and not just punching in numbers or trying to persuade other people into buying a product you don't really believe in, just so you can get the commission to buy that sweet new watch.

However, I would not advise anybody to get into the industry just for the sole purpose of getting paid. You'll get burnt out very quickly.

Collapse
 
stereobooster profile image
stereobooster

You remind me about a different question. But it is ok if learning happens as a part of a job, right? If, for example, every second Friday you are able to learn some things or do some coding dojo (at work time)

Collapse
 
thecodetrane profile image
Michael Cain

Absolutely. That is how most of us learn professionally, anyhow. Challenging yourself, whether on a specific task or through code katas is a good move all the way around.

Collapse
 
michielnuyts profile image
Michiel Nuyts

That grunt work will be automated at one point. I think educating yourself and becoming an 'expert' will become much more important.

Collapse
 
thecodetrane profile image
Michael Cain

Yeah, people say that but I look at how driverless cars are going and I’m pretty sure the grunt work is going to be around at least for our lifetime. You can’t automate creativity.

Thread Thread
 
desolosubhumus profile image
Desolo Sub Humus 🌎🌍 • Edited

I hate to break it to you, but this already exists. It's definitely not my cup of tea, but it is out there.

Collapse
 
stereobooster profile image
stereobooster

I am the one asking to solve puzzles on interviews. This is the best approach to know the candidate’s way of thinking.

1) Imagine you hired a person who excelled in puzzle solving. Now they work in a company and product manager ask to add another feature. It doesn't fit in the current architecture, a good solution would say no or plan out propper refactoring and later implement the feature, but PM insists and it is possible to hack around it (a person can and like to solve puzzles)...

2) People who like puzzles often have a blind spot for complexity. They can and like to solve puzzles so they barrier for complexity is higher, they can create a pretty complex solution without realizing it. So I would test candidate for simplicity "tooth"

3) The interview is a stressful experience already, asking this kind of things makes it even worth

4) If I would be asked puzzle questions on an interview, but actual job ends up being not that "puzzly" I would be disappointed. I don't know what you interview for, maybe it is justified, but in most cases not

Patience level and communication skills are not ever checkable during the interview process.

When I said communication, I meant basic levels, like simply not being a jerk, don't insult people, don't create a hostile atmosphere. And this is pretty easy to spot, just ask them to remember something, like about their previous job or similar. I don't know why, but jerks can't hold it, they will show it.

Collapse
 
larribas profile image
Lorenzo Arribas

Good article, brings up a few points I've given a lot of thought to over the years.

Here are my two cents:

I think we use "software developer" too broadly. Someone solving really hard problems for NASA and someone coding landing pages have roughly the same title.

And yet, we talk about interviews, gatekeeping and tooling as though there was a one-size-fits-all.

Our industry is very young and culturally rooted on anyone-in-their-basement-can-beat-the-establishment. I think that's why it hasn't adopted a more hierarchical and professionalized structure like doctors, architects, civil engineers, and so on.

But in my opinion, it will. At some point, we need to accept that there are different jobs that require different skills. Some jobs are harder and require a steeper learning curve and a higher education level. Others are easier. Others save lives. Others end them. Not judging a book by its cover doesn't mean all books are the same. And we need to distinguish and verify who is allowed to do what.

I also think (and wish) the long-term future will look less like:

"I am a lawyer and we have a developer automating our contracts"

and more like:

"I am a lawyer and a part of my job is to automate my firm's contracts"

(Replace lawyer with any other profession. The idea is that basic coding skills will be like writing or using an excel sheet now. Duh, of course I code)

Collapse
 
gypsydave5 profile image
David Wickes

"I am a lawyer and a part of my job is to automate my firm's contracts"

Isn't this why we gave them Excel, the most widely used image based programming environment in the world?

My partner was writing an Excel macro yesterday. I told them - you're programming! But they said - no, I'm not - I'm not a programmer; I was just using Excel.

So I said - when you're writing an email, you're writing. But you're not a writer. There are professional writers, specialists in copywriting or fiction writing or journalist, but everyone can write and often does in their jobs.

We need to stop thinking in terms of the magic black terminal screens and walls of indented text when we talk about the democratization of programming. It's already happened - Microsoft Excel is an interactive development environment in the style of Smalltalk and Lisp.

Things like Jupyter notebooks are also improving the situation. Ergonomics of existing languages is a red herring.

Our industry is very young and culturally rooted on anyone-in-their-basement-can-beat-the-establishment. I think that's why it hasn't adopted a more hierarchical and professionalized structure like doctors, architects, civil engineers, and so on.

I think you're placing the cultural cart before the economic horse here. The reason we haven't professionalized is because there's been no need to - demand for devs far outstrips supply. As soon as that tops out, and companies want to discriminate between 'good' and 'bad' developers, I think we'll see professional bodies and regulation become more required and sought after. Basement hackers will go the way of unlicensed doctors and disbarred lawyers.

This will also be accelerated as soon as we start killing people with badly written code, at which points governments will intervene and demand regulation of the industry. It's only a matter of time.

Collapse
 
larribas profile image
Lorenzo Arribas

I agree that some professionals are already programming through Excel and Jupyter-like notebooks.

But, apart from seeing people use better tools in a more sophisticated way, I believe basic theory, formal syntax and algorithmic thinking will be a part of the skillset of all future professionals (like formal writing skills or math concepts are now).


I think you're placing the cultural cart before the economic horse here. The reason we haven't professionalized is because there's been no need to - demand for devs far outstrips supply.

That's a good point. Supply-demand is probably a better explanation for the lack of regulation.

This will also be accelerated as soon as we start killing people with badly written code

I wonder if we're running late already. A few political conflicts have already been linked to poorly regulated and thought-out technology.

Look at nytimes.com/2018/10/15/technology/...

Or the multiple data leaks as of late (and the consequences they might have).

Collapse
 
nektro profile image
Meghan (she/her)

Someone solving really hard problems for NASA and someone coding landing pages have roughly the same title.

Are they though? Coding is not hard. Coding well is extremely difficult. And this idea that anyone just starting can do it (for a production environment (for a bank no less)) is dangerous. There are different problems being faced by both of those engineers, but neither of them is without a massive pool of domain knowledge necessary to do them well.

Collapse
 
larribas profile image
Lorenzo Arribas

If I understand you correctly, I think we're on the same wavelength here.

I was referring to the title names. I've seen companies with very simple products and little to no Quality Assurance processes look for Senior Software Engineers. And I believe we should not be using the term "Engineering" so lightly.

 
stereobooster profile image
stereobooster

If this is not a discrimination, I don’t know what is.

Discrimination is the unjust or prejudicial treatment of different categories of people, especially on the grounds of race, age, or sex.

Jerk is not something person was born with, jerk is how a person behaves. So no this is not a discrimination. They can choose to stop being jerks.

But even despite all the above, I’d prefer to have a professional jerk in my team rather than stupid guru of intercommunication. I am working in CS, not in the shelter for aggrieved.

I don't need to add anything to that. Exactly why I wrote my article. I'm saying we need to open doors for people who typically discriminated and oppressed and you suggest to hire more jerks who will discriminate and oppress people.

Jerk is somebody with lower empathy level - they don't feel when they offense people, they believe because they can solve puzzle or two they better than others. We all people, we are different but this doesn't make one person better than another.

Thread Thread
 
rkfg profile image
rkfg

But even despite all the above, I’d prefer to have a professional jerk in my team rather than stupid guru of intercommunication. I am working in CS, not in the shelter for aggrieved.

It's so refreshing to see an actual adult person in IT, focused on the job. I believe this is the right mindset required to invent and push the industry forward. And no, I'm not being ironic or anything, I'm pleasantly surprised that not babysitting people in a huge curated IT-kindergarten is still a thing. Best of luck to you and your company.

 
stereobooster profile image
stereobooster

These two sentences are mutually exclusive.

No, they are not. There are some acceptable behavior and some unacceptable behavior, for example, you can't kill, torture or rape people (exaggerated example). One person's freedom ends where another's begins. So being different, as different race or sex or sexual preference or being disabled doesn't limit other's freedom, but being a jerk is.

You tend to judge people by your own standards,

Those are only standards I have. Do you have like some additional set?

which basically means you discriminate and oppress them in the first place.

Discrimination would be, for example, if I would say that every woman is... If I'm saying that this person is a jerk this is not a discrimination (and if I'm sure I don't have any hidden biases).

Collapse
 
larribas profile image
Lorenzo Arribas

Unions could help to fight against unethical decisions of companies.

Many countries in Europe have union-like governance structures for each profession (one for doctors, one for engineers), where they stipulate base conditions (ethical, financial, and so on) for their work contracts.

Unions are a difficult topic, but it's certainly an interesting idea.

It's also quite 'upbeat' that employees of big companies are actively fighting for their ethics mashable.com/2018/06/02/google-def...

Collapse
 
gypsydave5 profile image
David Wickes

The idea would be that of 'professional body' - i.e. in the UK the doctors have the BMA which covers trade union activity as well as professional training and development.

This would be a good fit for software developers... but I fear it's time has not yet come, and we're all too disorganized to get something like this off the ground.

Collapse
 
lysofdev profile image
Esteban Hernández

I think Unions in software development need to focus on helping developers stay employed in a volatile job market in order to really catch on. I wouldn't mind paying a monthly fee for employment services that keep me employed on a contract-to-contract basis. This organization would reduce the cost of hiring for companies and the frictional cost of transferring between contracts for technology workers.

Unions will fail if they try to negotiate salaries or guarantee long-term employment with companies because enterprises simply aren't as long-lasting as they used to be (and this is a good thing).

Finally, Unions could help provide quality healthcare to remove this burden from the employer. Medical plans can be included in memberships which would allow the Union to adopt a single-buyer model for providing health care to members.

Collapse
 
nektro profile image
Meghan (she/her) • Edited

I read that Wired article and saw this:

These sorts of coders won’t have the deep knowledge to craft wild new algorithms for flash trading or neural networks. Why would they need to? That level of expertise is rarely necessary at a job. But any blue-collar coder will be plenty qualified to sling Java­Script for their local bank.

I think I just a heart attack.

Collapse
 
stereobooster profile image
stereobooster

I didn't read it, just noticed that it has similar title.

Collapse
 
schmowser profile image
Victor Warno

Thank you for this insighful article! I frequently wonder whether software development is a simple job - able to be done by everyone who is willing to learn systematically - or a hard job - requiring everyone to have a scientific degree. Really depends on what you are working on.

Especially scary are the stories you provided about the impact a bug can have. That such a machine for radiation therapy can be programmed by only one (!) developer is astounding if not utterly dangerous. That just shows how important communication and teamwork can be in the development world. Pair programming, peer reviews and thorough testing could have prevented some accidents. But surely, there have been holes in different parts of the conception.

You just made me want to reread Clean Code! You just made me think about possible ethical discussions developers will face! :)

Collapse
 
david_j_eddy profile image
David J Eddy

"...there are tech companies whose clients other tech companies - that is how big the market is." I have a friend that works for a small support center than is a client of a domestic support help desk that is a client of an international on-site service provider than is a client of a global hardware manufacturer.

Yea, like programming the computer field is abstracted all the way down.

Collapse
 
desolosubhumus profile image
Desolo Sub Humus 🌎🌍

I tend to think of gatekeeping as more like my resume getting shredded because I don't match the programmer stereotype. I don't have a CS degree, or any degree, for that matter, I didn't go to the right college, or any college at all, really, I'm not the right sort of guy, or a guy at all (I'm a woman), really, I don't live in the right city, or even a city at all (I'm rural), I'm too old and therefore not a good match (even if I keep getting mistaken for someone over 10 years younger when people actually meet me), I don't make enough money to live close enough to any job openings and remote working is only available to senior developers, and on and on. It's hard to convince an employer that I'm passionate about code or that I have soft skills when they won't look at my resume or take my calls, much less give me an interview.

Collapse
 
stereobooster profile image
stereobooster

There are companies which ready to take juniors remotely - remote first companies. I hope you will get through this barrier. Hang in there. It will get better

Collapse
 
desolosubhumus profile image
Desolo Sub Humus 🌎🌍 • Edited

I've seen companies like that, but they generally require that people live in the same state (in the US) or in the same country (outside the US) for that to happen. Due to the specific state in the US I live in, I'm rather screwed for that.

I do hope it gets better, though after over a decade of rejection before I can even get to the stage where a human looks at my resume (Booking.com was the one exception, but I was still rejected well before the interview stage), I'm not holding my breath. Gatekeepers are the worst; even more so when the gatekeeper is a faceless bot.

What disappoints me the most is that while code itself isn't sexist, racist, classist, or any other -ist, but algorithms can be written to mimic such -ists. I truly do hate seeing code used like that.

Collapse
 
lysofdev profile image
Esteban Hernández

Excellent post. Your point on remote work really resonated with me. A lot of people with disabilities and mothers that wish to be more present in their young children's life really benefit from being able to work remotely.

The job market still hasn't adjusted from a small group of related professions in technology (software developer, system administrator, information technologist, etc.) to our modern employment landscape where technology intersects with other fields of work. My official job title is Software Engineer which is great news for my grandparents (who are really proud of their boy) but I went to Business School not Engineering. I share my job title with actual computer engineers but I would rather describe myself a programming enthusiast who is employed.

We learn a lot on the job. We can invest in ourselves by going to formal studies or alternative methods like online courses but the lessons that will make us software developers are those that we learn when facing real-life code. Linear algebra is all nice for very interesting algorithms but the day to day isn't quite as simple as picking the right sorting algorithm.

Collapse
 
scottishross profile image
Ross Henderson

I agree. I've been saying this to people for a while. The UK is horrendously slow in this and I remember IT was barely considered a subject when I did it about 10 years ago, even though we all knew how important it was back then.

All kids should learn how to code in school. Even if they don't retain the language, the actual way of thinking would be beneficial in nearly every other life skill.

Collapse
 
stereobooster profile image
stereobooster

Same time London is the biggest startup hub in Europe (next are Berlin and Paris)

 
stereobooster profile image
stereobooster

I'm not sure if you realise this or not, but we were arguing about "if puzzles are good way to do interviews or not" and arrived to the place where you incriminate me committing discrimination. Which is ad hominem by definition:

You attacked your opponent's character or personal traits in an attempt to undermine their argument.
-- yourlogicalfallacyis.com

I generally don't mind, I just want to point iconicity of the situation.

Collapse
 
rhymes profile image
rhymes

Nobody should take away this opportunity from people. Shaming people because "they use 1000s of npm modules to deliver simple website" is inappropriate. This is not their guilt, this is a problem of the platform, of the tools. Give people better tools, give people accessible education (without the steep curve).

Thank you for saying this. Entitlement is a dangerous mind trick.

Unions could help to fight against unethical decisions of companies.

I obviously agree and talked about this in this comment:

As Dian said and Leighton said you basically described why they need a union, to lobby the companies to sit down and talk or be regulated by lobbying the government.

You can do both ✌🏾

One of the historical reasons why software devs fail to unionize is because they think they are above "petty ideas" like that or because of the high salaries but evidence has suggested multiple times why they absolutely need to:

  • unregulated overtime leading to burnout
  • sexual harassment and assault cases hindered by NDAs or arbitration clauses
  • lack of protections for service workers in tech
  • those understandable petitions against contracting to the military or using facial recognition in police body cameras

This and many other things are reasons to dismount from that high horse and consider unionizing. Tech workers in big companies have an insane amount of power, they just don't realize it or are too proud to be likened to every other worker out there.

You make the example of knowledge workers being replaced with cheaper fresh graduates but think about factory workers in the hey days of unions. Being replaceable at a whim is exactly the reason why they banded together.

So yeah, just unionize ✌🏾

I think unions will come in some form, don't know which. Especially thanks to the fact that more and more the tech world isn't solely concentrated in SF but distributed across the US and world wide. The needs and rights of a programer in california are not necessarily the same of a programmer on the other side of the globe.

Collapse
 
gypsydave5 profile image
David Wickes

They need protection - unions.

So - are you in a union?

If not why not?

Here's one: iww.org/unions/dept500/iu560 - it boasts such luminaries as Noam Chomsky.

Collapse
 
stereobooster profile image
stereobooster

I didn't know there exist one. Will I join? Maybe, but not right now. I have some other things on my plate at the moment. (Not the answer some of you expect, but I don't want to lie)

Collapse
 
stereobooster profile image
stereobooster

Hey, thank you for comment. I got similar response second time. Out of curiosity any specific section made you wonder about citation link?
PS I didn't provide any citation in Gatekeepers section on purpose - I don't want to spread hate.

Collapse
 
primercuervo profile image
Nicolas Cuervo

The main thought I had while reading this article: Developer != Web Developer. I had the impression during the whole article that it was written only having in mind that the interested reader is doing front-end, which is clearly not the case for the case of reading or the whole generalization of saying "developer is the new blue collar job".

Developing is, as you state correctly, more than just knowing how to code. I develop for a living and I certainly didn't spend get my bachelor's and Master's degree in computer science, because for me learning a computer language is like learning any other language: I need to communicate to the computer so that I does what I need it to do. I don't do front-end, but certainly I'm in the position I do now thanks to the education I've had.

I've seen this over-generalization a lot in dev.to, and I normally don't care about it because, well, there are just a lot of people making amazing posts that are interesting for me. But I believe the title is misleading to the point that new developers (or even some experienced ones) should know that there is a whole world out there that needs capable problem-solvers with a strong theoretical background solving everyday problems, which are engineers (not necessarily, almost rarely, computational engineers/computer scientists) who develop, ergo developers as well.

Collapse
 
kayis profile image
K

We are just moving on.

Ten years ago I built websites, today I develop mobile apps and design serverless systems.

Ten years ago I was a dev hired in marketing, today the marketing people do this work by themselves.

Sure the development field gets broader and broader, and looking at the masses of 3-6month code-camp devs flooding the market, there is much blue-collar-ish dev work to be done than in the past, but this doesn't mean that there will be enough white-collar-ish dev work to do :)

Collapse
 
offendingcommit profile image
Jonathan Irvin

But if a developer needs to do Wordpress theme, I don't think they need to spend 5 years in university, 1/2 year in coding bootcamp will be enough (10 times less). Don't get me wrong it doesn't mean that Wordpress theme isn't a "real programming" (it is), or it is not cool (it can be). It just needs a bit different skill set, visual design will be more useful than mathematical statistics. And you can start with less knowledge upfront and learn while you are working.

This stuck out to me. The analogy I'll use here is you don't need to be a mechanic to drive a car, you need to be one to fix it.

In lieu of this, you don't need to be a developer to operate a Wordpress site. Several engineers and developers came before to make that process ultra simple.

You don't need a design degree to download a template you purchased on a marketplace and start adding content, but it helps make your site easy to navigate.

If the site breaks, you should know how to fix it. You should know where it's hosted and how Wordpress gets its configuration. You should know where the database is hosted and how to manipulate the options table.

My main point is you should never minimize the work going into something. People's training and experience make their profession what it is.

Collapse
 
stereobooster profile image
stereobooster

I'm sorry I didn't understand what you want to say - you started with one analogy, but end up with different conclusion.

Collapse
 
gypsydave5 profile image
David Wickes

curiosity and readiness to solve any puzzle

That's the ball game.

Collapse
 
_alexandrou profile image
Andri Alexandrou

Yes! Make unions! Join unions! Unionize effectively! Improve your communities!