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.
...
For further actions, you may consider blocking this person and/or reporting abuse
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.
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".
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.
I wouldn't call them "grunts".
Anyway, some tools are starting to pop up. Zapier, IFFT, Stamplay and others I guess.
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.
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)
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.
That grunt work will be automated at one point. I think educating yourself and becoming an 'expert' will become much more important.
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.
I hate to break it to you, but this already exists. It's definitely not my cup of tea, but it is out there.
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
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.
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:
and more like:
(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)
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.
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.
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).
That's a good point. Supply-demand is probably a better explanation for the lack of regulation.
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).
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.
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.
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.
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.
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.
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.
Those are only standards I have. Do you have like some additional set?
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).
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...
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.
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.
I read that Wired article and saw this:
I think I just a heart attack.
I didn't read it, just noticed that it has similar title.
"...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.
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.
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
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.
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! :)
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.
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.
Same time London is the biggest startup hub in Europe (next are Berlin and Paris)
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:
I generally don't mind, I just want to point iconicity of the situation.
Thank you for saying this. Entitlement is a dangerous mind trick.
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:
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.
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.
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)
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.
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.
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 :)
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.
I'm sorry I didn't understand what you want to say - you started with one analogy, but end up with different conclusion.
That's the ball game.
Yes! Make unions! Join unions! Unionize effectively! Improve your communities!