Learn AI Independently: How to Use ChatGPT and Other Tools to Understand a Technical BookI've spent the past 13 years in software engineering—and, call me a masochist, but my favorite part is still running face-first into unfamiliar tech and coming out the other side. If you’re a jack-of-all-trades like me, you know the drill: you can da...Sep 24, 2025·4 min read
Laws of Software ArchitectureAs the discipline of software engineering matures, few things remain constant. A few years ago, a large portion of the community thought that TDD was always the best methodology to use - after all, you move faster by being thorough and preventing bug...Oct 18, 2020·3 min read
Consensus: The Hard KindYou're on a team, undoubtedly. You have been tasked with solving a customer problem and you have a design ready and waiting for review. One team member reviewed an early version and asked for some tweaks, but after an iteration they agreed it was the...Oct 12, 2020·3 min read
Mentoring a Software EngineerWhether it's about raising a small child or directing a full grown engineer towards her next promotion, mentoring requires a great deal of patience, honesty and self-awareness. One wrong step and you could trigger a shame spiral. Or just as bad, you ...Oct 4, 2020·5 min read
Grow Your Career, Be A Senior EngineerMy personal experience with navigating a career in software engineering has been dotted by fits and starts. 9 years into my professional life I can look back and see what worked, what didn't, and why. I want to share that knowledge so other young eng...Jul 11, 2020·4 min read
Why are Distributed Systems So Hard?Isn't it true you can just write deterministic code and if you do it right and work to fix all the bugs, eventually you'll have a simple that never does the wrong thing? If that's not the case then why not? Computers are deterministic - they're predi...Feb 1, 2020·3 min read
Cluster Management at LinkedInIn 2014 LinkedIn released a cluster management solution called Helix. Helix solves some problems that arise when a system scales to be too large to manage even on just a few hosts. A successful system will start to go through a few transition states ...Jan 22, 2020·2 min read