I fully agree. I see this today, even "so early" in AI adoption (it's been ONLY a couple of years!). I'm a firm believer in "know the stack all the way to the bottom". Possibly I'm an extremist, I believe every developer should at least know a little bit of assembly and maybe even run the NAND game (build a computer from NAND gates - https://nandgame.com/). But basic skills lead to deeper understanding of the elements in the stack. Exactly how TCP works. BGP. Why "it's always DNS". Interrupts. Virtualization. What the hell is PSI. Why kernel space is not user space. JVM allocation pressure. String interning. Concurrency and thread sync and "why isn't my code working multi-threaded" or even "I'll just sync through the db".
I don't know how to solve these. I tried Java internal tech talks (internal to my company) but most devs just weren't interested. I try ad-hoc with sessions with devs but very rarely I feel a bite.
The pipeline is collapsing. In 5 years, who will be the next senior devs? I have so few candidates to look at, and no new ones at all.
Somewhere a while back (maybe it was in a Ruby CVE) I heard the phrase of "beneath and before" relating to the layer you're working in.
You need to know what goes on beneath the layer you are working on. If you're writing Java with Spring, you should understand how the annotations work and are wired in and how Spring does its magic. If you've got methods that call a database layer, you should understand the beneath of how the database is structured.
The before part is understanding what is calling the code you are writing. What is it providing you? How is the data structured? Or if you're responsible for that, how should the data be structured so that it is easier and more reasonable for both the code you're writing and the calling code.
However, that curiosity about the other parts is largely gone. I've seen this in 2026... but I also saw it in 2010 and to some extent even before that (though in the naughties I was at a tech company and surrounded by people who were genuinely interested and proficient at their craft).
Today, I'm working with people who seem to have had their meat-ware understanding frozen at Java 7 and unable or unwilling to progress... and they've been frozen at that for the past decade.
I'm not blaming AI for that - it's been a problem since the before times. The pipeline has been collapsing for a decade with the forever junior. AI has made the forever junior more "productive" and may have accelerated the problem. I lay this firmly at the feet of the people who haven't any action to better themselves and try to learn more of the beneath and before.
I feel like this has been a growing problem even before AI, I've seen so many people who have spent more years at better universities than I have, who during their junior years could barely do what I was doing when I got out of community college with only an associates, and this was back 10 years or so. I also have a few new graduates who are very solid, I don't know if it's just that their specific university prepares them better, or they took it more seriously. I remember how notoriously hard the testing was at UCF for the CS program, I hear they've made it 'easier' and I believe it was and still is pen and paper, this was for the CS Foundation course, which if you failed (and many did/have) you couldn't take upper level CS courses.
I think the reality is that schools need to stop pretending like they're producing good students just because they're doing the classwork, nobody wants to hire incompetent people.
I think the reason Anthropic thinks programming will be dead in "6 months" or whatever random nonsense they spout is because you might not need intimate knowledge, but they forget how over expensive all their tech is, by the time they can produce an always perfect software developer, will anyone be able to afford it?
Heck they can't stop people from jailbreaking the models, or from having it commit felonies.
A long time ago, in my 20's, I found out it's easy for me to think in two streams as long as they operated in different languages. I could talk to my colleagues in Hebrew and answer emails in English at the same time.
Surprisingly, writing and speaking in the same language is not as easy for me. Possible, but requires some mental effort to keep the buffers separated.
I'd really like feedback on the standard/specification. In short, it defines a quality model of quality factors/characteristics (which you can define as security, reliability, etc), requirements (how those qualities are assessed), a customizable rating scale, and "areas" to have different attributes/requirements for different areas of your project (e.g. frontend/backend, tests, specs, etc). That's basically it - and it follows a consistent pattern of how quality models have been practiced for decades. They are simple and powerful, but - until AI - kind of a pain/toil to get started with. Simple but not easy - until now. QUALITY.md + AI makes it easy. However, you still have to put in the work/care/attention to what goes into your QUALITY.md so you can get maximum leverage from it.
So is every proposal to standardize new things, and eventually the cream rises to the top, even though some people are perfectly happy sticking with milk.
Similar when you climb up the technical path as well, beyond staff engineer. It gets lonely, not many peers, not part of a team, you have to be careful about what you say and to whom as your words carry a lot of significance.
At staff you are still spending a lot of your time working with people. You are working on technical problems but you should be teaching them how to do it.
If you want to be heads down working on code all day stick to senior engineer.
I was writing a long vent about GCP but the mix of issues we had, just in the last few weeks, was too identifying and I don't want to sour an already tremulous relationship, as much as I'd like to spill it all here.
Let's just sum it up with resource crunch and degraded services because, apparently, when one customer signs a $200B deal [1] all the "just a few $10M" get thrown to the wayside.
AWS is also affected. Time to go to Azure? I never thought I'd say those words.
Azure was affected by this already - small compute quota increases tickets I had opened last year took months to resolve, and they also took away ability to provision postgres in eastus entirely (we are under quota limit).
It’s a slop alright. But it also missed the next mainstream iteration which is Java virtual threads / Goroutines. Those do away with coloring by attacking the root of the problem: that OS threads are expensive.
Sure, it comes with its own issues like large stacks (10k copy of nearly the same stack?) and I predict a memory coloring in the future (stack variables or even whole frames that can opt out from being copied across virtual threads).
Yet... deploy on two clouds and you'll get tax payers scream at you for "wasting money" preparing for a black swan event. Can't have both, either reliability or lower cost.
Right, but there's no doomsday prophecies around the Year 2038 problem as far as I can tell. I think it falls in the same kind of category of known problems that are certain to happen at some point. Some other things I was thinking of were the theorized ARkStorm, and also an earthquake that could happen in the Cascadia subduction zone.
It's also not impacting _only_ at that time, many tasks involve dates in the future, and a system dealing with a far enough off date _today_ is already impacted.
So it's not as if "everything works" then suddenly "everything doesn't"
And it's only for operations that care about the sign / compute deltas / use signed numbers, otherwise it's 2106-02-07 06:28:16 UTC.
Or humans make a mistake. I got burned by the MsDos date rollover with signed values ~20 years ago. A salesman fat-fingered a job into the 2060s. Of course while I was on the other side of the world with no phone access.
Not quite; the first attack happened at approximately UNIX time 1000210380, which isn't quite as round as "1 trillion milliseconds". (It was about 2 days after 1e9).
The St Nicholas Orthodox church sat at the base of the Twin Towers, because it was there for 100 years and they wouldn't take the money to rebuild it elsewhere. They probably served their last Divine Liturgy there on Sunday 9/9/01 as a last blessing before it was destroyed that Tuesday.
I was on a break at work reading a lot about 9/11 for some reason. Went back to fix an easy bug where our timestamps were printing wrong dates (milliseconds vs seconds) so I became curious what dates would show up if I added zeros in front of 1, to get a ballpark of where dates are. I freaked out after the ninth zero, you know, being so close to the event I was just reading about.
Heh. That's me. The "no presence" part. About the 10x part, ask my colleagues. I want to believe I'm doing some good work but who knows.
But the no presence... I've got a kid, a house, a mortgage. I've been in software since I was a teenager. Am I still fascinated by it? Sure. Will I still spend hours and hours of free time? Nop. It long since stopped being a hobby. Right now I like reading and listening to audio books, when I have a break from house chores and child rearing. I like to cook and experiment in the kitchen. The endorphin feedback cycle is so much faster (hours) than large scale software (weeks to years). I like to watch interesting shows on TV. Write. Coding-wise, I'm invisible outside the company I work at.
Not strictly a 9-5, but with a kid I do try to have quality family time, so I condense as much as possible to my working day, leaving time to be with my loved ones. If there's something important I'll participate. If there's a pagerduty alarm I'll jump. But otherwise, I'll deal with it tomorrow. I've long since learned to identify real emergencies from artificial urgency "because there's a milestone deadline!". Sure there is. Like the old saying goes "I love deadlines. I love the wooshing sound they make when they go by". Is it a customer commitment? No? Then I'll work on it Monday morning, right now I'm out.
I value people like that. Being a hero is a young-people game. You can't be a hero for years and years and not burn out. I've seen that happen. Working every weekend? Then something is wrong with the estimation. Or the design. Or whoever is in charge of priorities.
God helps me when I look for a job again. I guess I'll have to rely on references and hope to hell I'll pass the filtering software to actually get someone to look at my application. So far I've been lucky. Last time I actually sent CVs was at the beginning of my career, as a new grad, 20 years ago. Ever since then I was picked out, carried over, invited in by people who knew me. Really, really hoping that'll keep being the case.
I bet "I'm a lot of people". That's the point of the post. We exist, we contribute, some of us are critical. We just don't chase fame, don't care about (much) about recognition (beyond peer I guess) and have interests and ways to occupy our time other than software. :shrug:.
I accepted that I won't be a "name". Yet I have made suggestions that were adopted into Spring, I have commented on JCPs, I have talked with antirez (though not much contributed there, I'm still in awe of Redis' internal design). I just... don't care much about other people knowing me beyond what I need to pay the bills and make my immediate peers, manager chain and customers happy.
To me that's a complete circle back to lessons learned from neural networks - I long suspected we'd be heading that way again with transformers being a computational step rather than the whole thing.
I don't know how to solve these. I tried Java internal tech talks (internal to my company) but most devs just weren't interested. I try ad-hoc with sessions with devs but very rarely I feel a bite.
The pipeline is collapsing. In 5 years, who will be the next senior devs? I have so few candidates to look at, and no new ones at all.
reply