More often it's just a sign of a new company not knowing what they are doing and making unforced errors as a result, rather than a conscious debt/investment transaction.
3,496 karma · joined January 23, 2019
https://github.com/danjac
More often it's just a sign of a new company not knowing what they are doing and making unforced errors as a result, rather than a conscious debt/investment transaction.
Since the 1970s, the path to even modest generational wealth has been eroded. You can play the property casino, inherit your money, or maybe luck out with joining the right startup or making the right investment at the right time - or a combination thereof. The slow-and-steady path of working hard and saving frugally for a reasonably priced home and a pension, with a decent public education for your kids and decent free or reasonably priced healthcare and social protections, has been eroded in the turbocharged neoliberalism of the past few decades.
If you are a young person looking at all of this, you could be forgiven for thinking the "study hard, work hard, have a family, buy a home, retire" ethic is for mugs, and the only way to carve out a decent lifestyle (not even talking about Lambos and mansions) is the Hustle.
Or your entire team gets fired by their manager, because you are collectively considered unproductive. Sucks to be you if you worked on a project that was considered to be Hot New Thing that Saves the Company up until 5 minutes ago.
That's kind of how democracy has worked since ancient Greece.
For example, why did Facebook take over the world and not MySpace? Why did DOS beat CP/M?
Or a non-tech example: why did Amundsen beat Scott to the South Pole? Was it down to technique (e.g. using dogs instead of motored vehicles) or mindset?
And again, HN people living in their little US coastal bubble thinking that the rest of the tech world is as privileged as them. When I started I earned less than a factory worker in my town. Presumably because they wore blue overalls instead of a hoodie they were "real" workers and I wasn't...or does there have to be some level of salary where I can be declared "posh" and no longer a worker?
By feeding the narrative that tech workers are spoiled, entitled divas who exactly are we helping?
Most developers don't live in the Valley, most of us didn't earn astronomical salaries during the past decade, most of us didn't have to run code reviews past a "diversity committee". We mostly just got on with our job like everyone else.
Of course we debated languages and frameworks but so what? Every profession has its arguments over tools and processes. Everyone complains about their manager and endless meetings.
A very large % of jobs are for crypto (ok "fintech" but look closely it's crypto) in March 2023. I wonder how these companies are still going, or maybe the listings just haven't been taken down yet.
Does it work for end users? As long as too many don't leave or are replaced by new users who didn't know any better, who cares?
If it encourages people to download an app instead of using a broken web UI, allowing for better data collection and monetization, then it "works" just fine.
The key factor here was that management dictated a timetable then pulled a fast one and decided to pre-release with a "soft launch" three-quarters of the way through. It was insanity, and older-me would have quit on the spot and told them where to stick it where the sun didn't shine. As it was I got something out the door more or less on time, but it was absolutely nothing else to be proud of.
My advice to younger-me and junior developers in general is that management are generally clueless about software development, even if they did it once in the past (hello Elon Musk) and part of your job is to push back against unrealistic deadlines and features and if you don't do that, you are doing yourself and your company a disservice. Don't let hubris and fear get the better of you.
If you look at the MPs from the 1970s or 80s, many of them were still veterans (i.e. old enough to have served in WW2 or done national service). They came from a wide variety of professions: perhaps coal miners or truck drivers in the Labour Party (the younger ones maybe social workers or schoolteachers), or doctors, lawyers or businessmen in the Conservatives.
Harold Wilson, British PM in the 60s and 70s, was a former academic and civil servant of outstanding ability in his heyday. Margaret Thatcher was a former chemist and food scientist. James Callaghan was a sailor. Ted Heath was a decorated veteran.
At some point this intake became more and more narrow. The route to MP and then government or shadow minister is politics at university (probably PPE or Law), work as a Spad for a few years - or work in media and PR - then maybe run for Parliament in a no-hope seat to test your mettle, and finally land a safe seat somewhere. Your entire life is spent inside a bubble of politics and related media and learning how to climb that one greasy pole.
You are not going to learn about tech, or medicine, or how railways work, or what makes international trade happen. Your focus is on the 24 hour news cycle, politics Twitter, WhatsApp gossip, and who is going to say what at PM Question Time. If the Telegraph or Guardian or whatever paper who backs your party says that we must add backdoor encryption to Protect the Children, then you support backdoor encryption, even though you have only a vague idea about it being something like helpfully leaving the key under the mat so the local bobby can check your house for stolen goods.
But, as you point out, microservices are the result of Conway's Law and shipping your org chart, not necessarily the best way to build software all other things being equal. If your org chart fits comfortably inside a broom closet, then maybe you're not quite ready yet for microservices.
I know there will still be bugs, particularly in harder-to-test things like the UI, browser issues etc, but it gives me more confidence to move a bit quicker when I don't have others to check me.
So a larger team might build some intricate DDD-microservices architecture with a services bus and a complex SPA frontend because, why not? That's what everyone else does.
As a single developer managing multiple microservices or separate backend/frontend codebases is a lot of overhead (unless it's a learning project). You have to do the simplest thing that will work. So if you can get away with server-side rendering, do that. A monolith makes more sense when you don't have multiple pizza teams, and so on.
For example, I try to aim for 100% test coverage in solo projects - that might be overkill in a project of multiple team members all reviewers and testing each others' code, but keeps me from making stupid mistakes when there's no-one else looking over my shoulder.
Another thing is how much you dog-food your project - if you are building something you use yourself every day, you are going to surface bugs and feature requirements better.
English is a very bloated language compared to its European neighbours - it's almost two languages in one. That doesn't make English bad per se, but it makes it more challenging for foreigners to learn.
So I don't really care if one service costs x2 if the difference is between 5 and 10, but I care a lot if I could accidentally end up with a $2000 bill one day (and warnings don't count - not much good if I get a warning if I'm away from my laptop in a log cabin or something).
The class system has led to a society where the middle classes consider themselves the moral guardians of the working class, while looking up at the upper classes with a mixture of contempt and envy. Middle-class right wing readers of the Daily Mail and left wing readers of the Guardian are more similar in that regard than either would like to admit.
So (while coming from a different political place) both want to crack down on the evils of the internet to Protect the Children and, of course, to save the working classes from themselves (and protect their neighbourhoods: think of the property prices!).
As both Conservatives and Labour need their votes, authoritarian cracking-down on issue du jour is always a good vote winner. Today it's the internet, back in the 80s it was MDMA and rave parties, back in the 1800s it was gin palaces and gambling. Same thing though: Britain's self-appointed moral guardians and their representatives in the media and parliament wagging their finger at everyone else.
That's not to knock on Elixir or Phoenix, and I like Elixir a lot, but there is usually more to projects I've worked on than CRUD apps, and I've found with languages with smaller mindshare and ecosystems that you can spend more time reinventing wheels because a particular library is missing, or it's there but is no longer maintained.