Personal Growth · October 5, 2024 · 3 min read
Two Years in Software Taught Me to Stop Rushing Growth
I wanted career progress to happen quickly, but two years of professional work taught me that dependable growth comes from patience, communication, humility, and repeated practice.

Have you ever felt stuck in your career or faced a lack of progress, and find yourself eager to accelerate in your career level as quickly as possible? I’ve been there, and I’ve experienced the emotional highs and lows that come with it.
Over the past two years, I’ve reflected deeply on this journey and continue to focus on areas for improvement. Here are some key lessons I’ve learned along the way:
Understand That Growth Takes Time
No matter your industry or the skills you're trying to master, one truth remains constant: growth takes time. As a Junior Developer, I’ve realized the importance of being patient with my progress. Rushing through the learning process can prevent you from truly absorbing the knowledge needed for long-term success.
At Southern Leyte State University, where I worked as an assistant programmer, I was fortunate to gain experience managing projects from start to finish, which gave me a boost in confidence. However, now working as a Web Developer at Forty Degrees Celsius Inc., I’ve come to realize that, to step up to a Senior role, I need to refine several critical skills:
- Write more efficient and maintainable code
- Develop a cleaner coding style
- Analyze codebases from a broader perspective
- Consider the bigger picture in decision-making
- Deepen my technical knowledge and practical experience
Developing Soft Skills
As developers, we often focus solely on technical expertise, but to truly excel, strong soft skills are equally essential. It's not just about writing good code; it's also about being able to convey ideas and collaborate effectively.
Express Technical Problems Clearly
We frequently need to explain complex technical issues to non-technical people. I’ve found myself in situations where I struggled to articulate my challenges, which made it harder to find solutions. Learning how to break down technical problems for a broader audience is a skill I’m working on.
Communicating Effectively
Good communication isn’t just about solving immediate problems; it’s about ensuring that everyone on your team is on the same page. Whether verbal or written, conveying information clearly is essential for a well-functioning team.
Mastering Teamwork
Collaboration isn’t always straightforward. At times, teamwork can feel overwhelming, especially when roles aren’t clearly defined, or you’re still learning how to leverage each team member’s strengths. Even if you’re not in a leadership position, understanding how to contribute effectively to the team dynamic is vital.
Being Dependable
Independence and problem-solving are key traits in any role. Often, you’ll need to work on your own, assess risks, and provide solutions. Reliability isn’t just about coding prowess; it’s about consistently stepping up when challenges arise and owning the outcome, whether it's a success or a setback.
Confidence vs. Cockiness
Confidence as a developer is crucial, but it’s easy to blur the line between confidence and arrogance. I’ve worked with cocky developers—both junior and senior—and their input was often dismissed due to their attitude. True confidence comes from being open to questions, contributing in meetings, and engaging in discussions with humility and curiosity.
Focusing on Improving Technical Skills
When it comes to technical development, I remind myself of the 80:20 rule: 80% of the time, you'll be using 20% of the skills you learn. Mastering the fundamentals lays the foundation for long-term growth in my experience. As my career progresses, refining the core concepts allows me to improve consistently and adapt to more complex challenges.
Embrace Decision-Making
As a junior developer, making decisions can be daunting. The fear of mistakes is real, and the weight of potentially costly errors can cause hesitation. However, I’ve learned that mistakes are part of the process, and growth often comes from reflecting on these experiences. Fortunately, I’ve been in an environment that nurtures learning, where errors are treated as opportunities for growth.
When faced with a difficult decision, don’t hesitate to ask for advice from more experienced colleagues. Take notes, reflect, and apply the lessons learned the next time you encounter a similar situation.
What I learned
I learned that becoming a stronger developer is not a race through job titles. Technical judgment, communication, teamwork, and dependability develop together, usually through small decisions repeated over time.
How it changed my thinking
I pay more attention to fundamentals, ask experienced colleagues for context, and keep notes from decisions and reviews. My goal is no longer to appear advanced quickly, but to become someone a team can trust with increasingly difficult work.

