Member-only story
The Most Important Lessons I’ve Learned From Senior Software Engineers
The sooner you learn these, the better

The most crucial software engineering lessons I’ve learned come from two sources:
- Failed projects
- More experienced developers
Here are some important lessons I’ve learned from senior developers throughout my career.
None are black and white, and there are always exceptions. Only experience can guide you regarding when a rule should be applied or ignored.
Let’s dive in.
Stop Over-Engineering
Nine times out of ten, building more infrastructure, features, or abstraction than necessary is a waste of time.
This is especially true if you work at a startup, where product direction can change with the wind.
While rare cases exist when over-engineering worked out (i.e. WhatsApp), it’s not a good idea for most companies.
I know this firsthand. Having spent most of my career in startups, I’ve written tons of code that never made it to market or gained traction at all.
Over-engineering has two causes
- Inexperienced PMs who won’t cut…