The Changelog: Software Development, Open Source - Entry-level tech jobs are getting wiped out (News)
Episode Date: May 27, 2025The San Fransisco Standard published some sobering news for new graduates, the Forge team decided to put an AI agent in your shell, Fernando Borretti says you can choose tools that make you happy, Juj...utsu's flexibility and safety changed Nathan Witmer's approach to version control, Anil Dash is as excited about MCP as almost everyone else is & Alex Kladov shares two rules of thumb around pushing "ifs" up and "fors" down.
Transcript
Discussion (0)
What up nerds, I'm Jared and this is ChangeLog News for the week of Monday, May 26th, 2025.
My mom was right, again, good things really do come to those who wait, because we've
been waiting patiently to acquire the Changeelog.news vanity domain
ever since we renamed from ChangeLog Weekly
and turned our humble newsletter into the podcast
slash newsletter combo that you are listening to right now.
Big thanks to ChangeLog community member Jarvis Yang
for keeping an eye out for us and giving us a holler
when it became available.
Domain acquired.
Okay, let's get into this week's news.
Entry level tech jobs are getting wiped out.
The San Francisco Standard published some sobering news
for new graduates.
Quote, hiring of new grads by the 15 largest tech companies
has fallen by more than 50% since 2019,
according to a new report from VC firm Signalfire.
While hiring for mid and senior level roles rebounded last year following mass layoffs
across all levels in 2023, it declined at the entry level.
The gap between the overall unemployment level and that of recent college grads recently
reached an all-time high according to census data." End quote. What is the culprit?
You're not going to like this.
Quote.
Previously, startups would typically hire one senior person and two or three early career
coders to assist, but AI holds advantages over those junior employees.
Why hire an undergrad when AI is cheaper and quicker?
While AI-generated code isn't top tier, neither is code written by new grads.
The key difference is that the iterative process to make AI code better takes minutes while
a junior coder might need days for the same task."
This seems like bad news for everyone involved.
The good news for grads though is there's never been a better time in history to start
your own business and you'll probably never have as little responsibility as you do right now.
Hopefully you didn't take on soul crushing debt to acquire that degree.
Forge is an AI agent in your terminal.
While most dev tool makers are building AI agents for your IDE, your text editor, and
or your web browser, the Forge team decided to put one in your shell.
Here's why.
Speed and Efficiency. Terminal interfaces provide sub-50ms startup and direct system access.
Rich Context. Your shell session already contains your complete development context. Tool Ecosystem. Forge seamlessly combines with the powerful Unix tool ecosystem through pipes
and redirections. And Composability. Forge follows the Unix tool ecosystem through pipes and redirections. And composability.
Forge follows the Unix philosophy of combining specialized tools to solve complex problems.
I find this approach both novel and interesting at least for we developers who already work
in the terminal.
Forge is an open source Rust codebase with its own proprietary provider, but you can
plug it in to many other providers as well.
Choose tools that make you happy.
The actual title of this post by Fernando Boretti starts with you can, like you can
choose tools that make you happy.
But I like my imperative form better.
Now it's more than permission to choose tools that make you happy, but instruction to do
just that.
That being said, the post isn't really about permission or instruction, it's about admitting
that which we already do.
Quote, EMax is a gnostic cult.
And you know what?
That's fine.
In fact, it's great.
It makes you happy.
What else is needed?
You are allowed to use weird, obscure, inconvenient, obsolescent, undead things if it makes you
happy.
We are all going to die.
If you're lucky you get 3Gb and you're up.
Do what you are called to do. Put ZFS in your air fryer. Do your taxes in Fortran. Just don't BS me. I love the comments on Mitchell Hashimoto's clip about why he chose Zig for Ghostie, and
I bet Fernando would love them as well.
I'll link them up in the newsletter.
What I've Learned from JJ
Jujutsu, JJ for short, is an up and coming version control system that many smart people
are saying many nice things about.
Nathan Whitmer says Jujutsu's flexibility and safety changed his approach to version
control. Quote, working with Git has been great, especially in contrast to what came before.
But despite years of development, it still has sharp edges and presents a steep learning
curve.
Jujutsu doesn't fix that exactly, but it sands off some rough edges and makes some
different decisions that result in a much safer and far more flexible workflow.
End quote.
What surprises me about JJ Excitement and excitement and adoption is that nobody claims it's revolutionary
or 10x better than Git or anything like that.
They just say it's marginally better in many small ways that I guess add up to make it
adoption worthy.
In this post, Nathan explains how JJ has made him think differently about commits and intentionality,
rebasing, conflict resolution, and more.
He also followed this post up
with a perhaps more approachable JJ tips and tricks,
which is also linked up in the newsletter.
It's now time for sponsored news.
Clod code in your GitHub Actions.
If you're using GitHub Actions,
you'll want to check this out.
The depot team just integrated Claude code directly
into your GitHub Actions workflows
with no setup required.
You can now add AI code generation right into your builds
and let Claude help you write tests,
docs, and even production code.
Yes, Claude code running inside your GitHub Actions builds
with zero extra config.
This is the kind of usage of Claude code and AI
that makes teams rethink what CI CD is capable of Claude's speed and power meets depots blazing fast
builds.
Here's what Kyle Galbraith CEO of depot has to say about this quote,
Anthropic has brought my favorite agentic coding interaction Claude code
to GitHub actions.
This means that we can now use Claude Code to write and run code by simply asking
Cloud in-poll requests and issues. Behind the scenes, Cloud Code runs inside of GitHub Actions
workflows that we control, making it easier to automate tasks and improve our development processes."
Head to depo.dev or check the direct link to the post in your chapter data and in this week's newsletter. MCP is the coming of Web 2.0 2.0
Anil Dash is as excited about MCP as almost everyone else is.
Quote, the interesting thing about the rapid adoption of MCP isn't the specification itself.
Honestly, the spec is… kinda mid.
Compared to the olden days when specs were written by pedantic old Unix dudes who were
never in danger of being gruntled in the first place, they
would be scratched out in plain text with the occasional shouting in all caps
about what we should and must do. MCP is very nearly just a vague set of ideas, a
hallucination of a specification appropriate to the current era where
even the Constitution is just a suggestion. A vibe protocol. But MCP
works and it's open and that's what counts." He thinks the rapid adoption of MCP represents
a second coming of the entire ethos of Web 2.0. Remember Web 2.0?
The Web 2.0 community was a bunch of folks building lots of different sites that were meant to have
open APIs that let developers and even users explore and connect people and data together in an interesting and unexpected
and useful and even weird ways.
The standard bearers of the era were sites like Flickr and Delicious and Upcoming, which
pioneered things like tags and social sharing."
I made the same connection when discussing MCP with Richard Moot from Square, but I'm
not as optimistic as Anil is, at least currently, this time around.
Quote, the rise of MCP gives hope that the popularity of AI amongst coders might pry
open all these other platforms to make them programmable for any purpose, not just so
that LLMs can control them.
End quote.
I shouldn't complain too much about Web 2.0. At least it gave us podcasting.
But what else do we still have from that era?
And what is stopping the tech giants this time from changing their open tune as soon
as it's no longer expedient for their bottom line?
Push ifs up and fours down.
Here's two rules of thumb that make a lot of sense to me.
Oddly enough, I don't think I've heard them before.
Or maybe I just forgot. Either way, Alex Kladov suggests we push if conditions as high up as is reasonable. Here's one reason
why.
Quote, control flow and ifs are complicated and are a source of bugs. By pushing ifs up,
you often end up centralizing control flow in a single function, which has a complex
branching logic, but all the actual work is delegated to straight-line subroutines. If you have complex control flow, better to fit it on a
screen in a single function, rather than spread throughout the file. What's more, with all the
flow in one place, it often is possible to notice redundancies and dead conditions."
The main reason he thinks we should push force down is performance.
If you have a whole batch of things to work with, you can amortize startup cost and be
flexible about the order you process things.
In fact, you don't even need to process entities in any particular order.
You can do vectorized, struct of array tricks to process one field of all entities first
before continuing with other fields.
That's the news for now, but go and subscribe to the ChangeLog newsletter for the full scoop continuing with other fields. Have a great week, like, subscribe, and leave us a 5 star review to help out the show.
And I'll talk to you again real soon.