Advice from a Junior Developer
Around this time last year, I accepted a position at Adapptor. I was fresh out of university after completing a Double Major in Computer Science and Game Technology, shifting from my original passion of game development to the new world of mobile apps.
While the change in career trajectories was exciting, it also meant having to use programming languages and development tools that I’d hardly interacted with before, such as React Native for cross-platform development, and Objective-C/Swift for native iOS development. Thankfully, my studies had given me enough Java knowledge for native Android development, but for the rest, I was starting from scratch.
Despite doubting my ability from the outset when it came to tackling challenges in my first job in the software dev industry, after almost a year of learning, I feel like I’ve come a long way. I’m definitely not wise–I’m still very much learning!–but here’s my advice to junior devs jumping into their first job. I hope it helps you feel a tad more settled than I did.
Don’t be afraid to ask for help (and find a mentor)
You might hesitate to ask questions, but they’re a great way to learn. Most senior developers are more than happy to answer, and can break things down in ways that you may not.
I recommend finding a colleague you feel comfortable approaching, or perhaps the developer lucky enough to be sitting beside you. Establishing a relationship like this early on can make a huge difference.
Mentors are great for bouncing ideas off, gaining feedback. These interactions helped me understand the differences between React Native’s functional and class based components, and in turn hooks–now considered best practice. They also helped me feel comfortable as a member of the development team. Working with mentors was one of the most beneficial things that I did when I started in the industry.
Fight back against imposter syndrome
When you’re a fresh-faced developer new to a field or even an entire industry, it’s hard not to fall victim to imposter syndrome. This is especially true if you’re working alongside a bunch of experienced developers.
Imposter syndrome is a wicked beast, and something I’ve personally struggled with in the past. Even though I’d graduated and spent years honing my programming craft, it rendered me feeling like I knew nothing and everyone else knew much more.
The best way to deal with the self-doubt inflicted by imposter syndrome is to fight back. Take a moment to look back at your own achievements and progress, and give yourself the credit you deserve. Although it can be difficult, try to abstain from comparing yourself to others, as self-doubt is what powers that feeling of being an imposter.
The reality that imposter syndrome hides is that you’re probably doing a perfectly good job, and the fact that you’ve landed a software development position should serve as proof of that.
Seek feedback
Asking for feedback on your work is always a good idea–no matter how experienced you are. Even if you feel like you’ve done good work, feedback can open your eyes to a more efficient solution, or make you aware of edge cases you hadn’t considered.
Some folks don’t enjoy constructive criticism, but any feedback is good feedback. While it is undoubtedly satisfying to be told that your work has been done well, it’s just as beneficial to be told that your code could be designed more efficiently. Always ask for feedback, and use it to improve yourself.
Don’t stress if things take a while to click
One of the biggest hurdles in my first few months as a junior developer was the false notion that everything I worked on had to be done at breakneck speed. While some tasks are simple and don’t cause much stress, others can be difficult and require more time to wrap your head around.
If you’re making no headway with a particular task and you’re getting overwhelmed, don’t let the stress take over. A couple of suggestions:
Step away from the problem. Jump onto an easier task if you have one. Grab a coffee, or get something to eat. Reboot and refresh. It’s amazing how giving your brain a little space often leads to it finding a solution. You’re not paid to tap at a keyboard; you’re paid to solve problems.
Seek help. It’s a cliche, but Stack Overflow is an incredible resource because there’s probably someone who has been stuck on a similar task. Ask questions of other developers. If they’re working in the same code base, chances are they’ve faced similar problems, or would be willing to tackle it with you. The reality is that some tasks are harder than others, so try your best not to stress if things take a longer than you were expecting. Development time is notoriously hard to estimate for a reason.
Create worthwhile side projects to help you learn
Whether you have some time between tasks at work, or just want to spend some of your free time honing your skills, a side project that you’re invested in is a great way to make the learning process more enjoyable.
If you’ve got a nifty app idea, why not attempt to create it yourself? If you don’t, just replicate an existing application, such as a To Do List, purely for learning purposes. You’re only going to benefit from spending the time learning how to create such a tool.
I’m interested in creating an app for tracking video game collections. Despite there already being a myriad of such apps in the App Store and Play Store, I want to create such a tool in my own image, and aim to work on it in my free time.
Working on side projects that you find interesting is rewarding and a great way to learn. You can try new technologies and approaches and–who knows?–you might even learn something you can bring back to your colleagues. I recommend it to those interested in developing their skills.
These are my five tips for making your time as a junior developer much less stressful, and hopefully, far more enjoyable. I hope they help you get off to a great start in your new career 🙂