A joke I used to tell every coöp student and early-career person I interviewed:
-
@gbsills Putting my technical product manager hat on top of my product design hat, if I can ethically do 4x the delivery, I would rather ship four variations of one feature behind feature flags and test the results, than ship four features serially and be too busy shipping the next four to review the results of my experiments.
@raganwald Yeah, it is hard for product managers to withstand the pressure to release product quickly. Often, phrases like "shipped on xx/xx/xxxx" and the development run rate $$$ is the only thing the people above them understand.
-
@raganwald Yeah, it is hard for product managers to withstand the pressure to release product quickly. Often, phrases like "shipped on xx/xx/xxxx" and the development run rate $$$ is the only thing the people above them understand.
@gbsills I have spent 25+ years advocating for feedback loops. My go-to slides compared a ballistic approach to air travel (aim very carefully and take EVERYTHING into account at fine levels of detail, then launch and pray) versus flying the aircraft (continuous adjustments in flight).
Got me respect, but in a crunch leadership would... Go ballistic.
-
A joke I used to tell every coöp student and early-career person I interviewed:
“We only hire senior developers. The trick is, we hire them earlier in their careers.”
The same thing, without trying to be hip:
“Senior engineers are what you get when you hire a junior, give them interesting problems, surround them with people who know more than they do, and wait. That's it.”
AI didn't kill your junior pipeline. You did | Andrew Murphy
AI didn’t kill the junior pipeline; companies did, because someone saw Claude write a for loop and decided that meant they could stop training humans. The result is an industry cheerfully pulling the ladder up behind itself, hollowing out its seniors, and outsourcing its entire talent strategy to vendors that will eventually triple the price. If you don’t hire juniors now, don’t act surprised in five years when you’re surrounded by AI-generated code nobody understands and trying to buy senior engineers from a market everyone else forgot to replenish.
Andrew Murphy (andrewmurphy.io)
@raganwald I think it's very important for us to take lessons from the manufacturing industry here. In the US at least, it's incredibly difficult to make anything domestically. Complicating things further, a Smarter Every Day video from several months ago found that, not only have we lost the ability to make things, we've lost the ability to make the things that make things. In his case, he found that finding folks who knew how to make the molds and metal stamping components was difficult to impossible to find domestically.
And we're gladly walking into the same trap with knowledge work. It isn't enough that we're outsourcing software development itself. We're outsourcing the ability to make new software engineers. (And, being an Ops person, I'd argue that we're doing that with all knowledge-based roles in general.)
-
A joke I used to tell every coöp student and early-career person I interviewed:
“We only hire senior developers. The trick is, we hire them earlier in their careers.”
The same thing, without trying to be hip:
“Senior engineers are what you get when you hire a junior, give them interesting problems, surround them with people who know more than they do, and wait. That's it.”
AI didn't kill your junior pipeline. You did | Andrew Murphy
AI didn’t kill the junior pipeline; companies did, because someone saw Claude write a for loop and decided that meant they could stop training humans. The result is an industry cheerfully pulling the ladder up behind itself, hollowing out its seniors, and outsourcing its entire talent strategy to vendors that will eventually triple the price. If you don’t hire juniors now, don’t act surprised in five years when you’re surrounded by AI-generated code nobody understands and trying to buy senior engineers from a market everyone else forgot to replenish.
Andrew Murphy (andrewmurphy.io)
At the same time those same companies tell seniors looking for a new job, that they're too old. Not flexible enough.
Kept up to date for decades in one of the fastest changing industries. Not flexible enough. Sure!
Developed the current technologies, but not flexible enough to use them in their work now. Sure!
Like they think, they don't need software developers at all any more. They're wrong, but sadly confident.
-
A joke I used to tell every coöp student and early-career person I interviewed:
“We only hire senior developers. The trick is, we hire them earlier in their careers.”
The same thing, without trying to be hip:
“Senior engineers are what you get when you hire a junior, give them interesting problems, surround them with people who know more than they do, and wait. That's it.”
AI didn't kill your junior pipeline. You did | Andrew Murphy
AI didn’t kill the junior pipeline; companies did, because someone saw Claude write a for loop and decided that meant they could stop training humans. The result is an industry cheerfully pulling the ladder up behind itself, hollowing out its seniors, and outsourcing its entire talent strategy to vendors that will eventually triple the price. If you don’t hire juniors now, don’t act surprised in five years when you’re surrounded by AI-generated code nobody understands and trying to buy senior engineers from a market everyone else forgot to replenish.
Andrew Murphy (andrewmurphy.io)
This likens back to Netflix (circa 2014) showing they rarely hire Interns/Juniors, to which someone gave a memorable response in the form of "If you don't hire juniors, you don't deserve seniors" in 2018. https://dev.to/isaacdlyman/if-you-dont-hire-juniors-you-dont-deserve-seniors-48kb
The industry has been making moves to avoid hiring Juniors, or training _anyone_, for a long time under the assumption someone else will do it or everyone will "sink or swim" on their own (externalizing the cost to individuals).
-
This likens back to Netflix (circa 2014) showing they rarely hire Interns/Juniors, to which someone gave a memorable response in the form of "If you don't hire juniors, you don't deserve seniors" in 2018. https://dev.to/isaacdlyman/if-you-dont-hire-juniors-you-dont-deserve-seniors-48kb
The industry has been making moves to avoid hiring Juniors, or training _anyone_, for a long time under the assumption someone else will do it or everyone will "sink or swim" on their own (externalizing the cost to individuals).
The idea that Juniors only exist to write boilerplate has always been wrong; similarly the idea we should use AI to generate boilerplate ignores the fact that boilerplate, by and large, should not exist. It is a sign of a bad abstraction, an inefficient protocol, an outdated model, a code base stuck in the mud, or management blocking enhancements. We don't need ways to generate it faster; we need to engineer ways to avoid it entirely.
-
The idea that Juniors only exist to write boilerplate has always been wrong; similarly the idea we should use AI to generate boilerplate ignores the fact that boilerplate, by and large, should not exist. It is a sign of a bad abstraction, an inefficient protocol, an outdated model, a code base stuck in the mud, or management blocking enhancements. We don't need ways to generate it faster; we need to engineer ways to avoid it entirely.
The expectation that folks will learn by osmosis feels like we're continuing to avoid the elephant in the room: The continued lack of regulations, standards, certifications, professional associations, and unions means "Senior Software Engineer" has no actual meaning beyond vibes and feels and we are long past the point where that needs to change. We don't engineer buildings based on vibes, nor should software.
-
The expectation that folks will learn by osmosis feels like we're continuing to avoid the elephant in the room: The continued lack of regulations, standards, certifications, professional associations, and unions means "Senior Software Engineer" has no actual meaning beyond vibes and feels and we are long past the point where that needs to change. We don't engineer buildings based on vibes, nor should software.
The reality is that most software problems are solved; what we're doing is failing to disseminate the solutions as best practices because we rely on word-of-mouth. Companies expect developers to learn on their own time while also running everyone at 120% capacity with deadlines of "due: yesterday" give no time to fix anything and denying any autonomy... and then individual growth becomes stunted.
¯\_(ツ)_/¯
-
A joke I used to tell every coöp student and early-career person I interviewed:
“We only hire senior developers. The trick is, we hire them earlier in their careers.”
The same thing, without trying to be hip:
“Senior engineers are what you get when you hire a junior, give them interesting problems, surround them with people who know more than they do, and wait. That's it.”
AI didn't kill your junior pipeline. You did | Andrew Murphy
AI didn’t kill the junior pipeline; companies did, because someone saw Claude write a for loop and decided that meant they could stop training humans. The result is an industry cheerfully pulling the ladder up behind itself, hollowing out its seniors, and outsourcing its entire talent strategy to vendors that will eventually triple the price. If you don’t hire juniors now, don’t act surprised in five years when you’re surrounded by AI-generated code nobody understands and trying to buy senior engineers from a market everyone else forgot to replenish.
Andrew Murphy (andrewmurphy.io)
@raganwald@social.bau-ha.us "Every senior engineer alive today got their start doing the exact grunt work they're now saying juniors don't need to do. That's not progress. That's pulling the ladder up behind you."
-
A joke I used to tell every coöp student and early-career person I interviewed:
“We only hire senior developers. The trick is, we hire them earlier in their careers.”
The same thing, without trying to be hip:
“Senior engineers are what you get when you hire a junior, give them interesting problems, surround them with people who know more than they do, and wait. That's it.”
AI didn't kill your junior pipeline. You did | Andrew Murphy
AI didn’t kill the junior pipeline; companies did, because someone saw Claude write a for loop and decided that meant they could stop training humans. The result is an industry cheerfully pulling the ladder up behind itself, hollowing out its seniors, and outsourcing its entire talent strategy to vendors that will eventually triple the price. If you don’t hire juniors now, don’t act surprised in five years when you’re surrounded by AI-generated code nobody understands and trying to buy senior engineers from a market everyone else forgot to replenish.
Andrew Murphy (andrewmurphy.io)
@raganwald Thanks to that mindset I can't find a job. Companies keep telling me "you don't have any work experience, come back in 5 years". It's so frustrating. Recently I got my first job offer in 9 months and it was a full time Full-Stack-Developer position for MINUMUM WAGE and 0 benefits.
-
A joke I used to tell every coöp student and early-career person I interviewed:
“We only hire senior developers. The trick is, we hire them earlier in their careers.”
The same thing, without trying to be hip:
“Senior engineers are what you get when you hire a junior, give them interesting problems, surround them with people who know more than they do, and wait. That's it.”
AI didn't kill your junior pipeline. You did | Andrew Murphy
AI didn’t kill the junior pipeline; companies did, because someone saw Claude write a for loop and decided that meant they could stop training humans. The result is an industry cheerfully pulling the ladder up behind itself, hollowing out its seniors, and outsourcing its entire talent strategy to vendors that will eventually triple the price. If you don’t hire juniors now, don’t act surprised in five years when you’re surrounded by AI-generated code nobody understands and trying to buy senior engineers from a market everyone else forgot to replenish.
Andrew Murphy (andrewmurphy.io)
@raganwald Caveat: the "people who know more than they do" have to be willing to share their knowledge.
If they act like some kind of high priesthood, you'll just turn a junior engineer into a pissed off senior engineer who works for someone else instead.
-
@raganwald Thanks to that mindset I can't find a job. Companies keep telling me "you don't have any work experience, come back in 5 years". It's so frustrating. Recently I got my first job offer in 9 months and it was a full time Full-Stack-Developer position for MINUMUM WAGE and 0 benefits.
@marco @raganwald I got rejected for assignments which called for 5-6 yoe. i have 6 yoe...
not enough experience -
A joke I used to tell every coöp student and early-career person I interviewed:
“We only hire senior developers. The trick is, we hire them earlier in their careers.”
The same thing, without trying to be hip:
“Senior engineers are what you get when you hire a junior, give them interesting problems, surround them with people who know more than they do, and wait. That's it.”
AI didn't kill your junior pipeline. You did | Andrew Murphy
AI didn’t kill the junior pipeline; companies did, because someone saw Claude write a for loop and decided that meant they could stop training humans. The result is an industry cheerfully pulling the ladder up behind itself, hollowing out its seniors, and outsourcing its entire talent strategy to vendors that will eventually triple the price. If you don’t hire juniors now, don’t act surprised in five years when you’re surrounded by AI-generated code nobody understands and trying to buy senior engineers from a market everyone else forgot to replenish.
Andrew Murphy (andrewmurphy.io)
@raganwald what if we train them and they leave?
Answer: what if you don't and they stay?
-
The expectation that folks will learn by osmosis feels like we're continuing to avoid the elephant in the room: The continued lack of regulations, standards, certifications, professional associations, and unions means "Senior Software Engineer" has no actual meaning beyond vibes and feels and we are long past the point where that needs to change. We don't engineer buildings based on vibes, nor should software.
@zimzat @raganwald "osmosis" his hard for me.
I'm a senior dev, but was this year hired on to an org and failed out bad. They "assumed senior level assets would just pick up their model and methods by osmosis"
Well...
The "model" was clearly a mix of various stages of fixes for various vintages and current failings, unequally spread throughout the codebase. No real best practices.
The current operations kept failing for clear reasons of capacity and failure to adjust for grown requirements. Designers for bulk monolithic operations don't scale when the whole process routinely exhausts all available memory and takes down any adjacent process.
Even a senior coming into a very startup-like structure, will need to be guided into the role, allowed to adjust to the shitshow that is the multi-generarational family of failure modes on exhibit, and can't effectively start making things "awesome" rock star style, on day two. Especially when there are hidden traps of untouchable devs you never see. -
R relay@relay.mycrowd.ca shared this topic
-
A joke I used to tell every coöp student and early-career person I interviewed:
“We only hire senior developers. The trick is, we hire them earlier in their careers.”
The same thing, without trying to be hip:
“Senior engineers are what you get when you hire a junior, give them interesting problems, surround them with people who know more than they do, and wait. That's it.”
AI didn't kill your junior pipeline. You did | Andrew Murphy
AI didn’t kill the junior pipeline; companies did, because someone saw Claude write a for loop and decided that meant they could stop training humans. The result is an industry cheerfully pulling the ladder up behind itself, hollowing out its seniors, and outsourcing its entire talent strategy to vendors that will eventually triple the price. If you don’t hire juniors now, don’t act surprised in five years when you’re surrounded by AI-generated code nobody understands and trying to buy senior engineers from a market everyone else forgot to replenish.
Andrew Murphy (andrewmurphy.io)
@raganwald @SteveBellovin Oh, My, God. This is *exactly* what I've been telling people at my work. And it's nothing to do with software. You simply *can't* sustain talent if you don't invest in it. Which means, as you say, hiring juniors and *spending money* to allow seniors to actually train them.
Instead, we underbid contracts. In order to deliver on that, we have zero room for any training or mentoring: our seniors are fully tasked with deliverables.
We're eating our seed corn.
-
A joke I used to tell every coöp student and early-career person I interviewed:
“We only hire senior developers. The trick is, we hire them earlier in their careers.”
The same thing, without trying to be hip:
“Senior engineers are what you get when you hire a junior, give them interesting problems, surround them with people who know more than they do, and wait. That's it.”
AI didn't kill your junior pipeline. You did | Andrew Murphy
AI didn’t kill the junior pipeline; companies did, because someone saw Claude write a for loop and decided that meant they could stop training humans. The result is an industry cheerfully pulling the ladder up behind itself, hollowing out its seniors, and outsourcing its entire talent strategy to vendors that will eventually triple the price. If you don’t hire juniors now, don’t act surprised in five years when you’re surrounded by AI-generated code nobody understands and trying to buy senior engineers from a market everyone else forgot to replenish.
Andrew Murphy (andrewmurphy.io)
@raganwald @jamesmarshall
I gave my business schol Information Ethics class on AI last week and stressed exactlythis point. Whether LLMs can do the work your junior people can do or not (to an acceptable quality/price), betting your business on the LLM being able to replace senior people in ten years is a bad business decision. -
R relay@relay.infosec.exchange shared this topic