15 Lessons From 15 Years in Tech
15 hard lessons learned from a Software Engineering Director at Oracle!
Intro
I’ve made many mistakes throughout my 11+ career in the engineering industry and I learned a lot from them. But one thing I didn’t do so well is to learn from mistakes from others.
I didn’t actively look for mentorship and coaching and there weren’t a lot of books on pure Engineering Management back when I first became a manager to help me with this transition.
Even though I still progressed all the way to CTO, I believe that my progression would be a LOT easier with good mentorship support.
"It's said that a wise person learns from his mistakes. A wiser one learns from others' mistakes. But the wisest person of all learns from others's successes"
— John C. Maxwell
This is very important to keep in mind and that’s exactly the goal of today’s article.
Lucky for us, we have Owain Lewis with us today as a guest author. Owain has 15+ years of experience in the tech industry and in his career, he grew from an engineer all the way to being a Software Engineering Director at Oracle.
He’ll be sharing 15 lessons that he has learned the hard way. Let’s get straight into them.
Owain, over to you!
After 15+ years in tech as a principal engineer, tech lead, manager, and now Director, I’ve learned some hard lessons
Tech changes fast, but certain principles stay the same.
These lessons have helped me navigate challenges at work, grow as a professional, and deliver results. Maybe they’ll help you too.
Here are 15 lessons I’ve learned along the way:
1. Good Code Can't Fix a Bad Product
One common mistake I've observed repeatedly is projects being driven by technical enthusiasm rather than product necessity.
Engineers often dive into building features without fully understanding whether they address real user needs or business problems. Document assumptions and validate them before writing code.
Project cancellations are incredibly painful for everyone, and they’re often the result of brilliant tech solving the wrong problem.
Key Takeaway: Start with the problem, not the solution. Understand the "why" before focusing on the "how."
2. The Power of "What If We Do Nothing?"
Not every piece of technical debt needs fixing. Not every feature deserves building. Sometimes, doing nothing is the best move. Prioritisation means choosing from the endless things teams “should” do, and selecting the few things that really matter.
Key Takeaway: Ask "What happens if we do nothing?" to gain perspective on priorities. Often, the answer reveals that urgent-feeling work isn't actually important.
3. There's No "Best" Solution
Heated debates over the perfect language, architecture or framework often miss the point entirely. Every technical decision involves trade-offs: speed vs. maintainability, simplicity vs. flexibility, familiar tools vs. better technology.
Key Takeaway: The goal isn’t perfection, it’s finding the right balance of trade-offs for your specific context.
4. Simple Solutions Win
As engineers, we love sophisticated solutions. Microservices, event-driven architectures, the latest trends. But simpler approaches often prove more resilient and maintainable.
Remember: you build once, but maintain forever. You might be happy about that clever solution now but you won’t be when your pager goes off at 2am.
Key Takeaway: Start simple. Only add complexity when absolutely necessary. Simpler systems are easier to understand, debug, and extend.
5. Business Context is Everything
Understanding the business isn’t optional, it’s critical for making sound technical decisions. The more you know about the business, the more opportunities you’ll find to grow your career.
Key Takeaway: Invest time in learning your company’s business model, market constraints, and strategy.
6. Be Helpful First
Want to accelerate your career? Focus on helping others succeed. Thoughtfully review pull requests, ask your manager what they need help with, jump in when someone’s stuck, and freely share knowledge.
Helping others makes you more valuable, helps you learn faster, and also creates a better work environment.
Key Takeaway: People notice those that help others. Managers, engineers, and even executives. Build a reputation for being helpful.






