I believe in the Unix Philosophy, especially the Rule of Modularity: write simple parts connected by clean interfaces and the Rule of Simplicity: design for simplicity; add complexity only where you must.
Traits of Exceptional Engineers
- They'll dream big and push themselves, you and your team towards bigger achievements than you initially thought possible.
- They have a growth mindset. They crave feedback and new challenges that will push them to grow, they persist in the face of setbacks, they see effort as the path to mastery, they learn from critical feedback, and they're inspired and learn from the success of others.
- They make the code they own or touch simpler, clearer, easier to work with and faster to change. They do this out of habit, opportunistically and continuously.
My personal takeaways after ~5 years in the industry:
- The simplicity one is the gift that keeps giving. I’ve seen entire teams move faster and stay happier just because one or two people consistently refactored and clarified as they went. It’s quiet, unglamorous work that compounds massively.
- Helping others be great is the real multiplier. Early in my career I hoarded the hard problems to prove myself; later I realized handing them off (with support) was how I actually scaled my impact.
- The “know what’s valuable” trait has saved me more times than raw technical skill. Shipping the right small thing almost always beats shipping the wrong big thing perfectly.
If you haven’t read it, it’s a quick 6-minute read and still one of the best distillations I’ve seen of what separates good engineers from truly great ones. Highly recommend.
Source: Traits of Exceptional Engineers
Features don't sell your product. What your product does sells your product. What your product does isn't a feature, it's what it does. Features are what it does on top of what it does.
— Jason Fried, Friedisms
This opportunistic refactoring is often referred to as following the camp site rule - always leave the code behind in a better state than you found it. If everyone on the team is doing this, they make small regular contributions to code base health every day.
— Martin Fowler, Opportunistic Refactoring
There are two methods in software design. One is to make the program so simple, there are obviously no errors. The other is to make it so complicated, there are no obvious errors.
— Tony Hoare, Inventor of the quicksort algorithm
If you imagine less, less will be what you undoubtedly deserve
— Debbie Millman, Fixed vs. Growth: The Two Basic Mindsets That Shape Our Lives
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
— Martin Fowler, The difference between good and great engineers
Genchi Genbutsu
Genchi genbutsu (現地現物). Meaning "real place, real thing," this principle means "go and see for yourself," make decisions accordingly.
Source: The Age of Agile Must End