12 Bits of Advice I Wish I Knew
as a Junior Software Engineer

Beginning a career in software engineering can be an overwhelming experience, particularly given the rapid evolution of technology. The software engineer's role is diverse, involving various tasks and exposure to many technologies, frameworks, and applications.

Throughout my journey, I've gathered insights that I wish I had known during my early days as a junior.

My Path in Software Engineering

My story began conventionally with university studies, followed by exploration into the realm of Business Analysis, where I eventually landed a research role at the Council for Scientific and Industrial Research (CSIR). While working on projects involving software development, adherence to coding standards was not my primary focus; it was more about achieving proof of concepts and minimal viable products (MVPs).

Transitioning to my first junior role, I joined a fintech company in Cape Town, where I confronted the challenges of a high-pressure, fast-paced environment dealing with diverse tech stacks. Despite the initial difficulties, the experience proved invaluable in shaping me into the developer I am today.

My technical knowledge expanded significantly, complemented by the acquisition of essential soft skills—interacting directly with users, managing clients, and navigating high-pressure situations. After several years, I progressed to a senior role at Entelect, where the emphasis on employee growth and collaboration has contributed to my ongoing skills development.

The 12 Pieces of Advice for Aspiring Software Engineers

Reflecting on my journey, I've identified some key bits of advice that would’ve really had an impact early in my career as a junior software engineer.

1| Doubt Not Your Abilities

Remember, your current position is a result of your skills and efforts. If the nagging voices persist, understand that competence develops over time through experience and hard work.

2| Embrace Continuous Learning

Technology doesn’t stop so it’s important to cultivate a mindset of perpetual learning. Invest time outside of work to explore courses and resources that enhance your skills.

3| Confront Imposter Syndrome

Imposter syndrome is normal, even for seasoned developers. Reflect on your accomplishments and seek support when you need it. It helps to talk to others and understand that you’re not alone.

4| Seek Guidance from Mentors

Experienced developers mostly enjoy sharing knowledge. Respect their time, try to find solutions on your own first, and approach them with thoughtful questions.

5| Watch Educational Videos

Supplement your learning by casually watching YouTube videos or online courses. Exposure to new concepts, even in small doses, can contribute to your growth.

6| Revisit Clean Code Principles

Regularly revisit "Clean Code" by Uncle Bob to refine your coding practices. Practicing code cleanliness accelerates your understanding and improves your workflow.

7| Familiarise Yourself with Design Patterns

Understanding design patterns allows you to apply proven solutions to coding challenges. Gradually explore different patterns to enhance your problem-solving skills.

8| Put Knowledge into Practice

Actively code and experiment with what you've learned. Break things, rebuild them, and solidify your understanding through hands-on experience.

9| Master the Art of Problem-Solving

Learn effective Google and Stack Overflow search techniques. Pay attention to error messages, seek input from others, and cultivate a mindset of trying different solutions.

10| Embrace the Journey

Becoming a senior developer is a gradual process. Be patient, stay committed, and acknowledge that continuous learning is a lifelong pursuit.

11| Challenge Yourself

Step out of your comfort zone by volunteering for tasks that stretch your skills. Adopt an attitude of figuring things out, seeking help when needed, and learning from challenges.

12| Progress Over Perfection

It’s a cliché but it’s true. Growth is a journey, not a destination. Be diligent and stay enthusiastic. Knowledge takes time so enjoy the ride.


Pay It Forward

As you progress in your career, remember that someday, you’ll be the senior engineer that juniors will look up to and seek guidance from. Embrace the opportunity to pay it forward – I can guarantee you’ll learn a lot along the way.