My 7-Year Journey as a Software Engineer
Reflecting on my 7-year journey from a junior developer to tech lead. Lessons learned, challenges faced, and insights for fellow developers navigating the ever-evolving tech industry.

It’s been seven years since I wrote my first line of code, and I can honestly say that the journey has been full of growth, challenges, and rewarding experiences. From starting as a associate developer to leading projects as a tech lead, this path has taught me a lot about both technical and personal growth. In this post, I’ll share the key milestones in my career, some hard-learned lessons, and how I’ve navigated the ever-evolving world of software development.
The Beginning: From Code Newbie to Junior Developer
Like many developers, my journey began with curiosity. I started out in 2017, eager to learn and explore the world of web development. .NET was my first love, and I quickly immersed myself in learning the basics HTML, CSS, and JavaScript through online tutorials, books, and hands-on practice. Those early days were filled with a lot of trial and error, but the sense of accomplishment that came with solving problems kept me going.
Early Challenges
One of the hardest parts of being a junior developer is that everything feels new and overwhelming. I remember struggling with understanding how APIs worked, trying to figure out the difference between front-end and back-end logic, and getting comfortable with version control systems like Git. But with persistence, things started to click.
In the early stages, I found that working on small projects helped solidify my learning. Building simple applications, like to-do lists and weather apps, gave me a sense of achievement while exposing me to fundamental programming concepts.
Mid-Career: Moving to Fullstack Development
As I gained confidence in React front-end development, I realized that to grow, I needed to understand the full stack. In 2019, I started exploring Node.js and backend development. This shift opened up new possibilities and allowed me to contribute more holistically to projects. Around this time, I was also diving deeper into hybrid mobile development with React Native.
Transition to Fullstack Development
The transition to fullstack development was a significant turning point in my career. I began to work on more complex projects, handling both the frontend and backend. I learned how to build APIs, manage databases, and deploy applications to cloud environments. Understanding the entire lifecycle of an application gave me a broader perspective and more ownership over my work.
One of the most valuable lessons I learned during this time was the importance of clean, maintainable code. Writing code that others (and future me) could understand became a priority, and it’s something I continue to focus on today.
Growing into Leadership: From Developer to Tech Lead
Fast forward to 2024, I found myself taking on more leadership responsibilities. I became a tech lead, guiding a team of developers through projects, making architectural decisions, and balancing hands-on coding with managing the team’s progress. This new role required a completely different skill set.
Leadership and Mentorship
As a tech lead, I quickly learned that technical expertise alone wasn’t enough. Leadership required empathy, communication, and the ability to see the bigger picture. I had to ensure that everyone on the team was aligned, motivated, and empowered to do their best work.
Mentoring junior developers became a big part of my role. Helping others grow reminded me of my own early struggles, and I made it a point to offer the support and guidance that I wished I had when I started.
Key Lessons I’ve Learned Along the Way
Looking back, there are several key lessons I’ve picked up during my journey:
- Never Stop Learning: Technology changes fast. Keeping up with new tools, frameworks, and best practices is crucial to staying relevant. Regularly investing time in learning, whether through courses, reading, or side projects, has been a game-changer.
- Balance Depth and Breadth: Early on, it’s tempting to learn a little bit of everything. While that’s great for getting started, I found it equally important to dive deep into specific areas, like JavaScript frameworks or cloud architecture, to build true expertise.
- Mentorship Matters: Having a mentor is invaluable, but being a mentor can be just as rewarding. Teaching others solidifies your knowledge and creates a collaborative environment that benefits the entire team.
- Embrace Challenges: Some of the most significant growth happens outside your comfort zone. Don’t shy away from complex projects or leadership opportunities. Each challenge is an opportunity to learn.
Looking Ahead: What’s Next?
While I’ve accomplished a lot in the past seven years, I’m always looking ahead. One of my current goals is to continue refining my leadership skills and expand my technical expertise, especially in cloud technologies like AWS and in new languages like Golang.
This blog is another step in my journey, as it allows me to reflect on my experiences while helping others navigate their own paths in software development. I’m excited to see where the next seven years take me!