Tech debt can’t be solved as a roadmap item. It needs to be part of your daily routine

As an engineering leader, I’ve seen the following pattern play out multiple times, across multiple companies Executives complain about engineering velocity not being high enough. “I just want to show the user’s birthday on the settings page. Why does that take a whole year?” Engineers respond that tech debt is holding them back Executives tell … Continue reading Tech debt can’t be solved as a roadmap item. It needs to be part of your daily routine

Moneyball for Software Teams – An Imperfect Heuristic for Quantifying Dev Performance

Someone on Reddit once asked for “unethical career advice” for software developers. Here’s the most highly rated answer with over two thousand people liking it: Make a good first impression and you're set for a while. Something takes longer? They're a good developer so I guess we under pointed that. It is actually insane to … Continue reading Moneyball for Software Teams – An Imperfect Heuristic for Quantifying Dev Performance

Product-Engineering Collaboration – Getting Past Waterfall

XKCD #1425 I was reading a book on a lazy Sunday afternoon when I learnt something that completely changed the way I looked at one of the iconic movies from my childhood - Toy Story. This was the first computer-animated feature film ever attempted, and, as I was beginning to realize, the challenges were staggering. … Continue reading Product-Engineering Collaboration – Getting Past Waterfall

18 Years A Transient – My Journey Through the American Immigration System as a Computer Engineer

It sounds surreal to even say it out loud, but I’ve been living in America for the majority of my life, ever since I was a teenager. And for 18 of those years, I was legally a transient - hopping from one temporary visa to another. I’ve explored so many nooks and crannies of the … Continue reading 18 Years A Transient – My Journey Through the American Immigration System as a Computer Engineer

Featured

My Path to Financial Independence as a Software Engineer

One of the watershed moments of my life was as a 20 year old intern attending a workplace presentation about personal finance. Over the course of one hour, I learnt about the power of buy-and-hold investing and compound growth. I learnt that even an average engineer with a five-figure salary can become a millionaire by … Continue reading My Path to Financial Independence as a Software Engineer

Experiences working with an Outsourced Dev Shop

Many years ago, a younger and more naive version of myself decided to try bootstrapping a startup together with my co-founder, while still juggling our full-time jobs. She had the idea, product vision, and contacts for initial users, while I was in charge of tech development. Our plan for the MVP was to launch using … Continue reading Experiences working with an Outsourced Dev Shop

Mutation Driven Testing – When TDD Just Isn’t Good Enough

As someone who loves discussing Software Craftsmanship and best practices, Test Driven Development (TDD) is a bit of a sore spot for me. Let me start off by saying that I love TDD’s emphasis on testing. Too many software projects skimp on testing. And the results speak for themselves many years down the road, when … Continue reading Mutation Driven Testing – When TDD Just Isn’t Good Enough

Why Is There So Much Crap Software In The World

All around us, we are surrounded by crappy software. Pension funds that are stumbling along using decades old batch scripts with faulty assumptions. Credit agencies have leaked over a hundred million social security numbers and other confidential data. Planes need to be rebooted every 51 days to prevent "potentially catastrophic" bugs.And not to even mention … Continue reading Why Is There So Much Crap Software In The World