4 Things a Junior Web Developer Should do to Combat Imposter Syndrome

You might feel like a sacrificial lamb to the code slaughter, but fear not, I have some 🔥 tips for you! — Photo by Rod Long, provided by Unsplash.com

I have been in the web development industry for just a year and a half now-starting in HackerYou’s front-end immersive bootcamp, and landing a job as a front-end software developer shortly after. I made a change from being a server at a restaurant to being a fully employed web developer in 4 months. Getting a full education and a job in a completely new industry in such a short amount of time makes it — at least it did for me — very hard to avoid imposter syndrome.

You might find yourself confronted with how little you know — and how much there is to learn. Instead of focusing on learning a chosen programming language inside and out, I recommend learning process/workflow skills which will be useful no matter what kind of technology you decide to work in.

The skills I find are most important when starting out are;

  • how to navigate your text editor
  • feeling comfortable in the command line
  • working collaboratively on a team

1. Know Your Text Editor And Its Keyboard Shortcuts

Before I started at HackerYou I wanted to make sure I was really comfortable maneuvering through my text editor. I had been doing a little bit of work in Sublime Text and decided to spend some time ‘streamlining’ my workflow by feeling extremely comfortable with the software I was using. This meant knowing a lot about different customization options and how to quickly navigate around a text file.

To do so, I read through Wes Bostextbook on mastering sublime which does a great job outlining a lot of aspects of the software that have been improved by the community which you wouldn’t necessarily know about if you were to just use the base software. The book helps you really feel comfortable with your text editor, and different add-ons which help you in your day-to-day programming tasks.

What is most important is to find a resource that focuses on improving your workflow, and increase your knowledge of the software you are writing code with. In my personal experience, I have found that when I reach for my mouse/track-pad to navigate through a document, there is often a keyboard shortcut that will increase the speed of the task.

Here are some of my go-to favs:

  • close a document (cmnd + w)
  • create a new document (cmnd + n)
  • jump to the beginning/end of a line (cmnd + left/right)
  • jump to the beginning/end of a word (alt + left/right)
  • select text with your keyboard (shift + left/right)
  • find a highlighted word in the document (highlight a word, then press cmnd + d or make use of cmnd + f functionality)
  • find another file in your project (cmnd + p to open the prompt)

I recommend bringing these keyboard shortcuts into your workflow — and as mentioned before, almost any time you reach for your mouse is a time when you probably can use a keyboard shortcut to do the task instead. I have found that being fast and comfortable with keyboard shortcuts has helped my confidence immensely when pair programming or during live code reviews with my team leads.

2. Gain Confidence with your Command Line

What a terminal looks like pre-customization

The command line is an important interface for web developers which allows them to make use of new web programming technologies from task runners and build tools to full JavaScript libraries like Angular or React. For new front-end developers the command line can be a daunting and opaque box. As you continue your learning in web development you will find yourself interacting with the command line more frequently, and for similar reasons to knowing your text editor really well, it pays off to know your command line really well.

My terminal, after customization.

Wes Bos also has a great series called Command Line Power User which is completely free video series on YouTube! It not only gets you comfortable with the command line, but helps you style it and create a better working environment for web development which makes it feel more comfortable to be in! A lot of junior developers value good UI as well as good functionality, and his video series helps you really customize your terminal to make it feel more approachable.

As a bonus, Talia Marcassa also wrote a fantastic article on how to set up your command line to open Sublime in a project folder, which is an incredibly useful thing to have set up.

3. Understand Git Flow/Version Control and Collaborating on a Code Base

When you start your career as a web developer, a lot of the projects you’ll be working on will be highly collaborative. Working with multiple people touching one codebase, you’ll have to start looking into version control software. It is so very important to feel really comfortable with this software, because you will be spending a lot of time working with it and collaborating with it.

Git and GitHub are some of the more well known version-control and team collaboration softwares — but most of the options out there function in similar ways. When working with Git/Github it is important to feel comfortable doing the following this;

  • Creating a local git repository
  • Creating a remote git repository on GitHub
  • connecting your local repository to your remote repository
  • Adding your changes locally
  • Saving your changes locally
  • Syncing your local changes to your remote repository.
  • Learn how to create a branch, and navigate between branches, as well as merging your branches into each other

These 7 things are important for a very base level understanding of how to collaborate using Git and GitHub. A recent article was written by Brandon Morelli called You Should Have Learned Git Yesterday which goes into more tools and flows using git.

note: I’ve recently transitioned to using only VisualStudio Code for my text editor. One of it’s built in features makes cumbersome Git functionality like merge conflicts and branch diffs much easier to handle.

4. Mentor and Volunteer Your Time

Most people tell you to volunteer to be a mentor because it looks good on you when you’re looking for a job. I am going to take it one step further and say you should volunteer to be a mentor because it is good for your learning and personal growth. With mentoring, you can really re-enforce the foundations of your knowledge — and also be challenged in your understanding. You may be able to code something, but can you explain it to someone else? The latter usually means you need a deeper understanding of the concept and you can explain it in at least 3 ways.

The most aggressive way I stave off imposter syndrome is by mentoring new learners. With each junior developer I meet, I often try to push them to mentor more junior people than themselves. This is so important in a world of coding bootcamps where new developers find success very early in their career. When you are mentoring someone who is literally starting at the beginning of their journey, it is really easy to see how far you’ve come and how much you learned.

A great place to volunteer to mentor is at your local Ladies Learning Code (LLC) workshops and events. LLC usually hosts many workshops like “Building a 1 page website” or “Introduction to JavaScript”, and they are always looking for mentors. They also have more casual coffee and code meet ups which are a great way to drop in and get help with a project or help other with their project!

You’re a Forever Learner! 🌈

This may seem like a lot of information to people who are new learners or newly in the industry. It’s important to also know that if you don’t have these skills yet that is okay. These are merely the skills I think are important for a new developer in the industry — and other people might value other skills/knowledge. Don’t let that imposter syndrome set in!

The truth is you will always be learning new things in web development, and the metaphorical dust will never settle. Luckily, the more you learn, the easier it becomes to learn and recognize simple patterns. In my experience, the speed at which you learn isn’t linear, but explosive and exponential — the more you learn now, the easier and faster you will learn down the road!