How computer programming became the worst choice of career
efinancialcareers.co.uk
efinancialcareers.co.uk
Without wishing to go all "internet philosopher", none of us is introspective enough about what makes us truly happy to know what we actually want. We define "happiness" by looking at other people and being envious of what they have - if only we had what some other person has we'd not be miserable any more. But everyone is doing that. It doesn't work. Read some Michel de Montaigne or Immanuel Kant and figure out what you want out of life, and then get it on your own terms.
> By the sweat of your brow you will eat your food until you return to the ground, since from it you were taken; for dust you are and to dust you will return.
In other words, work will always be work.
There may be some truth to the idea that work will always be work. But it certainly has nothing to do with a curse from a supernatural being for eating a forbidden fruit.
So then you could argue that happiness then comes from meta meta cognition; other people have it different from you, but you don't always realise the problems those others have. You come to the realisation that you can't control everything; you change what you can to make things better, and accept what you can't.
But like that doesn’t work because we keep moving the goal post on ourselves. There will always be “one more thing” until I’m happy. Happiness is found in the journey to achieve these things.
It's very, very important to note that the author is not a person who "doesn't earn much".
Looking at Figure 6 at https://www.ons.gov.uk/employmentandlabourmarket/peopleinwor... it looks like UKP 55k/year is around the 80th percentile for "professional occupations". The only groups that earn more than that on average (median? not clear) are various senior managers, doctors, lawyers, pilots, and train drivers (the latter surprised me). Being at 70k in two years would put the author -- a lowly programmer -- on a level with "information technology and telecommunications directors" (emphasis mine).
For whatever it's worth, the "finance and investment analysts and advisers" the author envies are listed at 37k, which is less than "programmers and software development professionals" at 44k.
I suspect he has an understanding of what his co-workers are paid at his company so he feels under paid.
I am a programmer and sometimes think of what else I could have done.
I remind myself I don’t hate my day to day, and often enjoy it.
I remind myself that many other careers are available to me as a hobby since I can afford cameras, paint, whatever. I also have the time to do it.
Many of the other careers don’t afford this.
Get some hobbies! They can be really great. Reading, of course, can be one of them. Here's a good list to try out:
Take a step out of the FAANG-SV-HN salary distortion field for a moment, and the London financial one too for the matter, you will clearly see that 55k is a great salary in the UK. Far more than the average.
If you picked a career that you don’t innately enjoy because you thought it would make you rich, and it’s not, then that’s on you.
Lawyers, doctors, dentists, accountants, front line sales, and even some nurses earn comfortably more than that - never mind MPs, many of whom are both clueless and useless and still manage to earn more than £80k base before expenses.
Some blue collar workers - mostly trades - can also earn a lot more, especially for contract or high-availability work.
Of course it's not a great salary compared to someone who works a checkout, stocks shelves, or talks to customers on the phone.
But qualifications and experience should matter at least a little.
Every career has underdogs, even presidents.
I earned a lot more as freelancer when working in The Netherlands compared to permanent employee. And I feel in the UK it's probably much the same situation. In The Netherlands it's quite easy as freelancer to earn say 100.000 EUR a year and probably more. If you're a bit smart with taxes, you can have a very good standard of life, you'd be in the top 10% for sure.
And even better: just do this a few years, save money and then move to some country with lower standard of living. You could probably retire before reaching 40 years of age if you started freelancing in your early 30s and be careful with your spending (if your single). With a family (children) the situation would be a bit more complicated.
And yes, you could try to make some site or app to earn additional income outside of your job.
I would never hire him.
The expectation that things are like what you were told by parents or grandparents maybe needs adjusting. You are not hireable with this attitude, it is not a programmer-only problem.
If i were a lawyer, I'd go to school once, and reap benefit form that education as an assets and build on it with experience. Software is not like that. Yes school is an asset, but it dates, and so does experience when the market moves constantly.
Again I'm not complaining, but it's a thing.
Although I personally dislike React itself and rather use preact I consider the API itself to be pretty solid and definitively worthy of building a career on top of it that would last at least 10 years. Above a certain level of sufficiency any change in framework/language is just churn.
I consider PHP to be critically insufficient because you have to force people to learn Lavarel otherwise they get the stupid idea of writing an old school apache PHP app. It also has some stupid warts that provide no value. Overall it's not meeting the level of quality necessary to build a career on top of it. The only benefit it provides is that once you learn all the warts its merely ok.
Java is also insufficient because it is missing very simple features. The foundation is solid but the details just aren't there. Getters and Setters shouldn't be a thing. They only exist to please certain frameworks and some theoretical futureproofing. Replace them with properties (that automatically generate getters and setters) and end the discussion right there. It's really sad how much effort it is to write a small data class in Java. I have a small project where I chose to use groovy simply because I had to define 30 data classes. With Java 50% of the codebase would be getters and setters to please the serialization library. Groovy is mature but it's not exactly popular, since people who don't want to use it are forced to use it (Gradle).
The software industry isn't mature. That's the reality. There are lots of established but insufficient solutions. There are lots of sufficient but not established solutions. React is right in the sweet spot. PHP is clearly insufficient. Java is insufficient but close. Modern languages and frameworks rarely get traction and are replaced all the time. Groovy is something that you could in theory build a whole career on but the jobs aren't there.
Await with promises vs monadic promises is also a point of contention. The only thing that everyone agrees on is that raw callsbacks should be wrapped in a promise or future, but whether a promise is supposed to be used as a monad (chain of .then calls) or whether its supposed to be used via special compiler support is still open. I honestly don't know. I would go with await because C# has adopted it with great success but it's also not something that can just be added to an existing language without rebuilding the entire ecosystem and thus causing it to be a bad career choice.
This industry is even fuller of unemphatic know-it-alls quick to judgement than disillusioned programmers.
It seems like generally speaking, science and engineering lacks prestige over there compared to being a lawyer or banker?
Possibly due to the “two cultures” problem combined with the English class system.
I have no idea if this is accurate or not, and the English class system is pretty opaque to me.
I honestly don’t know but it seems like some kind of different attitude towards technical work could be one explanation.
I should know, I worked my ass off to transition from one to the other via a startup (which I sold shares in for $500k) and tech firm.
I didn't just accept my initial job was the end of my career (my first job I was on £19k, first finance job £24k or so), I made things happen in spite of being set back massively due to serious issues at uni which was not my fault (long story).
So unfortunately my sympathy is zero. If you don't like it, work at changing it, or shut up.
Also the idea that programming is not in demand is truly laughable. I interviewed 200+ people throughout my career. Trust me the issue is not on the demand side.
From my point of view the fix is for programmers to create their own side project early on with the goal of making it a full time job.
I don't see the industry changing. I see the situation getting worse for programmers. As the number of people trained as programmers gets larger, companies will have more people to choose from while paying less and expecting more. So, the programmers have to change and adapt.
With programming, it seems as though salaries are set to decline, and skill experience is constantly eroded as new technologies (and cheap pools of labour) become available, and then there's rampant ageism.
It's somewhat like being an athlete perhaps - if you haven't made it big when you're young, you're looking at declining prospects, which is stressful and depressing.
So I'm not sure how much sympathy I have for this article. I kind of understand the tone, but frankly, my dad was a machinist, another kind of skilled labour job and until he got a job teaching it, he was miserable and mistreated and I got to see, growing up, what real blue collar sweatshop work was like and what real job dissatisfaction, underpay, severe long term unemployment, etc. was like.
The money I make is nice now, and I have a nice life, though I feel trapped. Maybe I can retire early and make skis and walk in the woods with my dog more.
My first employer was a service company selling programmers to big companies to do routine maintenance and evolution job. They would staff you in really boring departments, doing really uninteresting job, and would happily keep you in that same situation for years if the client was ready to pay. I could have stayed there, learning nothing, being employed to the minimum of my abilities, and wake up ten years later once the end customer didn't have any need for that particular skill anymore.
It's one of the most dangerous situation to be in, as a developer. You feel comfortable, you earn a decent pay, and then wake up one day in a state of crisis, realizing you're now completely obsolete and on a precarious situation.
Luckily for me, people close to me had warned me of that kind of trap very early, and so I stayed there only for a year then moved on to a start up (where i could work on great tech and great problems with great people, and being paid for that).
happily keep you === happily stay
I know that this is very similar to no code platforms but I personally don't see the need to avoid code. The value is in avoiding the need to maintain a wide variety of skills that are merely a side effect of creating and deploying an app. Having a solid foundation in programming and databases but not in all the other skills that make software engineering "engineering", is where I see the most value.
For someone who only derives value from programming, the need to learn CSS, HTML, what version control is, what testing is, how to deploy software, learn a backend framework, learn a frontend framework etc is just a barrier to entry for these individuals.
I loved studying finance, but didn't like working finance jobs. Finance is getting more automated anyways, here's an excerpt from the front office salary link that's in the OP's article:
> As banks try to automate as much as they can, and as trading takes place electronically using computer algorithms, human beings are becoming far less plentiful in the front office. Goldman Sachs, for example, famously replaced the 600 equities traders it had in the year 2000 with electronic trading systems. Now, Goldman says it only has two actual human traders left.
I love working with code. Finance spreadsheets were a bore for me. Complex Scala codebases are a delight.
Programming has been an awesome career for me and the flexibility has enabled me to live a completely different life.
What's even funnier is that the technologies I work with are not that common. In comparison, finding a C++ developer with good knowledge of Linux internals (e.g. me) is much harder than finding front-end web developers, but the former are getting paid way less than the later.
The difference with the OP is that I've analyzed the situation and I know that, if I want to improve my financial status, I have to move abroad or start freelancing, but I prefer the current stability I have. Not sure about the future tho.
That being said, I don't think that is really the issue here for this person. It reads as someone who has no real passion for programming or his craft and went into the field for perhaps the wrong reasons. I love coding and software engineering. I've loved it ever since I was a child and started with GWBASIC. Even though I went down a different path and ended up with a PhD in Physics, I ultimately couldn't be happy without coding in my life and I ended up self teaching myself almost everything I know and making a career switch (ML Engineer + SWE) and I simply can't imagine doing anything else. I'd still choose this path even if I earned half my salary because I enjoy what I do. But I felt exactly like the author in my prior career which over time felt more and more like a grind and something I did just to maintain the status quo and help support my family.
The person who wrote the article just needs to make a switch to something they are passionate about, or something that they are equally dispassionate about but provides more compensation (don't recommend that trade-off personally). His issues have very little to do with the field of computer programming itself.
When I was 20 I was extremely worried about ageism and how I will have trouble finding jobs 20 years in the future. I found a lot of potential investments that will help me once that day comes. It's just a matter of putting in enough capital and since the job is paying well it's just a matter of switching companies regularly and staying employed for 20 years.
Contrast this with low paying jobs with no hope of building equity. It's not even close.
The author suggests he may get a 15k pay rise in the next two years. To me, and probably to most people in the world, that seems quite good. The detail lies in their cost of living and standard of life compared to their peers. The author mentions that the front office staff are getting paid more handsomely. I wonder what those salaries are in comparison.
I sympathize with the author around interviews but I feel they, along with the rest of us, should vote with our time and not do silly interviews that you have to study for. Let those companies starve for developers.
Programmers don't like to hear this but what the software designers do is what costumers ultimately see and pay for. For the most part is what differentiates one software package from another with in a group type.
Now its all starting to rub me the wrong way, I thibk the culture we have around it is unhealthy
Does that tell something about the readers? ;)
The constant learning just to stay up to date? Isn’t that part of the other professions too?
He only briefly mentioned that though and it was not the main point.
> The constant learning just to stay up to date? Isn’t that part of the other professions too?
Depends on the profession of course, but generally speaking, no. No other profession changes every five minutes (exaggerated of course), even IT did not up until 10, 15 years ago.
As I mentioned already, the OP might have simplified things, but overall I agree with him.
The author did touch the salary topic, but it is not the main point.
The answer is contract work. If someone can dodge IR35 rules and call themselves a "consultant" or a "solutions architect" they'll earn a lot more for almost identical work, with the useful option to leave gracefully if a project is toxic and on fire.
The other answer is to leave the UK. Engineering jobs pay much better in some EU countries, and engineering gets a lot more respect as a profession.
Which ones? £55k is a pretty decent salary ( 75-85k is a very high salary) for a developer in basically all EU countries I've looked at.
engineering gets a lot more respect as a profession.
But only if you are an actual engineer. Developers without the degree aren't, in my experience, given much more 'respect' outside the UK compared to the UK.
In which EU countries do you earn a lot more than EUR 64,000 on average?
Germany and Ireland are the same as the UK
https://www.payscale.com/research/DE/Job=Senior_Software_Eng...
https://www.payscale.com/research/IE/Job=Senior_Software_Eng...
Denmark appears to be slightly higher but Denmark is also more expensive than the UK.
Overall far from the alleged big difference.
one thing is what is on payscale another is what you see on the payslip, 60k+ in DE is not hard to get for senior dev
And as for Germany, it shouldn't be 60+, but rather 80+ to match the expectation of being significantly more.
The suggestion of moving simply is flawed.
what problem are you solving? no, you cant get rich by coding as an employee, anywhere. you can try to sweat your balls as a contractor + do tax magic and have a 'decent' living, or start a company and make a product - very risky.
as job coders are 21st century factory workers, its not on lawyer/doctor/accountant level.
> as job coders are 21st century factory workers, its not on lawyer/doctor/accountant level.
Fair enough, but this proves the author's point. Development used to be on such a level and has steadily declined.
I agree, I know a few "old timers" and they seem to have it better in the early days. I guess this is the case with all human activity, over time it becomes optimized as know-how spreads to more people.
The best professions long term are those where gate keeping is employed (license, nepotism, high creativity, people able to perform at top 1%), short term profession gets a boost from being "the new thing", which programing is not anymore.
Mine involved doing zero unpaid overtime ever (or no more than say 30-60 minutes here and there). Mine involved doing zero training for puzzle-based tests. Mine involved being paid above average salary compared to many others where I live. And mine involved only enjoyable, hobbyist practice of my craft in my spare time. When I landed in jobs that didn't suit me well, I moved to a different job.
There may have been a rogue weekend where I got a little work in, or a couple of nights where I was running through tutorials in a language or framework that work needed, so it wasn't primarily my curiosity getting me to try it out. But by and large, I've been paid handsomely for being efficient, adding efficiency to organizations, and I've learned what I needed to on the job while enjoying what I do.
Personally, I couldn't ask for me, though others certainly can and do expect more from their career and from themselves. If you want to be richer than me, you couldn't live where I do (or you'd have to be more attractive to remote-first employers that also pay higher salaries.) So the work you put in tends to reward you, though perhaps the Pareto Principle applies.
Now, I can attribute some of my satisfaction in this line of work with timing - getting into web application development in at the turn of the century meant that demand exceeded supply and it was an employee's market. But more so, I think, can be attributed to my flexibility, adaptability, willingness to accept change and move (change jobs) to where I could get what I wanted from my career.
Perhaps where you live and when you live, software cannot give you the career you desire. If that's the case, choose what to change. You cannot change the point in time we are in, but there are certainly software fields that are growing and paying well, so maybe location has to change, or you must seek out more desirable remote positions and make yourself a fit for them. If that isn't what you're willing to do, then perhaps the field is wrong for you, and you must make a bigger change.
Hi, I've been doing C on Unix for 30 years, with a digression into C++ on Win32 along the way and some C++ on Unix.
("Unix" includes GNU/Linux).
All of it has been mostly new development, or new development in the context of legacy code, not maintaining legacy code.
If you have to keep learning new languages, it's because you jumped on the language-of-the-day wagon in the first place.
I jumped on the "close to what makes tech work" wagon.
While the center of the short essay on it's surface is about income, I suspect, maybe, the real dissatifaction is that the author simply doesn't enjoy their job on the day-to-day, they find it unpleasant?
And you can get outdated in other careers too, there are a lot of advancements all over the field, and a lot of it is related to IT (i.e. data processing).
Edited for grammar and spelling.
Regarding the need to keep learning - for some people that is a big part of the attraction, not a downside. Sure, it's not for everyone, but saying that it's a generally bad career choice is a bit of a stretch.
So no, it's not as easy as you may make it sound like.
I agree that the author isn't saying anything much, but "just work somewhere else" also isn't a very strong point.
> Personally, I've already spent months doing unpaid work on testing sites, and yet I'm still stuck in the same place.
Have others encountered this? I have not but I do wonder if the hiring process is becoming more demanding / time consuming.
Maybe the author needs a coach or needs to network more.
In my 10 years as a professional software engineer I have seen this same thing happen time and time again. My colleagues devalue themselves constantly by working for free.
If you earn $80k a year as an engineer, you rate is roughly $38.46 per hour if you work 2080 hours in the year. Let's say you opt to work an extra 30 minutes a day (very often the case for many devs who work into their lunch break); that equates to an extra 130 hours of work per year for free. So what you're actually doing is earning $80k a year for 2210 hours, or $36.19 per hour. That's roughly ~6% less pay for your time for working an extra 30min a day. Now imagine what happens when you work those extra 30mins + a few weekends here and there. The total percentage of your salary drops significantly as a result.
Say no. Don't work for free.
So often a programmer’s merits seems to be measured by what they do outside their working hours. Do you value an accountant on the work they do during the weekend?
This article just reads like sour grapes.
Even if he might have over-simplified things, the bottom line is true.