How to thrive as a Junior Developer
I’ve been a junior developer at Metal Toad for about a year now. In that time, I’ve learned and grown more than I would have thought possible...and, yeah, that’s as exciting, and as uncomfortable, as it sounds. I’m thriving in the junior dev program and I wanted to share some things I wish I’d known back when I first started.
Always be learning, but don't worry about learning everything
Ask for help….after you’ve tried everything else
Remember to have fun
The Web development field is constantly growing, and you have a lot to learn. Hopefully you find that more exciting than scary...but at some point you will probably find it overwhelming.
First off, remember that you don’t need to learn everything (which is good, because you can’t). Focus on what you need to know to get your immediate job done; then just explore whatever looks most interesting. Learning is never really wasted, so don’t overthink this.
You’ll get a lot of advice from experienced devs about what you should study next or things they wish they’d learned earlier in their careers. Respect that your journey will be unique, but this is still really valuable information! Make sure you capture it (I recommend creating a Trello board for this purpose), but don’t let it stress you out.
Sharing knowledge is one of our values at Metal Toad, and everyone here is willing, nay, eager, to drop everything and help out a fellow Toad. So there’s really no reason to get frustrated or give up on something when you can’t figure it out. You can always ask for help, though that doesn’t mean you always should.
I’ve found that a key difference between senior devs and juniors is the ability to solve your own problems. There’s more to this than just having seen this problem before (though that certainly helps). Debugging code and using Google effectively are important skills for any developer. Asking for help too soon robs you of the chance to practice something you’re going to need for a successful career.
It took me way too long (months!) to figure this out. Turns out my memory is not as awesome as I sometimes think it is. When you learn something new, write it down and keep that note somewhere you can find it for when you (inevitably) need that bit of knowledge again.
You can use paper, or one of the many note taking apps, or whatever (it really doesn’t matter). I use nvALT (a fork of Notational Velocity) because it’s fast, searchable, and syncs with Dropbox. I’ve never regretted writing something down, but I often regret not having a note I failed to take.
The most brilliant developers spend the majority of their time failing. That’s the only way to do great things. Realize that no one really knows what they’re doing -- and that’s good! When you’re working on things you already know it means you’re not learning anything new. And then there's no chance for an Epic Win.
You (hopefully) have a long career ahead of you. Don’t treat it as a sprint, or even a marathon…it’s more like one of those long, multi-state hikes. So have fun exploring, remember to breathe, and try not to worry so much.