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.