As an IT Engineer, specializing in a particular technical discipline has been a challenge like it is for many practitioner in the IT industry given the current job market. Coming out of university with a systems admin intense technical background back then, every job I’ve taken on there on has 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. So to say anyways!
As a junior developer, it never gets any easier. In fact it goes way down hill before it gets better. For me programming was the weakest link on my chain of capabilities. 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’m paying dearly as my learning curve is rather steep.
In 2019, I left a well-paying job for reasons I will reverse to myself due to professional courtesy and the decision on my next career led me to development. I left a job were i was at a managerial level for a job as a junior developer which instantly threw me at the bottom for the food chain so to joke.
But that’s history now.
The struggles of a junior developer are those most people ignore and often overlook when talking development or even mentoring junior developers. I’m blessed to have the best mentor and colleagues for developers. So let’s get into the thick of things as far as the “The Hidden Struggles of a Junior Developer” is concerned.
Let’s start with “tutorial purgatory” as its one of the hidden problems at junior developers face. As a Junior developer, I would advise you to stay away from tutorials if you find yourself spending more time on tutorials and less time actually doing any programming work. I know because I’ve been a victim until I decided to start cutting the habit.
First and foremost, tutorial purgatory is real people and you need to know when you become a victim if it. 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 developers need to read and one I wish I saw early when I was starting out.
It’s not something you do overnight but it’s worth it. I have deleted all my tutorial downloads and have been sticking to reading short walk through tutorials online that way I don’t procrastinate when I get lazy. Video or document tutorials you download give you the feeling of “I will check it tomorrow” to the extent of never actually doing anything. So please if you are just starting out, stay away from tutorials. Only go to them when absolutely necessary.
Today, my steady progress is attributed to my work environment, my current boss, also mentor and senior developers within the company I’m working for. We are a small company but as 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, Author at Vulcan Post 5 years ago.
I have had my learning struggles and still do but having the right people with positive energy, tolerance and dedication has gone a long way to help me transition into development.
Development is both hard and easy. You have to make your peace and patiently counter the challenges thrown at you day by day. Junior Developers struggle coming to peace with this mostly because of ego and sometimes due to lack of proper guidance and mentoring. Personally, I struggle with balancing personal time & work time, work projects & side projects, what to learn & what to ignore, how to properly prioritize and plan for tasks and projects. Sometimes I get so overwhelmed and stressed I feel like giving up but then I also remember why I started.
Working with the right people and being in circles of experienced developers, technologists and visionaries has been a great help towards overcoming these challenges.
Procrastination is a never-ending struggle. As a junior developer, blockers can feel like excuses to deal with the problem tomorrow but you need to understand that the problem never really goes away, rather it feeds into your next day’s tasks, plans and problems for that matter.
Then there is the Magpie Syndrome of which I know a few junior developers who have been victims. Sometimes it’s not even about liking new things but rather the inexperience as to which stacks to use that leads Junior Developers to try out new things. Since one has no idea what to use, thus ending up trying everything.
Then is there communications and teamwork. I thought I was a great communicator on teams until I moved to the development world and 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. But the most important of all is knowing 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 developer learning new technologies, stacks and languages can be a big challenge. A lot of patience and willingness to listen is needed. If you can’t listen and take constructive criticism them development will fail, you. Knowing where to find the right gems in terms of advice and tools is also a problem the less emphasized enough.
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.
Lastly, as a Junior Developer looking to curve a path for yourself in the development space, try to get into the habit of talking about your conquests and celebrating the small successes too. If possible, teach someone else on 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.
I came from a job where I was a manager supervising for a team of automobile engineers to a job where I’m at the bottom of the food chain. This took a lot of courage but the lessons and successes are so much more worth it. My growth since has been challenging but very fruitful.