Welcome to the ultimate junior web developer survival guide! This guide is a series of multiple posts where I document and share some of my most valuable experiences, advice, learnings, lessons, answers to questions my past self had, mistakes I made (so that you don’t have to make them), and much more in an attempt to simplify and improve your life as a junior developer as much as I can.
This guide will touch upon topics that they don’t teach you in tutorials; I will be talking about non-technical matters that you learn on the job. The articles will be relatively short and concise so you spend less time reading and more time executing. 🙌🏻
Ready? Let's go!
1. Learn how to ask questions
Asking for help can be hard. And once you succeed reaching out, asking the right questions is even harder. It’s key to prepare your questions and sketch the situation as clearly as possible to outsiders.
For example: What is the context you’re working from? What are you trying to achieve? What solutions did you try and what was the outcome of it? On top of that, be specific with your questions. Rather than bluntly asking your colleague or peer “Why does this code not work?”, try something like “I’m trying to render the data from my API call here and have tried out solutions X and Y. I suspect the problem lies in this part of the code, could you explain why this approach does not solve problem Z here?”.
Gordon Zhu has written an excellent piece on asking great questions in which he shares a thorough outline of steps to take to get better at requesting and receiving help. I found this article very helpful and I encourage you to check it out too.
2. Take notes
As developers, we are learning new things every single day. With so much new information non-stop coming our way, we shouldn’t always be relying on our memory to retain all of it. Do your future self a huge favor and take notes (even if no one else around you is doing it)!
If you work through a bug or problem where you got stuck or faced some difficulty, recap and document the solution. Our brains are solving so many problems on a daily basis and we very easily forget certain solutions, even if they made sense the first time we encountered them (I know I’m not the only one). Had to Google or StackOverflow something and feel like it may come in handy again later? Jot it down. This doesn’t have to be some official or formal documentation for others to read. It doesn’t matter if you take notes digitally or with paper and pen.
Documenting your solutions and learnings does not only serve as a future reference guide, but it’s also a great way to keep a log of things you learned along the way (and therefore indirectly tracking your progress so you can see how far you've come!). You will thank yourself later. 🎉
3. Set up knowledge-sharing sessions with more experienced developers
When I started my first internship/developer job, I found it very helpful to block time to discuss certain engineering topics and concepts with a more experienced colleague. This can be just 30-60 minutes where you sit down together to improve your own understanding of something.
You might be thinking now: “Shouldn’t I educate myself and study the topic on my own first, rather than asking my colleagues to be my tutor?”. Bear in mind that this is not a lecture where you just sit back and absorb theory. You are creating an opportunity to improve your knowledge and understanding (and let’s face it, thereby also increasing your value to the company). This then also allows you to see how certain theoretical concepts are applied in practice in the company’s codebase. On top of that, don’t forget that you’re also testing your colleague’s understanding of certain topics and helping them improve their communication skills. 😉
Select some topics you might struggle with (some topics I for example asked for help with were Git and JavaScript/React testing), dive into the topic and prepare a few questions. Which parts are unclear to you? Invite other junior colleagues if you feel like it can be helpful for them too.
This is it for part 1, stay tuned for part 2! If there are any topics you are curious to read or learn more about, leave a comment or send me a message and I will try my best to cover it!
If you enjoyed reading this post or if it was helpful to you, you can support me by buying me a coffee — I'd really appreciate it. 🙏
Top comments (5)
Reading your post (and a bunch of others) made me realize that either I was very lucky to have a very slow and enjoyable start in an engineering career or I was terrible and therefore needed special treatment.
At my first job, I didn't even get to look at the code. I spent time just doing trivial tasks non-dev related (now that I think back, in reminds me of karate kid as he was forced to wipe the floor for days), going to meetings that didn't concern me, but assist and tweaking development tools.
After a while, I was introduced to writing basic tests, analyzing code, and fix minor bugs.
Months passed until I could actually have a proper discussion about how and why an algorithm was implemented in or how I can design and implement my very own feature.
Same thing happened when I switched the job (so, I already had 2 years experience as a developer). Maybe over a much shorter period of time, but similar process.
I feel like other junior devs are or were much better prepared for their first jobs. Similar to, probably, how I feel now after working for 5 years in the industry.
I just started learning on fullstack web development , Thank you for the post
Hope it helps! Best of luck your web development journey :)
Great Post,
Thanks for sharing your experience
Thanks for reading, I'm glad you enjoyed it!