When I was an IC engineer, I learned a lot by reading pull requests. Like, a lot a lot, probably more than any other single source. But PRs have changed dramatically over the last couple of years. What used to be lovely, well-crafted stories have devolved into an arms race of which LLM can write the most number of words about what the code is doing (which btw, the code already tells you).

The PRs of old were glorious teaching tools. I learned about tradeoffs and the long windy road to solutions. I learned how to apply prior art and previous experience. I learned about baking off different solutions. I learned about failures and how to deal with them. I learned about icebergs. I learned discipline. I learned tricks that seemed like magic. I learned storytelling, socializing, and how to make a case. I myself learned how to teach using them. And I learned about my coworkers and how much I appreciated them. In short, I developed my style. They helped shape me into the engineer and manager that I am today.

There is a real art to writing thoughtful PR descriptions and code comments, and I would love nothing more than to see this style of teaching make a comeback.

This is gonna sound old man and “back in my day” but I genuinely long for the days of brevity. I remember not that long ago when you’d read a post, doc, or pull request and it would be like a few sentences or paragraphs, and that would be that. You’d read it, understand it, talk to the person about it, and refine it, but it wouldn’t be a 30,000 word diatribe.

But there is an obvious and clear pattern now where folks are using LLMs to write basically everything, and all those artifacts are at least 10x longer than they need to be. Nobody needs 5 pages of context on a single todo. Nobody needs a pull request description that describes everything the code already says.

On the surface it looks impressive the first 10 times you’ve seen it, but after that you know you’re not going to read any of it ever again. You might end up feeding it through an LLM to summarize the unreadably long post, and now you’re just in an LLM-driven endless flat circle.

Writing with brevity and clarity is an art, and I genuinely applaud everyone who does it well, regularly, and without an LLM. Truly, thank you.

Literally anyone can use AI to blindly make a thing. What will differentiate you is how you demonstrate an ability to use it critically. It’s a tool, and just like any other tool it’s going to be good at some things and fail miserably at others. Your ability to understand, socialize, and operationalize all of that, together, is worth so much more to a team than some bro who can slap together yet another slop dashboard.

I like the premise that engineers are “lazy”, understanding that it’s very much a virtue and compliment when used appropriately. From Bryan Cantrill’s “The peril of laziness lost”:

We undertake the hard intellectual work of developing these abstractions in part because we are optimizing the hypothetical time of our future selves, even if at the expense of our current one. When we get this calculus right, it is glorious, as the abstraction serves not just ourselves, but all who come after us. That is, our laziness serves to make software easier to write, and systems easier to compose — to allow more people to write more of it.

The problem is of course the ever-present misguided brogrammer, especially in the age of AI, who confuses virtuous laziness with mass shitting out of code. Prime example: Gary Tan stupidly bragging about how many lines of code he generated. Predictably, none of what he generated makes any sense or is by any definition good:

Polish software engineer Gregorein, however, took it apart, and the results are at once predictable, hilarious and instructive: A single load of Tan’s “newsletter-blog-thingy” included multiple test harnesses (!), the Hello World Rails app (?!), a stowaway text editor, and then eight different variants of the same logo — one of which with zero bytes.

I sent this out last Friday, and now after a week has passed where I was AI-ing a lot, it feels even truer. I cannot stress enough how important it is to regularly (or entirely?) unplug from the robots and find hands-on, creative work to lean into. I’m pretty certain you’ll find a level of satisfaction and joy that you may not consciously realize you’ve been missing.

I’ve spent the entire day so far OUTSIDE of Claude, haven’t opened it once. Wasn’t intentional, it just turned out that the work I was doing didn’t need an assistant, and I happened to hit a good flow. I ended up slowing down, reading more carefully, and prioritizing my todos for the day to what I could realistically get done vs. piling on like 7 things in the background. And I gotta say it’s been lovely. I would argue it’s been one of the best feeling, productive mornings I’ve had in a while.

That’s not to discount the real wins that AI can bring (including a lot of help I got from it this week), but more that hey, maybe it’s OK, even good, to step away from the assistant here and there. I know it’s hard (impossible?) to accept or validate subjective measures like “feeling good” in work when objective measures (how much you did/shipped) are so prevalent, so I guess I just wanted to say there’s real value in feeling good in your work beyond shipping.

I fully acknowledge that not everyone has this luxury, whether it’s your job function, expectations, or customer pressures. Engineers in particular, so much of your work relies on those agents, so stepping away from them probably seems unrealistic. I just wanted to say out loud that it might be worth trying to find some space here and there, especially if you’re feeling fried at the end of a long week.

This is wildly helpful yet hadn’t heard about it til now. Can finally have FileVault enabled and still remotely login to a Mac if it reboots. Previously you had to either be at the physical machine or keep FileVault off to get back in.

I don’t know what is says about me and/or the state of tech in general but I absolutely LOVE, LOVE, LOVE plaintextsports.com. An absolute thing of beauty in its simplicity and function.

Along with some broader points about responsible AI usage, Fastmail CEO Bron Gondwana reminds us how important email is. In an age where anything and everything can change (or be hallucinated), having your own copy of history is even more important:

In a world where there’s enough AI capability to process the entire web and rewrite every page to remove something, the cost of “changing history” is much reduced, so we can expect more of it.

This is where the immutability of email really shines. An email is your copy, and the sender can’t revise it later. This is frustrating when you’ve sent the wrong thing and have to send a separate correction later, but in the long term it’s insanely valuable.

It makes a huge difference to be able to go back and double-check your memory against an email you saw years ago and know that if they disagree, the email is correct. This is already not the case with web pages — they change, and it’s only becoming worse.

Worth a reminder: everyone you work with is going through something outside of work. They might be dealing with tricky relationships (kids, parents, partner, friends), health concerns, financial pressures, emotional distress or grief, or like a hundred other possible stressors. A little grace and humility can go a long way in helping your coworkers have an OK day at work, and as a result make things a little better for them at home. 💙

Trust me, when someone signs up for your service, nobody wants 50 emails in the first week explaining all the amazing things it does. Like one email every couple weeks, fine, but blasting people every day of the week with your app is just annoying. If your product works well and does what it says, I assure you we’ll come back and use it.

Please never change Dropbox, you’re still BY FAR the best at file sync and file management. Every other service (iCloud, Google Drive, OneDrive) is either bad at the actual job of syncing or is littered with a bunch of cruft nobody wants or asked for. Doing one thing well is so underrated. 🏆🔄

It’s well known that multitasking is a myth and that constantly jumping around wastes more time than it saves, but now we’re supposed to “orchestrate” like 17 different agents at once and expect amazing outcomes? Sure.

When I block an AI hype bro on LinkedIn (“I’ll teach you how to 10x your engineers with AI!”) it says they won’t notify the person that I blocked them. But really I want the opposite – give me an option to definitely let them know I blocked their dumb posts from my timeline forever.

Good one by Nathaniel Fishel on hype bros locking in on AI vanity metrics:

The winners will be the ones with the discipline to measure what matters: Does the user’s life get better, or did we just make our repo bigger?

It must be so annoying to be on the other end of a partner who’s stuck in the AI hype bubble. That dude who finishes a day of work and then all weekend drones on and on about AI to their families about how it’s changing the world and how they should be using it for everything. Must be insufferable.

Say it with me for the people in the back (aka, those stuck in the AI slop hype bubble): WRITING CODE HAS NEVER BEEN THE BOTTLENECK.

It’s such an odd but kinda fun feeling to be the old, grizzled, experienced dude in the room. By virtue of sheer volume and having seen some truly brain-meltingly-stupid stuff, seems like the best thing I can do is to share my lived experiences and perspectives so we can hopefully avoid making the same mistakes for the 10th time (see terrible tech bros doing terrible tech bro stuff).

So when you see me going on and on about some specific theme (layoffs, AI slop, hype bubbles of late), it’s very likely a flashback to a story line that ends badly that I’ve seen before and we probably want to avoid doing again.

Transitioning from being the young, rage-filled, justice-seeking guy to the old, rage-filled, justice-seeking guy really creeps up on you!

It’s like, cool to listen to Weezer again?! Yes, I’ve been here for 30 years. =w= 🤓🤘

I’m not a doomsdayer but there’s something very cool about someone taking the time to package up terabytes of human knowledge in case an internet disabled apocalypse hits, and wrap it up nicely in an open source app. Love weird projects like this.

https://www.projectnomad.us/

This entire post about when and how to slow down in the age of AI by James Stanier is full of great stuff, including this:

If the decisions that precede execution are flawed, AI will faithfully implement those flaws in a way that looks like fully featured code. Looks can often be deceiving, especially with powerful and confident models. It will generate thousands of lines of code based on a misunderstood requirement. It will happily build an elegant solution to the wrong problem.

The illusion of speed is that you’re making progress when you’re actually digging yourself into a deeper hole.

The answer isn’t to abandon speed, but to deploy it deliberately. We should only unleash AI’s pace when we’re confident it’s pointed in the right direction.

And this:

Given that AI is speeding things up so much, if you haven’t already been challenged on why something’s taking so long, you certainly will be soon.

“Can’t you just use AI?” is a new form of velocity pressure, and it’s particularly insidious because it conflates the appearance of productivity with actual throughput. Yes, AI can generate code in seconds. But generating code and solving the right problem are not the same thing.

An astute observation from M.G. Siegler on AI’s notable lack of taste, especially with something as complex as personal travel preferences:

From here we quickly enter a maze of a hundred little preferences that are altered by thousands of real-world variables. If the powers that be thought the game of Go was a good, complex task to prove out AI, wait until it gets a load of trying to book travel for a family with children.

For all these stories about AI creating 500,000 lines of code and 90% of an app in 10 minutes, where are the follow up posts about the meaningful, measurable outcomes it created?

Like what actual business problem was solved? How well did it integrate with your existing product and strategy? How many new paying customers did you land because of it? What profit did it generate? What was the customer support experience for it like? Did customers actually like it? Did customers actually use it? How did it materially impact your business or revenue? How maintainable was the code base over time? 🦗

This is the tech bro bullshit worldview we’re up against. Unreal.

Some people believe that intellectual property rights, respect for attribution of authorship and privacy are important. When I look to the future, I see those ideas becoming antiquated. They are impractical, in the next technological era. In the future, we will all need to come to terms with the idea that information is free, in every sense.

Was using Claude Code and it got confused as to when to use curly quotes in code (eg, literally never) and it broke a bunch of stuff. Maybe the AI hype bros can chill a bit with the “I BUILT THIS APP IN 15 MINUTES TO 90% DONE” stories?

I know it’s not serious but I’m still proud of my 0%.

A certificate of completion from amiatechbro.com showing that a participant scored 0% on the Tech Bro Assessment and has been classified as Not a Tech Bro, issued on March 27, 2026.

Some of the smartest, most thoughtful people I know in tech are extremely skeptical of AI. That is, as they say in our business, a smell.

These aren’t the loud, bombastic, attention seeking jerks you see everywhere on socials. They’re just good folks who have proven time and time again to have strong ethics, thoughtful judgement, deep expertise, a strong sense of community, and a kindness toward humans. I’ve seen them build up open source communities and people alike.

So when the people you respect the most are deeply skeptical of something, that’s worth sitting with. Especially when the subject matter is something that has a non-zero chance of imploding.

We literally can’t go a week without a mass layoff, this time by Epic. I’m getting real fucking tired of asking old colleagues and friends “Hey, saw the news about the layoffs, you OK?”

At the risk of sounding corny, as a grizzled (but experienced) old dude, I can tell you with great confidence that your values – what you believe way down deep – is the best thing to help you navigate your career choices. Over the long run it’s what’ll make you successful.

Definitions of success may vary wildly and it’s easier said than done, but if you can consistently align your values with your work, you’re already mostly there.

There are people in 2026 talking about how many lines of code they shipped with a straight face. Well, I think they’re people at least. 😑

Just read an AI hype post saying their vibe coding got them 90% complete on a project. Woo hoo! The “only” things they had to engage an engineer to finish off: authentication, API keys lockdown, VPN protection, and a full security audit.

Funny how all these over the top “AI is changing everything!” posts are largely from people running AI startups. Totally not suspicious at all and very believable.

Still mulling over the Block layoffs, and one thing that caught my eye was how many folks who were let go were there for easily 6, 8, even 10 years or more. People who gave literally a decade of their life, jettisoned in an instant.

In addition to the cruelty of it, there’s is NO WAY that you lose that much institutional knowledge and keep rolling along anywhere close to full operational efficiency, maybe not even 50%. There is a 0.0% chance that your fancy AI tools have that kind of context. And they certainly don’t have the collective centuries of technical, product, or design judgement of those people.

Such a failure of leadership and management at every level.

Then I took that context map - I have never written a line of Terraform in my life - and spent 40 minutes with an Al to generate roughly 80% of the correct answer.

This is the state of the AI brain worming that’s happening right now. Guess we shouldn’t be shocked that mindless AI slop code would result in a mindless AI slop post about it, too.

I’m well past just muting folks with AI slop takes (“3 engineers can outperform 8 with just AI, here’s how!”). Full blast ridiculing and blocking now. ✌️

Emily Gorcenski on Bluesky:

“But guess what—they all require you to still be a good software developer. Engineering has always been about tradeoffs and judgment and I have seen nothing that indicates that this will change.”

“You hear all these stories of people vibe coding a SaaS alternative in a weekend. That’s great for N_users=1. That’s not the hard part.”

This, this, this, this. 💯

Meta (META.O), opens new tab is planning sweeping layoffs ​that could affect 20% or more of the company, three sources familiar with the matter told Reuters, as ‌Meta seeks to offset costly artificial intelligence infrastructure bets and prepare for greater efficiency brought about by AI-assisted workers.

For the heartless tech bro I saw write “I’m not mad about the [Block] layoffs” who works in Meta’s AI group, may I introduce you to my friend karma?

You Can’t Prompt Your Way to Judgment by Dr. Claire Knight is full of thoughtful nuggets on AI, like these:

But most of the software world isn’t Stripe. Some companies still have six-month release cycles. Some are still in the middle of their cloud migration. Panic-adopting AI in those environments doesn’t produce 4x productivity. It produces faster slop.

AI amplifies your existing engineering culture.

Experience debt is what accumulates when you’ve never been through a catastrophic release, never owned a 3am system failure, never made an architectural decision that seemed brilliant and then cost you eighteen months of pain to undo. It’s the absence of pattern recognition that only comes from proximity to failure."

Knowing what to enforce, what to leave flexible, what will break under load and what won’t. You cannot build that from a standing start. It accumulates through years of getting it wrong."

John Miller on LinkedIn writes:

You can run 20 parallel codex threads. You can orchestrate 15 agents. You can have them all working together.

Okay.

But are you actually serving your customer better? Or are you serving your feed, your boss, your board… or your ego?

A productivity story is not a product strategy. I think we’re missing the plot here.

Customers don’t care how impressive your internal workflow is. They pay for the value you’re building for them.

Nailed it.

Kind of hilarious to see a company make a big deal about how rigorous they are about hiring, but also have the same role open for literally a year in a market flooded with candidates. That’s not rigor, that’s just being bad at hiring.

This conversation on AI with Anil Dash is so good. I don’t know how anyone could argue with what he’s saying — measured, realistic, and well reasoned throughout. Y’all need to give it a listen.

This post by Naoko Takeda on their experience with the Block layoff (not being laid off but leaving anyway) is hardcore. I cannot express how much respect I have for people who have a strong ethical compass and act decisively. 👏

If there were a Mismanagement Hall of Fame, Jack Dorsey would be a first ballot inductee.

Instant block for anyone who even remotely attempts to piggyback on the Square/Cash App layoffs to advertise their product. Absolute vultures. 🚮

I am so fucking angry about the Square/Cash App layoffs (I refuse to call them by the other stupid name). It’s not about me, but it is about us, and I’m so tired of these assholes getting away with mismanaging companies so hard with zero consequences to themselves, and getting even richer from it.

People are the only thing that matter in companies. Every product you ship is because of their talent. If you actually believe you can slash 40% of that unique and precious resource and still survive long term, you’re already cooked.

Kelly Vaughn on the Block layoffs:

“You don’t lay off 40% of your staff of 10,000 because of AI. You lay off that many people because you mismanaged your headcount. I’m not buying the AI excuse.”

This EXACTLY.

The worst people you don’t know are coming out of the woodwork with their “thoughts” about AI and the Square Cash App layoffs. Now would be an excellent time to build up your mute / unfollow / block list. 🙅‍♂️

Dorsey sucked as Twitter CEO and the company burned to the ground. He sucks as the Square/Cash CEO and is in the process of burning it to the ground. He left the Bluesky board because he didn’t like the direction and the network is thriving.

One thing I’ve been historically terrible at doing is regularly keeping track of my accomplishments while they happen. Day to day all those small things you do which are “just part of the job” seem like they’re no big deal, but for an engineering manager (or any manager), all those little things in aggregate ARE accomplishments. And because they’re smaller they’re naturally much harder to recall later when you need them (eg, reviews, career development, interviews).

So don’t be like old me, be like new me. Think about your career WHILE it’s happening, not after. New me has a weekly reminder and a long running document to force me to write down my accomplishments, no matter how small, and I’m committed to sticking with this. I’ve been at it about a month and the doc is already a full page long!

Liberally blocking / muting / unfollowing on LinkedIn is underrated. Might feel a little weird to cut someone off on a “professional network”, but it’s a way to guard your headspace against AI slop, influencer clickbait, and “what this life experience taught me about b2b sales” posts (yes, these actually still exist).

These aren’t going to be folks you’ll ever need or want to connect with anyway.

One of the few silver linings to come out of a couple of my old jobs imploding is to see the amazing people I worked with go on to do truly great things. It’s so heartening (and kinda wild!) to see pals working on/running major products and teams across the industry.

I would of course never have wished those hardships on us at the time, but it’s also wonderful and amazing to see how far and high they’ve gone. Y’all are the best and it shows! 🏕️🐦🫡

This article by Siddharth Khare is the best thing I’ve read about AI and the potential (or perhaps more accurately, likely) detrimental effects on engineers and some strategies on how to help manage it. It is so spot on.

I started reading some random post here and the second sentence started with “Marc Andreessen said…” and that’s when I blocked that person forever. 🙂‍↕️

Every layoff announcement should have a corresponding section for executive salaries and the pay cut they’re taking as part of the reduction. Oh wait…

This is not how engineers work together. On real teams, we review code asynchronously, take time to understand context, ask clarifying questions, form opinions, get feedback, collaborate, and refactor. We don’t debug unfamiliar systems while someone silently watches us sweat bullets. When interviews are built around live performance, they’re not measuring engineering ability.

This exactly . Well said, Zoë Hall. 🎯

“Don’t worry, you’ll end up getting a job where you belong.” — my extremely wise, much-smarter-than-me partner

Amazon’s surveillance camera maker Ring announced a partnership on Thursday with Flock, a maker of AI-powered surveillance cameras that share footage with law enforcement.

If you’ve ever thought about getting rid of your Ring products or disconnecting from Amazon in general, now would be a good time.

Two things that I’ll forever remember from my extended job hunt…

💙 The kind folks who went out of their way to refer me internally, send me potential opportunities, share advice, help me prep, and acted as references.

👻 The companies/people that totally ghosted me.

Standard Chet Haase writing — salient, important points wrapped in humor. In particular this is stuff that I’ll keep in the back of my head when small, effective projects or teams start lean but get heavy. Might be right and/or necessary, but it’s important to at least stop and think about the long tail of added weight.

It’s so strange and upsetting to me to see companies that completely ghost candidates after just the first step of submitting an application. I don’t mean later in the process (which is also painful and common), I mean the application is received by the company and the candidate doesn’t get as much as an automated email when they’re rejected at that stage. Just complete silence, like the candidate never existed.

Such a weird, unfriendly way to treat candidates who took time and put forth effort to submit.

Head nodding my way through this entire post. I was a little skeptical going into it because, well, Google, but the lessons are pretty universal. Worth a read.

Because people who work in tech still believe in the power of tech to do good things, many of us won’t just dismiss outright the possibility that any technology — even AI tools like LLMs — could yield some benefits. But the optimistic takes are tempered by the first-hand knowledge of how the tools are being used as an excuse to sideline or victimize good people.

Anil is on an absolute tear with his writing. 🔥

Anil Dash speaks the truth. A bunch of folks have gone out of their way to help me with my job hunt and I really will remember all of them. Can only hope I’ll be able to pay it forward in the future.

The values section of Jake Wharton’s hire me page is the best thing I’ve read in years. Clear, honest, principled, and ethical. Tech would be a much better place with more of this and more people like Jake.

Jake Wharton values list screenshot

You can follow Jake on Mastodon or on his site.

Back to Hugo + Cloudflare Pages for my personal site. Realized how important pure text themes, flexibility, and Markdown were over Ghost’s editor, media embeds, and newsletters/network. Ultimately found the editor slowed me down and the themes were too media heavy/glossy for me.

And though I’ve always found the fiddly parts of programming the most calming, and the most essential, I’m not especially good at them. I’ve failed many classic coding interview tests of the kind you find at Big Tech companies. The thing I’m relatively good at is knowing what’s worth building, what users like, how to communicate both technically and humanely. A friend of mine has called this A.I. moment “the revenge of the so-so programmer.” As coding per se begins to matter less, maybe softer skills will shine.

The whole (long) article about AI and coding from James Somers is excellent, but this point specifically was highly relatable. I am the literal embodiment of the so-so programmer. 😅

One of the most counter-intuitive phenomena in trust repair is where initial success in building trust leads to a short-term surge in reported ‘negative metrics’.

When institutions successfully remove this barrier by demonstrating responsiveness and competence, citizens are suddenly incentivised to report issues, believing the effort is worthwhile. This resulting spike in reported complaints or low-level ASB is not a sign of rising disorder, but the successful conversion of latent, unreported incidents into official, actionable data.

This is an excellent exploration on how to both enact change AND how to interpret its signals. So much good stuff here.

Senior engineers look at the big, messy, abstract thing and start digging:

  • They ask questions nobody else thought to ask.
  • They separate what matters from noise.
  • They identify what should be done now vs. what to punt.

And you know what’s funny? When senior engineers do this well, it looks easy. Like nothing was even done. The project just… goes smoothly. Fewer surprises, production fires, or emergency meetings. But what actually happened was that someone did a lot of invisible work upfront.

Absolutely perfect, spot-on analysis.

This post by Molly Graham is excellent. I’ve never really liked the blindly-follow vibe of “disagree and commit”. The original intent was to enable decision making and drive alignment, and while that’s noble, enough bad actors have abused it to the point that It’s become a buzzword excuse they can use to justify squashing discussion and getting their way. I’ve definitely seen it happen.

Molly’s take is much smarter, far more nuanced, and as a leader, far more achievable. You don’t have to feel like you’re selling something you don’t believe in, but rather can acknowledge that the team is making an educated guess that will be assessed and reviewed afterwards. That builds trust, helps everyone learn, and is much easier to get behind. So, so much better. 👏

Kind of shocking to me that the majority of job postings still list number of years as a requirement.

First and most importantly, this shows an (unintentional?) implicit bias against underrepresented groups, cutting out those with non-linear career paths and those who have faced systematic barriers (women, people of color, minorities). Diversity is so critical for a team’s overall success, as any good product should have representation of its customer base.

Secondly, years of experience is in no way a proxy for competence. Some of the very best people I’ve worked with had a year of experience, and some of the biggest duds were people with dozens of years of experience. Smarts, ambition, and attitude are what matter, not years.

When in doubt, share your professional failures. If you’ve had any level of success in your career, sharing failures shows there’s room for growth for everyone at all levels. Nobody’s perfect and we all struggle at times, so people appreciate and connect with those kinds of experiences far more than some glossy accomplishment.

So share your tough moments and your missteps. Be honest and transparent. It might be hard to do and maybe even a little embarrassing, but that little bit of selflessness is an excellent way to teach and help grow others.