Things I learned as a junior

March 11, 2019 » 3 min read »

Imposter syndrome is real, but it's entirely understandable to feel that way when you start out. Having the feeling that you don't know enough, will likely end up motivating you to become a much better developer. It also means that you feel you have a lot to learn from your colleagues, which is an excellent position to be in.

Ask questions without asking the same question again

As a junior you're expected to ask questions and it would probably raise concern if you weren't. When asking the question, try to fully grasp it so that you don't need to ask it again, otherwise write it down for later use. When you're told that something is best practice - find out why and don't be afraid to question it. Without people questioning best practices we wouldn't end up with things such as React and Tailwind.

Code reviews help... a lot

The importance of having someone review your code cannot be repeated enough.

  1. It reduces bugs in production and catches out errors / typos
  2. You're less likely to submit code you're not proud of
  3. Helps with consistency and legibility
  4. Helps share knowledge

Don't take criticism of your code as criticism of you personally. You stand to gain a lot more by allowing others to review your code, regardless of whether you completely agree with their comments.

Aim to be a specialist first

Being a generalist is very useful and impressive but if you start a job that requires you to work on PHP frameworks such as WordPress or Laravel - aim to become very comfortable and confident in that realm before worrying too much about learning the next hot javascript framework. In saying that, anything that helps motivate you to develop your programming skills outside of your day job is highly encouraged.

There are great resources and tools out there to help

Tools such as TSLint or ESLint will can improve your code quality and productivity immensely. Though you may find some of the errors a little frustrating at first, if you take the time to research why those warnings and errors are displayed (e.g. when using Airbnb's ESLint config), it will make you more aware of some common pitfalls. After that as a team / individual you can make your own mind up as to whether you agree with having that option as an error / warning.

In addition to that, here are a few other things I recommend looking into:

  1. Podcasts such as Syntax.fm is one of my favourites and they cover very relevant topics
  2. Learning resources such as Udemy, Laracasts and freeCodeCamp
  3. Meetups through websites such as Meetup as well as conferences
  4. Management tools such as Todoist and Trello

Try to build things you'd personally find useful

Finding motivation outside of work can be tough sometimes and thinking of ideas outside of a to-do list or a weather app may not come to you that easy. If you can think of a hobby or interest of yours that may benefit from your knowledge of it as well as programming, you will likely be a lot more driven to complete it.

Embrace being confused about problems

Once you begin to work on something that you know all the answers to and have done it a bunch of times before... your days tend to go a lot slower. Take a can-do attitude to problems that are thrown your way, often after breaking them down into smaller pieces you'll be surprised how feasible it actually is.