Blog
I write to think. Most of what follows started as a problem on my desk. A team that had stopped talking, a codebase nobody wanted to touch, an API that fought back. Then it turned into something worth writing down.
Roughly half is about leading mobile engineers, the other half about Swift and the tools around it. No schedule: I publish when something is actually worth your time.
Start here
The engineer you’d want to be
Writing code is one part of the job. With AI folded into every workflow, what makes an engineer stand out is most of the rest.
Don't hire for passion
Dozens of technical interviews led me to an uncomfortable conclusion: passion is a poor hiring signal. Professionalism is the one that holds up.
Healthy approach to code reviews
Reviews raise the quality of the code and put people on edge at the same time. Who should review, what to look for, and how to comment without making it personal.
The economy of tech debt
Theory first: what tech debt actually is, where it comes from, what it costs product and team. Then a hands-on way to manage it without stopping delivery.
All posts
- HTTP Client for Swift
- Oh no! Yet another refactor request!
- Fixing the Xcode 16 LLDB error “Couldn’t realize type of self”
- The engineer you’d want to be
- Don't hire for passion
- Beyond specialization
- Task & Threads in Swift Concurrency
- The effect of indirect actions on team dynamics
- Not everything has to be perfect the first time
- Thoughts on moving to a leadership role
- Healthy approach to code reviews
- The broken window principle applied to software
- Modern networking in Swift
- How Feature Flags can boost your mobile app
- The economy of tech debt