How To Learn As A Remote Junior Developer

The developer world is quickly changing because of COVID-19, and it seems most of us will be fully remote for a long time to come.

I started my first developer job at Neo Financial last fall and like most of the world, we went remote in March to help flatten the curve. Although I had a headstart of a few months on being totally new to life as a developer, I found the adjustment to becoming a fully-remote junior in a fast-paced startup particularly challenging.

There are plenty of lists about how to be productive in your home office - get a desk, take breaks, get dressed, etc. - but I found that these weren’t enough. In addition to adjusting to the new norm, I was also learning how to be a real developer.

For those of us in a junior role, it’s not just a matter of self-discipline. It’s about staying motivated to continue when you face never-ending errors, short deadlines, and less (or sometimes no) access to seniors for help.

For the first half of self-isolation, I kept pushing things aside saying ‘I’ll get to this when we’re back in the office.’ But as days turned to weeks, I realized that I needed a totally new mindset in order to leave this period of time a better developer instead of just surviving and maintaining.

Let Yourself Feel Success

It’s easy to see everything you haven’t accomplished.

When you give yourself a to-do list with items that span multiple components and pages, you set yourself up for disappointment. You begin and end the day with one task, and don’t complete it. This is why I started looking at my bigger projects and finding every small task. It’s kind of cheesy, but crossing off that to-do list is gratifying.

No one becomes a developer because it’s easy.

In fact, studies have shown that that motivation actually helps you to complete more tasks. When splitting these tasks up, give yourself a reasonable deadline -- that way you can walk away from it if you need to, or reach out and find help from a senior or on Stack Overflow after you’ve passed the allotted time.

Take Time to Invest in Learning; Don't Just Do

I fell into the terrible habit of copying and pasting solutions into my code that I didn’t understand.

ROOKIE MISTAKE, I know.

But isolation made it so much easier to just do it to get it done and move on. When I realized that this was only to my detriment, I made a rule that turned my lack of motivation on its head: if there is something that you don’t know how to do, the first place you should look is in the docs. Not google, not Stack Overflow, but the real, original docs. And while you are in the docs, read that whole page instead of just the small piece that might help you. This seems obvious, but the day I decided to do this things really started to turn around for me. Doing this gave me a deeper understanding of the technology that I was working with and my code quality improved overnight.

On a similar note: track the things you learn.

Because I'm a junior, so many things that I use day-to-day are totally new to me. I started keeping a list of new concepts and tricks that I had learned (surprise! Most of them came directly from the docs!) and I was shocked to see my progress after every single day. It’s like a reverse todo list.

How To Learn As A Junior Developer

Teach Others

Feeling isolated can seep into your state of mind and affect your overall mood and productivity. In mid-March, I volunteered to mentor a group of teens for the Technovation Challenge. As a junior I’m so used to there being some senior out there who has seen my issue before, but for this group of teens I was the only experienced developer to help them. This really pushed me to think differently and never take ‘no’ for an answer. This was their passion project and I wasn’t about to disappoint them because I couldn’t find a way to work around their technical issues. Their motivation also gave me a sense of community and an energy that I just hadn’t been feeling while working remotely.

You don’t have to dive into the deep end of teaching the way I did. Contribute to Stack Overflow’s community or jump on some coding subreddits and help beginners learn how to write loops and use REGEX. In addition to much needed social interaction, explaining coding concepts will solidify your own understanding and build your confidence as a developer.

How To Learn As A Remote Junior Developer

Remember Why You're a Developer

I know that a lot of bootcamp grads (myself included) took a chance on this career because we want to feel challenged.

At the beginning of self-isolation, I was really dreading some of the tasks that I knew I had to complete for work. But I just needed to be reminded that this is the best job in the world and my potential is as high as the effort that I put in (that’s a lot of cheese, I know). Since making these changes in my mindset, I’ve been feeling so motivated to come up with creative solutions to complex problems--the one true love of every developer.

And, if you’re feeling drained from work tasks, learn something new or make something fun. Try teaching yourself to DJ with Sonic Pi or make an app like this one that finds you the fattest cat that is up for adoption at the San Francisco SPCA. No one becomes a developer because it’s easy. I think the best motivation for succeeding as a remote junior is to remind yourself that every roadblock is just another opportunity to become better at what you do.

Kat Connolly is a Lighthouse Labs web development bootcamp graduate and developer at Neo Financial.