So far whenever I searched for a new job it was quite a chaotic process. And it was ok-ish most of the time, but recently it becomes harder and harder to find a job, maybe my requirements rose, maybe I started to search in a different segment.
So I thought maybe once and for all I will figure out a more systematic approach for the job search. And I need your help here because I don’t think I’m qualified enough in those questions. I come up with the following list of questions:
- Where to search for a job?
- How to choose the next workplace?
- How to write a CV?
- How to pass the interview?
- How to negotiate salary and benefits?
- What to do after you got hired?
- What to do before leaving the current job?
This article focuses on searching full-time position - freelance and consultancy are out of scope because those are a bit different subjects which deserve separate articles.
Disclaimer: I provide links to some services in this article, they are just for example. I haven’t used all of them. Don’t take it as a recommendation for one or another service.
Where to search for jobs?
My favorite job board is stackoverflow. The problem is that not all companies post positions there. I believe that some countries are underrepresented there. Tell me what is the most popular job board in your country, what is your favorite job board.
Other popular job boards:
Reverse job boards
The idea that got popular in recent years in the field of high paid tech workers is when instead of you searching jobs, jobs are hunting you. (It is kind of existed all the time with head hunters, but those services meant to get it to a new level). Examples (which I haven’t tried):
I saw the idea of the reverse board with anonymity - you post desired salary, your skills, but not your name and companies send you requests based on this information. Your identity will be shown only if you respond to the company request.
IT-job is a good way to be able to move from your country to country with better quality of life. There are job boards which focus on relocation:
Some people prefer remote job. If this is your cup of tea job boards are focusing on it as well:
Some people go one step further and turn into digital nomads.
Company spcific board
Some companies don’t bother to repost their positions to job boards and instead have their own, for example:
There are other niche job boards, for example, awesome-job-boards. What else do I miss?
How to choose next workplace?
Let’s assume you have some pool of positions how to choose which are worth applying and which are not?
- How to know this company will not get out of the business? Maybe check TechCrunch? I don’t know.
- How to know that the company has a good culture? Maybe check Glassdoor? I don’t know.
- How to make sure that company and you share the same values?
How to write a CV?
Now you have a list of companies that you think are good to work. How to get an interview? My approach to CVs:
- keep it up to one page. Keep the most recent or most relevant to the position experience, throw away everything else
- put keywords, because the first lapse on CVs is made by HRs who not always have the technological expertise to judge other than by keywords
- tailor CV for each application
What is your advice for CV?
Except for CV, some companies would appreciate open source profile, tech talks or blogs. From my experience this is not a universal rule - some companies don’t care. I guess if you have a really popular project (10k+ Github stars or equivalent popularity meter) or really popular tech talk (50k+ views) this would make a difference. What is your experience?
How to pass the interview?
After some time in the industry, I realized how random tech interviews are, there is no systematic approach, people ask unrelated questions, brainteasers, etc. It would be fair if candidates would be allowed to chose answer interview questions or roll a dice.
Some companies still doing brain teasers and white boards. Some refused from this practice
Does Google still ask brainteasers in job interviews? Nope. Our data showed that brainteaser questions didn’t predict how well someone would do on the job so we no longer ask them. Instead, we do work sample tests and ask structured interview questions.
(Google as well says that “No, a CS degree isn’t required”, yet some Google jobs still list CS degree as a requirement, so take it with a grain of salt)
I know that some good programmers are terrible in interviews because they get nervous. I know that a lot of good developers got rejected for random reasons.
Different companies looking for different skill sets:
- startups look for more practical skills and broad expertise because there is not enough staff
- established big companies look for more specialized people with narrower and deeper expertise
- How to prepare for an interview?
- How to pass the interview?
- What are the red flags in the interview process?
- What to ask in the interview to discover red flags?
How to negotiate salary?
You passed the interview. Now you gonna get an offer. Typically question of salary is discussed beforehand or the salary range was posted in the position itself.
From my experience salaries that companies post are not always true, they can post a very high upper bar, but you can’t get that number. I even heard stories when companies played “lowball” and offer less than a lower bar.
Some companies ask what is your current salary, in some states, this is prohibited. Sometimes your current contract may prohibit you to talk about salary.
Some people say that you should not say what your current salary or what your expectation and let the company decide after the interview.
What is your approach for a salary negotiation?
What to do after you got hired?
If your job is with relocation you will have a lot to do. My advice choose a company which provides help with relocation, otherwise, it can be a big stress.
How to integrate into the new team? How to adapt to the new work? A good company should provide some landing plan - a list of things you should do. Some companies have a practice of “work buddies” (somebody who you can always ask questions).
Some people provide readme to introduce their working style.
What red flags to look for?
What to do before leaving a job?
You decided to leave your current position, what things to do before leaving? For example:
- Make sure you passed all your knowledge
- Connect to the people who you want to stay in touch after leaving
- Get a recommendation letter
What is your routine here?
Are there other questions at “top-level” that I miss?
- Climate jobs for software engineers
- Did you know that there is literally a class in Stanford’s CS curriculum, that is basically “How to pass Google’s Interview?" (CS9: Problem-Solving for the CS Technical Interview)
- An app for tracking job listings
- toxic / finding a safe place to work
- The Soft Skills of Interviewing (cheat sheet edition)