Engineers' accountability when building with AI

Originally published on LinkedIn

๐—˜๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ๐˜€' ๐—ฎ๐—ฐ๐—ฐ๐—ผ๐˜‚๐—ป๐˜๐—ฎ๐—ฏ๐—ถ๐—น๐—ถ๐˜๐˜† ๐˜„๐—ต๐—ฒ๐—ป ๐—ฏ๐˜‚๐—ถ๐—น๐—ฑ๐—ถ๐—ป๐—ด ๐˜„๐—ถ๐˜๐—ต ๐—”๐—œ I started writing an article about engineering accountability then ranted instead๐Ÿ˜ก

It was going to be about technical debt, backlogs, habits of documenting problems rather than fixing them which is now false economy. Then it turned into a rant.

I prefer the rant so here it is.. I have a trigger.

๐Ÿšจ I'm in the middle of a production incident. The site's down. Customers are calling. The business wants answers now.

Then an engineer says:

โ€œWe knew about that issue. There's a backlog item for it.โ€

*$£%"@*! No.

What you've just told me is that you knew this could cause a production incident. You investigated it. You understood it. You wrote a ticket..

Maybe even a beautiful Confluence page describing how it could fail.

And thenโ€ฆ you stopped.

Maybe someone else made the call to ship. Product, delivery, whoever, technically, you're covered. ๐Ÿ“‹ You documented it. ๐Ÿ“‹ You raised the risk. ๐Ÿ“‹ You created the backlog item.

You can point at it and say: โ€œI knew this would happen.โ€ Again Hell no!

I don't want a blame culture. People make mistakes. Systems fail. Good teams learn from that.

But a ๐—ป๐—ผ-๐—ฏ๐—น๐—ฎ๐—บ๐—ฒ culture is very different from a ๐—ป๐—ผ-๐—ฎ๐—ฐ๐—ฐ๐—ผ๐˜‚๐—ป๐˜๐—ฎ๐—ฏ๐—ถ๐—น๐—ถ๐˜๐˜† culture.

When production is down and everyone's response is essentially, โ€œI did my partโ€ something is very wrong as there must have been a mistake down the line somewhere.

And now AI raises the bar.

Engineers increasingly say ๐—ถ๐—บ๐—ฝ๐—น๐—ฒ๐—บ๐—ฒ๐—ป๐˜๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ถ๐˜€ ๐—ฐ๐—ต๐—ฒ๐—ฎ๐—ฝ. The difficult work is the thinking. The architecture. The design. Understanding the problem and making the right trade-offs.

Fine.

But if you've already done that thinking, understood the failure mode, documented the solution and written the backlog itemโ€ฆ

Why didn't you change it!?!

At some point, a backlog item stops being engineering work and starts becoming a disclaimer โ€œI spotted this, so it isn't on me.โ€ Someone else made a decision.

I didn't like that before AI. With AI, my tolerance for it is much lower. We used to hear:

โš ๏ธ โ€œWe had to get it out.โ€ โš ๏ธ โ€œThere was too much delivery pressure.โ€ โš ๏ธ โ€œWe didn't have time to do it properly.โ€ โš ๏ธ โ€œThe fix would have taken too long.โ€

Sometimes those were legitimate trade-offs. But if AI has changed the economics of implementation, we have to be consistent about what that means.

You don't get to celebrate 10x productivity for feature delivery and then rediscover the old cost of implementation when it's time to fix resilience, observability, security, testing or technical debt.

๐—ž๐—ป๐—ผ๐˜„๐—ถ๐—ป๐—ด about a problem isn't owning it. ๐——๐—ผ๐—ฐ๐˜‚๐—บ๐—ฒ๐—ป๐˜๐—ถ๐—ป๐—ด a risk isn't engineering it out. ๐—ช๐—ฟ๐—ถ๐˜๐—ถ๐—ป๐—ด a ticket isn't fixing it.

โ€œI told you soโ€ is not an engineering outcome.

๐Ÿค– AI isn't reducing engineers' accountability. It's increasing it.

#EngineeringLeadership #SoftwareEngineering #AIEngineering #TechnicalDebt #DevOps #EngineeringCulture