Becoming a tech lead was the goal from pretty early in my career. I had a clear picture of what the role was. More responsibility, more influence over the work, more of the interesting problems landing on my desk because someone had to figure them out and that someone, finally, would be me. It read like the natural next step. The thing you graduate to once you're good enough. What that picture did
A practical look at using tower as the middleware layer for Rust AWS Lambda functions, with examples that build up to a DynamoDB-backed per-IP rate limiter. It covers Service, Layer, stack ordering, short-circuiting, boxed async futures, and testing middleware without deploying a Lambda. Comments
I use AI coding agents every day. I believe they are reshaping how we build software, and I think the teams that adopt them deliberately will outperform those that don't. I am not writing this to warn you away from AI-assisted development. I am writing this because the loudest voices in the AI enthusiasm camp are also the most allergic to discussing what can go wrong. And that worries me more than
Comments
A hands-on dev review focused on i18n, date/number formatting, and non-ASCII edge cases. Why I Tested TestSprite for Locale Handling Specifically Most AI testing tools get reviewed for their core functionality — does it find bugs, does it write good test code, does it integrate with CI/CD. Those reviews exist. What I couldn't find was a focused review on how TestSprite handles locale-specific edge
AI can write code. Good code. Clean code. Fast code. That doesn’t make development trivial. It shifts where the true value lives. When code was slow and expensive, writing it was the work. Decisions developed gradually. Architecture changed over time. Judgment was distributed throughout implementation. When the cost of code drops, that balance flips. The difficult part is no longer creating softwa