h3
Retro Gaming Setup: A Beginner's Guide
h3
There Are Great Tools in Your bin/ Directory
h3
Smart Assholes: A Probing Examination
h3
Strengths Only: A Peer-Review Philosophy
h3
Programming Podcasts: A Roundup
h3
A Branching Strategy Simpler than GitFlow: Three-Flow
h3
Software Engineering Guiding Principles - Part 2
h3
Software Engineering Guiding Principles - Part 1
h3
My StrengthsFinder Results
h3
Star Wars Machete Order: Update and FAQ
h3
The Worst Programming Interview Question
h3
Top 10 Career-Changing Programming Books
h3
Brief Thoughts on Software Craftsmanship
h3
Getting "Real Work" Done
h3
Traveling Salesperson: The Most Misunderstood Problem
h3
Need-Driven Development
h3
Computer Science and Telescopes
h3
The Star Wars Saga: Introducing Machete Order
h3
Why The Complete Bipartite Graph K3,3 Is Not Planar
h3
I Broke Your Code, And It's Your Fault
h3
Magic Variables Aren't Always Magic
h3
Mechanics of Good Pairing
h3
What Is Technical Debt?
h3
When To Work On Technical Debt
h3
A Different Kind of Technical Interview
h3
Agile With a Capital “A” Vs. agile With a Lowercase “a”.
h3
Finding High-Impact Areas for Refactoring
h3
Avoiding The Big Design Interview Question
h3
You Have To Buy It Twice Before It’s Cheap
h3
Units are Not Classes: Improving Unit Testing By Removing Artificial Boundaries
h3
My Personal 3 Pillars of Job Satisfaction
h3
Enhancement vs. Defect: More Than Pedantry
h3
5 Ways To Hose Your Estimates
h3
I Love Pair-Programming
h3
My Least Favorite Interview Question
h3
Java Compiler Generating Secret Methods
h3
The Innovation Paradox
h3
M.S., Computer Science
h3
B.S., Computer Science
h3
JaSoMe (Java Source Metrics)
h3
Tech Lead, Backend Engineering (2021-Present)
h3
Staff Software Engineer (2017-2021)
h3
Principal Engineer (2011-2017)
h3
Technical Lead (2008-2011)
h3
Senior Software Engineer (2007-2008)