Starting out as a Junior Software Developer can be challenging, but if you are motivated and results-oriented then 6 months is enough to acquire the necessary skills to get hired at an entry-level role. From then on, it comes down to experience, work ethic, and the will to level up to be able to advance to a senior role in the Software Development space.
As an IT Engineer, I have taken on multiple roles in IT and some were Software Development related. What I’ve learned is, specializing in a particular technical discipline can be a challenge for many practitioners in the IT industry given the current job market.
Coming out of university, I had a systems admin intense technical background. I have to be open-minded to different on-job challenges. Every job I got exposed me to different roles and duties which in this day and era is almost very good on paper for any professional looking to blossom their portfolio.
As a Junior Software Developer, it never gets any easier. In fact, it goes way downhill before it gets better for most Developers. For me, programming was not my strongest capability coming out of university back then. It’s safe to say, I didn’t give it a lot of attention and it didn’t endear itself to me either early on in my career.
Years later, I realized the professional roadmap I has set for myself required a well rounded Tech Engineer portfolio and 1-2 programming skills would be ideal. I’ve also had a number of struggles improving my development skills as my learning curve is rather steep.
In 2019, I left a well-paying managerial level job and ventured into Software Development. The field requires you to start out at an entry-level which in this case is a Junior Software Developer. To date, I’m no longer working as a Junior Software Developer. But the skills I acquired have been key to my professional growth.
The struggles of a junior developer are those most people ignore and often overlook when addressing Software Development issues or even mentoring Junior Software Developers. I’m blessed to have the best mentor and colleagues during the period I worked as a Junior Software Developer.
Here are my take-aways from working as a Junior Software Developer.
- Junior Software Developers struggle a lot with “tutorial purgatory”. It’s advisable, as a Junior Software Developer to limit the use of tutorials because you will often spend more time on tutorials and less time actually doing any Software Development work. I know because I’ve been a culprit.
Tutorial purgatory is real. I found this interesting read by Tony Mastrorio on FreeCodeCamp; How to escape tutorial purgatory as a new developer — or at any time in your career, which I think is one of many reads all Junior Software Developers need to read and one I wish I read when I was starting out.
Jack Ma once joked;
“Before you turn 30 years old, follow somebody. Go to a small company. Normally, in a big company, it is good to learn processing; you are part of a big machine. But when you go to a small company, you learn the passion, you learn the dreams. You learn to do a lot of things at one time. So before 30 years old, it’s not which company you go to, it’s which boss you follow. A good boss teaches you differently.” -Quote source: According To Jack Ma, This Is What Your Life Should Be Like Between 20 And 60 Years Old published by Liang Hwei.
- As a Junior Software Developer learning struggles and tasks execution problems never end. But having the right people with positive energy, tolerance and dedication go a long way to help in the transition process of a Software Developer in the Software Development space.
- Software Development is both hard and easy and most Junior Software Developers often struggle coming to peace with this reality. In most cases, it’s because of ego and sometimes due to lack of proper guidance and mentoring. Being able to make peace, and patiently addressing any challenges on a day by day basis is helpful, moving forward. Personally, I struggled with prioritizing my tasks and projects. Sometimes I got so overwhelmed and stressed I felt like giving up but then I remembered why I started.
Working with experienced developers, technologists and visionaries has been a great help towards overcoming a lot of challenges.
- Procrastination is a never-ending struggle. A lot of Junior Software Developers, make excuses for handling blockers immediately. They try to deal with problems later rather than now. It’s important to understand that the problem never really goes away. Rather it feeds into your next day’s tasks, plans and problems for that matter.
- There is something called the Magpie Syndrome, where a Junior Software Developer is constantly jumping onto new technologies, programming methodologies, frameworks out of either procedure inexperience or little technical knowledge. Therefore a Software Developer ends up trying everything. This time-wasting, wastage of recourses leads to irreversible errors or situations of misguided implementations.
- Communications and teamwork challenges can also be a real pain with Junior Software Developers. I thought I was a great communicator on teams until I moved to the Software Development space, where I realized I had so much learning to do. Communication on project and task progress is key.
Being able to articulately report on tasks and projects is even better. Most importantly, you need to know, understand and align yourself with your team’s collaboration language. Think of it the way Gary Chapman breaks down communication in his book The 5 love Languages.
- As a Junior Software Developer learning new technologies, stacks and languages can be a big challenge. Therefore you need to exercise a great deal of patience and have the willingness to listen. If you can’t listen and take constructive criticism then Software Development is not your calling. Knowing where to find or seek the right advice and tools is instrumental to a Junior Software Developer’s Professional growth.
Depending on your stack, technology industry and workflow, knowing the right forums, chat rooms, and knowledge bases is very important. Start with Stackoverflow and move on from there.
As a Junior Software Developer looking to carve a path for yourself in the Software development space, try to get into the habit of talking about your conquests and celebrating the small successes too. If possible, teach someone else what you’ve learned or share it in form of technical writing. This reduces the chances of you forgetting what you’ve learned. And it gives you room to learn from others in the networks your build.