Job hunting 101 for junior developers
Tags: career, webdev, beginners
Published: 2020-10-13 21:56:04

<figcaption><span>Photo by <a href="https://unsplash.com/@geerald?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Gerald Schömbs</a> on <a href="https://unsplash.com/s/photos/shark?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span>. Modified by Vitaly Krenel</figcaption>

It's okay, Shark, I've got you covered.

The job looking process can be split into 2 stages:

- Preparation
- Job looking

## 1. Preparation stage 👨‍🍳

This is finishing part of your learning path on the way to junior position. Keep in mind, that the actual learning should never end, just you'll be investing some spare time to learning while having an official developer position. 

Usually, together with my mentees, we take around 2-4 weeks (rough estimation, it may vary, depending on your skills) and after that proceed to the job looking (and improving any weak side on demand, after getting feedback from a company).


### During the preparation stage 🍳

1. **Build your portfolio.** 

    I usually suggest creating a website that features your strongest projects, but these days there's also a GitHub Profile option. 
  - If you choose to build your own portfolio website: https://dev.to/emmabostian/how-to-build-a-great-technical-portfolio-53bb
  - For Github Profile, take a look: https://dev.to/m0nica/how-to-create-a-github-profile-readme-1paj

    &nbsp;

2. **Start exploring how the interview process looks like.**
    
    Find out questions and assignments that you can be asked to answer/solve during interviews.
  - I strongly recommend exploring the interview handbook during this step - it contains both typical questions (HTML, CSS, JS) and theory you need to know to answer them: https://github.com/yangshun/front-end-interview-handbook
  - For more javascript specific questions, take a look at this collection https://github.com/ganqqwerty/123-Essential-JavaScript-Interview-Questions
  - Don't forget to practice coding challenges. There's a bunch of resources Chris Choyer gathered here: https://css-tricks.com/front-end-challenges/

    I suggest you spend invest some time practicing CSS challenges, as an addition to JS-specific problems. 

    This way, you will less likely to struggle if interviewers ask you to stretch elements over the screen or position one small block inside a scrollable container.

    &nbsp;


3. **Set up your profiles on job searching platforms and LinkedIn.** It increases your visibility for recruiters which may invite you to interviews if you match one of their posting descriptions. 

    I do not recommend counting on this strongly, but it may provide few opportunities to get an interview, so it's definitely worth considering the time required to set up accounts there (spoiler: it's not that long 😁).
&nbsp;

## 2. Job looking stage 🕵️‍♀️

#### It takes time

Be ready to persist for 1-2 months if you intend to get an offer tailored for you — this stage is truly about patience and persistence.

If you hurry too much, you may end up getting an offer in a team you don't want to work with or deal with the projects you aren't thrilled about. 

#### Carefully assess the terms

On top of that, employers are often offering you less than you are really worth, as they imply you don't have much experience as thus they will be taking on more risks than with a regular developer.

While this is true, you still need to assess carefully whether the company offers you a reasonable payroll: it's an investment for them.

It for sure has risks, but the return on investment may be much quite impressive as well, especially if you are diligent, hardworking, and focused on continuous learning (which, I believe, you are! 🙂).

#### Wait for a few offers to choose from

So, instead of agreeing immediately to the first offer you get, I usually recommend reaching the point when you have a few ones (at least 2-3). 

With that, you will not feel like the job terms were forced on you: you'll be the one choosing and you could also negotiate a little bit as you have a few offers and you will be able to have a more reasonable career start (both financially and professionally).

But please, don't leverage the company just for the sake of money - if you feel the terms are reasonable enough, don't squeeze from the hiring team a few extra bucks. 

It's wiser to start in good faith and discuss the raise after getting on board when you'll prove your hard work and determination. 😉

### During the job looking stage 👀

1. **Everyday screen for job offers on the market and send at least 3 replies** (the more the better, but send at least 3). 

    Why? Because many of your job applications may be easily ignored or declined with a typical message. 

    Take a look at the numbers from one of the bootcamp graduates' article: https://www.freecodecamp.org/news/5-key-learnings-from-the-post-bootcamp-job-search-9a07468d2331/

    It is really an important thought to keep in mind so you don't discourage yourself. 

    &nbsp;

2. **Use Google Spreadsheet to keep track of all the job postings you applied to.** 

    Store all relevant information there: your thoughts about the company, current status, and so on. It is easy to lose track of them when you reach just 10-15, not speaking of 200 😅
  - Search for companies that are hiring using the job searching platforms, like indeed.com, Glassdoor, and definitely, LinkedIn - a lot of HRs and companies post job offers there.

    Also, take a look at your country's local platforms if there any. For example, in Russia, we heavily rely on hh.ru and I believe in many non-English countries there are also local job search platforms that have a huge market share.

    &nbsp;

3. **Target a company, not a vacancy.** 

    Look for the information on the company you are applying for and craft a tailored response showing you are actually interested in the company. A few examples of things you might be interested in:
    - What products company has built?
    - What product do you like the most?
    - Did the company participate in meetups or confs? Are there any interesting talks for you?

    Imagine a situation, when you were researching all that and found that one of your personal projects in the portfolio is similar to one of the company's projects - you should share that when applying. That's exactly how you should use this information. 

    Show that you have the relevant experience, can quickly get into the work, and bring fresh thoughts to the product(s) there.

    &nbsp;

4. **Find real people behind the company.** 

    Instead of (or on top of) straightforwardly applying through job postings on those platforms, find real people that work in the company. Devs, HRs, even CEO - doesn't matter. 

    Many companies reward their employees when they bring new people on board, so if you reach out to someone real from the company, you have a higher chance to get an invite to an interview 😉

    It's also that the job posting is managed by an external head hunter that goes over dozens of job applications. If you go to a person from the company, you'll have more chances to grab their attention as they do not deal with that many candidates on a daily basis.


5. **Continue practicing.** 

    Specifically, make more projects that showcase your skills.  

    It's much easier to grab a team's attention and to start wanting you onboard when you actually have a relatively complex project that is relying on a modern stack - even better if the tech stack is the same as the one used in that exact team. 

    For example, a React project that relies on 

  - Redux Toolkit/MobX for store management, 
  - React-router for routing, 
  - Styled Components as CSS-in-JS solution, 
  - Integrated with Firebase Cloud Firestore storing the data
  - Deployed on Netlify or Heroku 

    is a good showcase that proves that you can use production-ready tools for building something relatively complex. 

    It proves that you have real experience with frontend tools and can solve technical problems using them.

    Moreover, in such a project the team looking for a teammate will be to assess your architecture skills, design patterns, find what coding principles you follow (and what you yet ignore), how you approach testing, and many other relevant aspects.

    Basic applications won't suffice. They don't let you shine, they merely prove you have programming skills and development expertise - but that's not enough. 

    You need to make them feel you have reliable hard skills - you are not an expert yet, but do not need your colleagues full-time teaching you. 

> By the way, if you don't have any strong projects yet, take a look at [Housework Undoer](https://banda.works/housework-undoer) - it's a complex project that is inspired by our development experience.
>
> It's story-based, so you'll be not just practicing how to code, but also practicing how to think about the product and its users in the first place. 

&nbsp;

### So, what the interview is really all about?

That's an important question. If you think wrongly about interviews, you won't use a proper strategy.

Always remember: **the interview is not about finding the almighty-problem-solver — it is about finding a reasonable teammate.**

Teams are looking for a person that can reason about the problems clearly, investigate them, and can either figure out how to solve those or openly discuss the issues with the team.

Because of that, you need to show how you think, approach and react to problems.

So show that: during challenges, talk and explain what are you thinking about, why it is relevant, how you could try dealing with the suggested problem, what caveats do you see, which person you would consult on the question, and so on.

&nbsp;

And that's it with job hunting 101. Hope this guide will help with the challenge of finding a suitable developer position.

Ganbatte, my friend, and you'll get a great job offer!

---

## What's next?

If you like our articles, subscribe to our [@BandaWorks](https://twitter.com/BandaWorks/) community on Twitter so you don't miss the next ones 😉 

On top of our article announcements, we post valuable content there every day:

- Daily advice to help you become a stronger developer
- Learning resources for web development
- Overview and our own thoughts on the development articles by other authors

{% twitter 1313829364103077890 %}