But I'd like to offer a little glimmer of hope from someone with too many gray hairs to count.
Computers are still machines, and we still tell them what to do by programming them. It is still possible to stay out of what you describe above, it is still possible to work on low-level code, on real products, on things that matter to people and companies.
The reality though is that the mundane things are where the money is though. While we all enjoy "cool" things, millions of companies need their accounting and payroll running, their truck drivers planned, their work schedules planned, ...
So you might find that more interesting things happen in e.g. industrial engineering companies or electronics companies, more so than in web companies. It's an entirely different world than what you describe above.
Hackaday might be a more interesting hangout than Hacker News for you ? So let's not lose our excitement and sense of wonder, after all it's all bits and bytes and we tell them how to behave.
The Hackaday focus on the dumbed-down format of video presentation is infuriating. It would be very nice to fund something community-driven, focused on actual content, with the same subject.
Until then, I think the few articles on the Hackaday subject that appear here on HN are worth more than the entire Hackaday site.
(I still visit both, of course, but tend to only look at the headlines there.)
Yes it is possible, but in practice one will (sometimes have to) spend most of the time with devices/technologies that make one die inside a little.
Part of the problem is that "doing the right thing" is often not competitively viable.
This may not be specific to IT only, either.
Exactly. It’s wild the potential that many of us hold.
I'm an eighties whizz-kid, educated hardware and software background with borderline epiphanic understanding of computer technology. From firmware to systems where peoples lives literally depend on. In 2000 jumped on a plane to Taiwan to develop the first Arduino/RaspberryPi class devices. Still up to date and currently busy polishing a ShowHN which will blow you off your socks.
Everything nowadays is shrink-wrapped out-of-the-box, hidden behind layers of frameworks. Programming languages becoming a fashion statement. Everyone seems to copy-paste stack-overflow and even then the answers are like "Why?" because it seems nobody reads specifications.
But...
Finding a job position is impossible. The excuses for rejection range from unbelief to insulting. It is so bad that I have now seriously considered leaving the field, taking 40+ years experience with me.
Please don't. We need more people like you to infuse much needed energy in a field/profession that is becoming mundane and steadily going downhill day by day.
I was once rejected because I did not know inane crap like what "this" is bound to at the top-level in JavaScript. Their answer: "the window object". a) Yeah, okay, if your code only runs in the browser. But not nodejs. And b) if anyone uses a top-level "this" it's an instant reject in code review from me.
Ultimately, a lot of these interviewers are waving huge warning flags saying "stay away!"
Even FAANG. Every single algorithm there is a "trick" to it. Once you memorize that trick, every leetcode becomes trivial. But it took a guy like Knuth some 30 fucking years to come up with that "trick". It's so goddamn stupid memorizing bubble sort when every language has a built in sort you're going to use. And if you ever see a developer writing their own algorithm for bubble sort at work, you're going to think something is wrong with this person. What the fuck are you doing guy? You're going to get it wrong and there is a library for all of this, used by thousands of people with hundreds of bug fixes.
Stay curious.
Before you do, are you up for a Zoom call or something? Talk about anything you're passionate about, and perhaps we'll post it as a show HN.
I'm 31 myself and at the beginning of my career (I've been longer in the education system than most).
My email is in my profile.
What's your email? I'd love to reach out to you and discuss some openings that we have on our team.
Worse yet is when the business minded masquerade "Fun" activities as them still being cool such as hackathons. The sad truth of the matter is that this is what happens in a maturing industry. A lot of the green field money that sat around for Facebook and Google to gobble up has been eaten. The remaining scraps are enough to prop up small startups, but really only until they get absorbed into the giants with fat checks for the founders. The regular workers get conformed into the system, with assurances "Everything will totally stay the same" as they slowly change everything.
Businesses exist to make people money. Engineers are great at solving problems and innovating. Business people are great at squeezing every last drop from those solutions till only a husk remains. To be fair to the business people, myself included, if you do anything less than squeeze for money as hard as you can, you get beat out by the competition who copy you, and nothing is as not fun as being jobless. The more and more people who get coding knowledge the more and more being a coder will be just like every other engineering position. Someone who executes. Which is why I bailed and got into PM so I could actually have a strong say to the business in what we execute on.
To end on a happy note I have never seen more people getting into robotics clubs, trying to make small static sites, learning the basics, and I am certain that every day more and more people are running their first hello world programs. So I think there some ups and downs to everyone learning coding.
Edit: better sentence formation.
And here I am, writing a desktop native app that targets a small niche of users, with no marketing, no advertising, and we've had our strongest year yet, and overall usage just grows slowly year over year.
Maybe it's how you think things ought to be that is misaligned with reality, rather than "the decline of the Roman Empire".
Now of course, if by "household" you meant "the entire niche of audio software", then sure. Or maybe even more broadly, "the entire niche of creative software", then even more sure.
But these are not tiny niches, even if they are small.
What is it?
Every week, more or less, someone tells me that Ardour is a piece of shit, and someone else tells me it's the best DAW they've ever used. I gave up believing that any given DAW could ever make everyone happy about a decade ago.
Lower labor costs mean lower costs passed on to the end users which means more products in the wild which means a bigger industry. It's only a problem if you're worried about being out-competed by "those hicks in the flyover states".
Techies complaining about companies moving out sounds a lot like the guy who worked the UAW system for 30yr so he could land a buddy position where he does nothing for $60/hr complaining about non-union factories and companies moving to Mexico. In both cases it's a tacit acknowledgement that the gravy train is unsustainable.
Yeah wages might be slightly lower in 40yr but that's a reflection of the difference between being an electrician in 1910 vs being an electrician in 1950 after the last of the line shaft industries had long been converted, once all the heavy lifting and low hanging fruit has been picked there's just a lot less cash sloshing around driving up prices and wages. The people who just want to be mediocre and punch a clock will still make a decent wage but the difference is that mediocrity and job hopping aren't enough to make you big bucks in a stable industry like they are in a rapidly growing industry flush with cash. In a stable industry you actually have to be worth the big bucks.
Which does suggest that someone going into software just for the money or, as GP or so commented, going through the motions and spending all their time prepping for Google interviews may be chasing a pretty transitory target.
Historically there's very little to suggest that the segment of one profession that's largely in one geographic area can sustainably capture super-premium compensation even though it doesn't really require a higher level of skill than many others have throughout the country (and the world).
And the fact that a lot more flexibility in living location has come in essentially overnight means that a lot of companies are going to start looking more skeptically at some of the premiums they're paying.
What did happen is a ton of people lost their jobs and those people, passionate about what they do, kept right on doing it in the form of open source software. Google, flush with cash, hovered up talent for bargain basement prices. The board room got the message that software was eating the world and if they didn't do something quick the people to wrote the software and built the systems might want a say in how those companies were run. So they outsourced what they could and doubled up what they couldn't. The message was clear. I don't need you. I've got a second one of you ready to go. The waged a war on GPL calling it "viral" and "insidious" and convinced everyone it would be much better to use more liberal licenses that would allow them to build and sell products.
The war was lost when they convinced you that management was "icky" and you didn't want that boring old stuff. You wanted to be coding so they hired the MBA to be the scrum master. The result is you were cut out of the decision making process. Your only input was on a technical level and even there you were kept a close eye on. Some people would even proudly exclaim that they liked this system because they thought they were winners based on their slightly higher than average salary all the wile cranking out multi-million or even billion dollar software for someone else. Doug Cutting, the creator of Hadoop and basically everything that was to become Cloudera was only given a job. They made so much money even they were embarrassed but only embarrassed enough to allow him to keep working for them.
You lost and they won and this is the result. You're made to jump through these absurd hoops because it's cheaper to create these pathological systems and waste your time than to do something more efficient.
Maybe the only way out of this mess is for business schools to start teaching new metrics for the latter category.
This could turn out to be a very good thing for the country. It's a social & economic problem if all the money & opportunity are squeezed into just one metro.
Once you cross the hump to not seeking physical proximity when seeking to minimize labor costs, there's very little reason to go to the rest of the US once you leave the SFBA.
The country it's good for isn't the US.
You might think of HP as a California company but they had large engineering hubs all over the country.
Look at the job listings for US tech company EMEA HQs. It's almost all sales and legal. Occasionally a pre-sales Engineer position comes up.
Meanwhile, they are hiring dozens of Devs at their US HQ.
Or, probably more accurately, it is a slippery slope, but not a very steep one. I do believe that jobs (and wages) are going to get distributed differently in the future. But, I'm hopeful that it'll be an improvement over having every high-paying job be in the same 5 dystopian cities.
I would say is that a lot of hard problems (of last 20-30 yrs) are getting commoditised (e.g. S3, DynamoDB, Redis) and barrier to entry reduced. This would mean increasing the work is "glue & pipes".
Heck, as far back as 2010 I got a promo at Google because I was the only one on the Google Maps data team (or the org) who wanted to keep the data up to date. (Also the only one who wanted to live in Seattle -- which might as well have been Siberia to them.) So they shipped me up there and gave me a team. It was like somewhere, deep down, they knew it was a good idea, but each person could forcefully argue why it wasn't -- so that it didn't have to be them.
It was great! Well, other than encountering more of the famously toxic culture, where people get promoted for being smart but nasty. But I'm sure that little problem has been solved.
Yes devices can do less than 10 years ago (less arbitrary thing), but they can also do more than 10 years ago. Of course the market in this segment might give you the feeling that everything is dumbed down. These devices are not used solely by very smart people. The most basic of all humans has a phone nowadays. And If apple decides to make MacOS only run singed binaries. That shows that they are targeting people who do not know how to run arbitrary code safely. I am a programmer and when I have to do that I have to think really hard. If my main PC runs stuff that I would rather not like to leave my house. I have to set up a VM and check it beforehand. You still have Linux to do whatever you want.
If people in the job market and Open Source community are getting exploited, it is only a matter of time until something develops to create a force against the exploitment. There are unions (at least there should be) and there are multiple ways to fund Open Source nowadays (Patreon, Gitcoin, Bountys,...).
It doesn't seem to me as everything is moving backwards. It is getting harder to live out the freedom of the individual. But on a macro level, I think things are moving forward.
Technology was made accessible for the masses. That means 100 IQ people. And then it was refined so the 85 IQ people could work most of it. I have no doubt that if you gave standardized IQ tests to every reader of Hacker News, you would not see much of an overlap with the bell curve of the American, or even world, population.
The people coming here are generally very technical, very smart (I'm defining this as at least one standard deviation above the norm, so 115 and higher IQs).
Most people aren't going to build their own enormous media server from used enterprise gear. Most people aren't going to build their own home surveillance system even though the hardware and open-source software out there exists. I could list another hundred projects for which we have specialized "consumer-friendly" devices.
Watch the YouTube video where Jordan Peterson talks about working with an 85 IQ individual and how it was a struggle for that person to consistently and accurately fold a sheet of paper into thirds and put it into an envelope. And now realize that for many of you, that's someone for which you're developing.
Have we generally proven otherwise?
Any technology that you want to see enormous widespread adoption of, has to be usable by some of those people.
And believe me, no business-minded person wants to throw a billion potential customers to the wayside. They want to simplify the technology to capture those dollars.
Sorry if this offends sensibilities of anyone, but I guarantee you if you could get inside the heads of a lot of these billionaires and multi-millionaires, you'd hear the same shit I'm telling you right here. The reason I know this is because my Uncle is one of those people. Smart. Ruthless. And has absolutely no qualms about exploiting people of lower intelligence.
Don't think for a minute that the SV crowd is any different.
I spent the last 5 years quite happy at a simple dev shop. Then they hired a bunch of people, paid them more than me, and allowed them complete free reign to write what ever kind of code on some brand new projects. After a year of this, one person quit mid-project, another died mysteriously (covid?), and then another just recently quit. My boss expected me to just pick up the slack on these three projects that were written in the most arcane and buffoon way possible. I basically just said no, and left. I had already been driven half insane over the year just trying to figure out the crap they were committing.
This was in the spring and I'm still unemployed. I'm mostly Java and some older languages, and was really looking forward to jumping onto python and django. But it's been a struggle really learning django good enough to interview for without any good experience behind me. I have a family and on top of covid issues and this year in general, sitting at home trying to learn a giant web framework is not very motivating when I could be spending it with my family (which were already severely affected by all my time I "wasted" going above and beyond at my last job for 5 years).
I just recently did an interview for a small django shop that didn't even test on django. Instead, I was given a half page of python code and asked to "fix" the problems. No requirements or tips. There was a syntax error, a bug, and a few cosmetic things.. I managed to find 8. All this while being stared at over Zoom. I was informed that "junior" devs can find 10-12 "problems", but they only hire those that "find" more than 18 (apparently 25 is the max).
I still got the code and look at it every now and then. Half a page of code that does nothing but take a list of "item" objects and print out an aggregate of a total price by item type. A loop over nothing but:
total[item.type] += item.cost
Of course there was some random data mangling above and below that, but that is the logic. Find the problems?! Should I raise errors or use a namedtuple or defaultdict? Half a page of code that could have just been a Select/Group by in SQL. No senor dev should be summing data like that. Sadly they said the code was from "production". They have "interviewed" over a hundred people in this year and hired only 1. All this for $45/hr 1099.In the beginning, I briefly thought I could use my savings to start some kind of business, not sure what. But I've blown most of that just paying the bills while I "interview".
I used to love software and would dream and breath it. But I've never been so unmotivated over these last 6 months. I'm debating on just applying at a local small town municipal IT job for $30 an hour. Giving up basically. Just show up at 8am, answer the phone mindlessly for IT "problems" and tell people to try restarting their windows machine (at least 3 times minimum) and screw of playing solitaire the rest of the day. But it seems so pointless and waste of a life. But even that doesn't motivate me, but just makes me more depressed and even slower going.
I don’t actually know what to say as encouragement but I do feel for you :(
I was in a similar position to you on your last job, and after looking at every single company I could think of in my city (London) I ended up finding just one that seemed good in all possible counts...
Maybe there is a company out there that you’d like to work for? My approach was to filter by the product, and only look into working for companies whose end product I thought was good and interesting.
Best of luck and don’t give up!!
Don't give up. And for the love of all that is holy, don't work municipal IT, it would only demotivate you further. Keep at it, improve your skills and keep applying.
You have a very holier-than-thou view of small scale IT work. There are a whole lot of problems to be solved at this level, many of them created by the people working the positions you're currently interviewing for.
It’s just incredibly demotivating to hear all the self-professed hot shots shit all over your past 10 years of delivering unambiguous value because you don’t know that [] === ‘’ is true in Javascript.
I finally found a position that’s financially great, but it’s more in spite of their dev process than thanks to it.
Django is pretty easy to learn. Model view Etc in Python instead of Ruby. Not rocket science.
Building something you care about will force you to dig into the details and become enough of an expert in a few weeks to get in the door somewhere where your skills will be appreciated.
That probably won't be Facebook, Google, or the next Silicon Valley unicorn. But there are a lot of other places and other Industries where interesting things are going on.
Good luck
It happens. It’s a strong sign you want to work elsewhere anyway. The problem is one of finding the right Elsewhere.
Small correction here: The non-paying users are not their customers. So it’s understandable that they kill all products where they don’t have any ROI. As another user here put it recently: Ads are like a hose where money pours out. And they’re desperately looking for another such hose.
The late years of Rome is actually a great metaphor. We are suffering from human capital loss, and have signs of institutional collapse. A shock can destroy our institutions and throw us into something like the early Medieval period: much less wealthy at the beginning, and messy too, but fast growing and with a much higher ceiling than the previous age.
> Microsoft is building VSCode for the cloud. Few people own desktop computers anymore.
I heard the same thing in my early years about these newfangled HTML email clients. Email should be consumed using Pine or Eudora, just as God intended.
> People job hop for promos, raises, and resume fodder, not because there's an actual interest in the product.
Oh yeah. I did this for the first 15 years of my career. It was faster to get a promo by changing jobs. I didn't care where I worked, as long as the company name had prestige. I kind of still do, but I transfer internally. Same effect, but I get to keep my vacation accrual.
> Companies are trying to hire more outside of California
In my early years I worked for a company that used Russian developers for some non-critical parts because it was cheaper to fly someone out there once a quarter than it was to hire the staff in CA. This was before the massive rise of outsourcing in India. See the Dilbert cartoons about Elbonia for more.
> The web is turning into shit.
Heard the same argument about MySpace. And Geocities before that. And AOL before that.
While there are some things that are even more latency sensitive, I think that could become a very small niche in the near future.
Maybe the problem isn't that it's impossible per-se but that the consumer-grade services underprovision their machines/bandwidth, or that consumer-grade gigabit fiber isn't actually that good (or problems in the "last mile" like using Wi-Fi instead of good old Ethernet)?
People who classify themselves as "hardcore gamers" perhaps, but those people will also drop upwards of $1000 on a graphics card. They're not the majority in gaming. Most people will happily play a game even if there are a few problems if it's cheap and entertaining.
You can say what you want about the business model or Google itself, but the UX is impeccable.
I am periodically in disbelief when I think that what I’m playing on the screen is being streamed by a server.
And, as a TO for fighting games, there's no substitute there for the barest minimum latency possible (to the point where older games legitimately feel better because you can play them over analog connections to a CRT).
I'll grant: it's impeccable under the right network conditions.
But cloud games have an advantage too and maybe we'll see new kinds of games/experiences that are not possible with local PCs.
Welcome to the other 99% of humanity. Work sucks, but someone has to do it.
Building a simple website is easier and cheaper now than it ever was.
When I was a kid, I dreamed of being able to have my own domain name and an account on a shared server where I could run CGI scripts. Now most people who can afford a laptop can afford to host their own website on a virtual server.
California isn't the industry...
The big lockin is network pricing. No egress fees when their data is already in S3. You have to run where the consumer has their data or you eat that network transfer as overhead for your SAAS.
I see GitHub slowly charging for egress downloads as the next lockin. You "save" by paying for builds on Azure.
I will own a desktop computer until the day I die.
Excellent post too.
Gamers will buy every RTX3xxx card that hits the shelf and every heavy duty programmer I know has at least a fast desktop and often server racks.
I don't think we need to worry about the future of the desktop just yet.
I responded with, "Whatever you guys buy - Dell, Lenovo. A 14" laptop and an external monitor would be fine."
He torted, "I've never seen anyone be productive on a laptop. Nobody here uses laptops. I'll get you a desktop with 2 monitors."
After I started, I notice he did almost all of his work from a conference room, using a Surface Book remoted into a desktop in his office.
Our craft is becoming arcane: Microsoft is building VSCode for the cloud. Few people own desktop computers anymore. Apple is locking down MacOS to signed binaries. Soon we'll all have thin clients and will write software in the cloud for the cloud. Few will be able to learn how to engineer at home anymore - you'll have to go to a university or trade school. Building a simple website will require JS package management, kubernetes, and AWS. The "free tier" will fall away.
Employees aren't excited by what they do: People job hop for promos, raises, and resume fodder, not because there's an actual interest in the product. The majority of software projects are mundane glue, pipes, optimization tweaks, or migrations.
Companies don't care about employees: Wages are adjusted for cost of living. Companies are trying to hire more outside of California in order to lower wages across the board. Employees at "passion project" companies (gaming, SpaceX, Tesla) are overworked and underpaid.
Incentives are wrong: Google bestows promos on launches, not KTLO. Google kills products that make customers and engineers happy and doesn't spend enough effort to make them better.
The industry is eating the commons: The web is turning into shit. Devices are being locked down. Ads and tracking are everywhere. Open source is being co-opted, but the benefits are not returned. The cool things to hack on and integrate with (remember "mashups"?) are all siloed up, full of ads, and dumbed down to the most basic products.
The Internet now treats everyone using it like we're all brainless idiots to be injected with dopamine. Like we're not smart enough to choose how to consume it. And working for companies in this field now feels like working for the insurance industry. Optimize for the average.