How did I get the job I wanted?
It took me six weeks to get the job I wanted, but how do you even know what it is you want?
Looking for a job can be confusing and requires all the attention; So tell your loved ones that you’re sorry in advance (and throughout the process) and tell them that you’ll need them to be patient and supportive.
You’re going to work at it full-time job, it accompanies success and failures, fears and surprises, in short- a roller coaster.
I was personally afraid because I’ve never been in this situation, and I didn’t know if I’ll manage it successfully.
I understood that I have to approach it in the most fundamental and professional way I could because it’s not a process that occurs often and therefore I should optimize it without compromising.
I find that the greatest value you’ll receive here is how to reach the optimal job that fits with your aspirations and needs and not necessarily how to get a job.
It is important for me to share the process I’ve been through, since I feel it has been done thoroughly and correctly, and I would’ve loved if somebody would give me their insights to know where I was heading before I began. Therefore, I decided to write this post, describing the various phases of the process:
1. Understanding what’s important for you.
2. Writing your CV.
3. Mapping the market and (most importantly) finding a contact in each company.
4. Preparing for interviews, both technical and personal.
5. Performing in interviews (and accepting rejections).
6. Interviewing the other side.
7. And finally, making a decision.
So what did I learn from the process —
How to be 100% all the time, on top of my game; To my perception, it has two aspects:
1. Techincal preparation (both professional and personal) allows us to be sharp, communicative and transparent.
2. Mindset — It is important to be nice and positive, to think before answering instead of being impulsive, especially during a personal interaction.
I understood that who I am today, personally and professionally, is not exactly who or where I was several years ago; My professional development, my experience and knowledge, as well as my personal life — they all affect my priorities, that have changed and naturally will keep changing along the way. For that reason, prioritizing is necessarily derived by the specific moment and time in which I’m making my choices, meaning — who I am today and what is important for me now.
Step one — an exercise in “What’s important for me”
This exercise was done with a friend over coffee, he took a piece of paper and wrote down five qualities. Then he asked me to organize them in hierarchical order:
a. Confidence in the company’s vision. The importance of my personal connection with the product, which can result from the product’s impact or its potential, or from its innovative nature. Identifying with the product is the inner apparatus that will answer the question “Why am I here?” even on a shitty day.
b. Personal development. The value of developing my persona and my skills, such as speaking in front of an audience, mentoring, contributing to the open source community, etc.
c. Salary
d. Professional development. In two levels:
Technology — Adding something to my toolbox (language or framework) or mastering an existing tool (or many).
Position — IC or Leader.
e. Environment: location, colleagues’ diversity (or non), dog-friendly etc.
It took me several moments to get things in an order that works for me, I started from the end, then hoped to the beginning and eventually this was was what I got to:
1. Confidence in the company’s vision
2. Personal development
3. Environment
4. Professional development
5. Salary
Initially, it was relatively easy placing the salary last since I knew I’m in a market with a high salary benchmark.
Then, I placed professional development as second last. I assumed that my stack at moment is quite satisfying, and furthermore, that I continue to learn independently. I also understood that I’m OK with a position of a developer and not a leader (or IC) in favour of joining a company that will provide the next three criterias.
In that point, I realized something interesting: what’s relevant for me today is not what was relevant for me a short while ago.
A quality I value today, for instance, is a diverse work environment that is composed of people who have families, and by female developers — not by a ‘brotopia’.
This is why Environment came in third.
In the second place, I chose Personal development. I felt that it’s essential for me to join a company that could and would invest in me, as much as I intend to invest in it.
Eventually, my top priority turned out to be Confidence in the company’s vision.
I understood that for me that’s THE engine, my prime motivation. This means that even if all other qualities would align but I have no faith in the WHY, there’s no point.
This triage has helped me with decision making along the way, but at this point, it was still done only in theory. When it came to reality, and actual conflicts I found myself recalibrating (spoiler alert).
Step two — writing your CV
A CV should be concise and accurate. It should answer three questions:
1. Who am I
2. What do I know
3. What did I do
The format I chose stands for this perception:
1. Who am I — a title with your “dry” details and a one-liner subtitle describing yourself.
2. What do I know — a table with my whole stack which I split into languages, client-side frameworks, server-side frameworks, infrastructure, DBs, big data and dev-ops.
3. What did I do — description of my last three positions, in each I’ve mentioned the product, the stack, the challenges and the responsibilities. My B.Sc was mentioned here.
Step three — Analyzing the market and creating a list of openings
This phase was quite fun, I felt like a kid in a candy shop; Being an experienced developer in Tel-Aviv at 2018 is a very good starting point.
The platforms I used for searching the relevant positions for me were Linkedin and Glassdoor, in addition, I was assisted by Gloat and Woo. I went through the various positions and started a spreadsheet that I named “Rabbit season” with the following columns:
1. Initialized — Yes/No
2. Status — trying to set an interview/ interview set/ waiting for reply/ rejection/ proposal.
3. Company name
4. Position title
5. Contact (lead)
6. a Link to the opening
I divided the document into three groups according to the number of employees:
* startups — up to 50 employees
* startups in growth — up to 200 employees
* large organizations
So which positions did I add to this document? One should think of his/her critical values. For instance, I filtered according to location (environment came third in my list), according to industry field — since identifying with the company and its product came first in my list (e.g. I filtered out AdTech companies which I don’t relate to).
I assembled an initial list consisting approx. 30 positions. Keep in mind that this list remains alive during the process and necessarily will expand via the job platforms and acquaintances. Therefore this list is dynamic.
After creating a list, the next crucial step is to find a contact in each company. My method was:
1. Specifying who do I know who works (or worked) in each company.
2. Asking my closest friends who do they know who works (or worked) in each company.
3. Investigating the companies’ Linkedin profiles, and mapping shared connections to employees.
* A sidenote to those who are applying for their first job:
Getting called to an interview is fairly hard when you have less mileage. This barrier can be creatively crossed using a contact or writing a cold email expressing your enthusiasm and motivation. Be sure to back your words through actions, such as self-taught skill (language or framework) and personal projects on Github.
Step four — preparing for interviews
Most of the processes look like this:
1. Techincal interview — by a teammate
2. System design interview — by a team leader
3. Personal interview — by the head of department
4. HR interview
* Sometimes there’s also a home assignment.
Preparing for this step is done in two verticals — the technical one along with the personal one.
I’ll divide the technical preparation into two:
1. About half of the companies tend to ask theoretical questions. Solidly preparing for this part should take around a whole week so keep that in mind. What you want to do is grab a 700-pages book called “Cracking the code interview” which will cover any theoretical question you’ll ever be asked during your interviews.
2. The rest of the companies will ask practical questions that reflect real experience and in-depth knowledge of a language or framework. So if you’re going to talk about something that you declare that you master, but feel there’s some part of it you’ve never figured out completely, now’s a good time to move that out of the way.
The personal preparation is actually building and practising your pitch, it should introduce and sell you ideally.
My pitch was coherent and in correlation to my CV and it was built this way:
1. Stating out “dry” details about myself, and my current position (or until lately).
2. Where I grew up and in which circles (if there were any).
3. Academic background
4. Career path — each position it’s title, the company and product, the tech stack, and the challenges. If there was a promotion make sure to tell about it.
5. Latest job — product, title, stack, challenges and responsibility. It’s important to state here that you’re leaving for the right reasons, for instance, looking for new tech challenges or a new work environment.
6. “I’m looking for my next adventure because…” is a great way to sum up your pitch (of who you are and what you know) and turn it into what I’m looking for. It is vital to express yourself through positivity giving the other side a feeling they would enjoy working with you.
Step five — The interviews
This is the most dizzying and rapid phase, you’ll meet a lot of new people, pitch about yourself and talk about things you’ve done, you’ll get rejections and then more of them, that’s how it felt for me. It took me three iterations on this step, each iteration I’ve scheduled all of the interviews to the same week, 2–3 interviews a day. In total, I went to around 40 interviews, across approx three weeks, which means a lot of rejections, and a few okays.
Heres a few points that you want to keep in mind
1. How do you deal with rejections? you should take into account that this is part of the process. The way I dealt with it was:
a. Setup interviews to keep a continuousness, that way when you get a rejection, it’s just another input. I’ve scheduled two-three a day, preferably up to two technical. If there is no continuousness you can easily sink into a feeling of failure instead of progressing with what is important.
b. When you do receive a rejection and felt like it’s a surprise because you felt the interview went well from your end, try asking for a feedback, it could teach you something. Don’t insist on it, it can also distract you if the feedback isn’t constructive. Most of the times it helped me, but I’ve mistakenly insisted on a feedback that wasn’t constructive and instead of learning from it and progressing I got stuck on it.
2. Before each interview take a short moment to google your interviewer and the company, it could surely assist you asking them questions about them or the company. People will make you much more serious if you do your homework.
3. All along the process of interview remember to be kind and pleasant, keep a positive approach, think before you talk and don’t be impulsive. If you have something negative to say, be sure to rephrase it positively.
4. Don’t schedule for the first iteration the positions you want the most, better to practice before.
5. Home assignment. My approach towards the home assignment is ambivalent, you can evaluate the level of a candidate based on practical questions, it requires a well prepared and proficient interviewer. But, sometimes there really is a debate and a hands-on exercise could help determine. On the other hand, it could also be big a time consumer that could have been saved by a proficient interviewer. Places I really wanted to get a proposal I put and effort of a full workday (8~9 hours), and the rest approx half a day (up to 4 hours).
6. It’s important to keep focus and in control; be the “hunter”. Don’t accept working with recruitment agencies from the beginning. You could find yourself going to interview or positions that are not aligned with your initial list. Your days will be intense, going to 2–3 interviews a day, so avoid unwanted overload or confusion.
7. At the end of every interview, there is a part where you could ask the interviewer questions, and I warmly suggest that you would. Ask questions that could help you get a feeling of how the company aligns with your list (“What’s important to you).
Here are some questions I’ve been asking:
- Professional aspect — What’s the tech stack? Is it open to feedback? What does the development process look like?
- Personal development aspect — Is there a concept of working on an individual’s career path? What kinds of ongoing training opportunities do you provide?
- Environment aspect — Is it important for the company to hire more female developers?
Don’t jump into the next step in the sense of how you ask these questions, the next part will only take place after you’ve received an “okay, we’d like to continue to a proposal”. So, until then, remember that the questions you ask reflect who you are.
Step Six — flipping the interviewer’s side
Yay! The most fun part, you’ve received an okay for a position, maybe even several. You’ve managed to successfully impress all the people you’ve met in a company and they want you to join them, but, are you sure you do?
What I suggest to do in order to answer this question is to ask the recruiter to schedule another meeting with the team-leader or head of department. The purpose of this meeting is to match expectations:
1. Making sure that what you’re looking for aligns with the companies values and specifically the team.
2. Ensure the position in the team you’ll be joining, and that you’ve met the team-leader you’ll be working with. This can also be done during a lunch break to lighten up the situation.
3. If you’re not really into what this specific team’s mission/stack is and you know there are other teams in the company, you can say something like: “I was happy to meet X and was impressed, I would like to meet another team so I could find the place I would contribute the best way in favour of the company” That will show how much you care and think carefully.
In one company, where I got to this step at, they focus on technological development (part of professional development) and not personal development. This was something that was very important for me (I’ve placed it second to top). When I realized this, I decided not to continue with the process.
So we see now that our list from step one “What’s important for me” which was our initiallization point is also our key for closure. Not only that was it a tool for mapping my relevant options, but also helped me evaluate each process and mostly it’s ending.
Towards the time of making decisions, I understood that the decision is not a list of theoretical qualities, it is a statement of how I want to live my life and has many aspects on my professional and personal life. On that point, I realized that once as a young single developer, there wasn’t a difference between one great salary and another, and now from where I stand, I have more thoughts about the future and the salary appeared to be more relevant then I thought it is for me. It doesn’t mean that my priorities are different or that I’m someone else now. It does mean that at any given time, our decisions are driven by our needs and intentions in that time frame.
On the other hand, I thought that out of the family life, I would seek a position also out of comfort but eventually, I understood that my personal development is more important to my personal life than comfort.
I discovered that there is a small distance between our theoretical priorities and the real ones and that in money time the real ones influenced my decisions.
So our list is dynamic and moves between theory and practice.
Step seven and last — making the decision
After a long rationalistic process, the only I have left to say is: follow your instincts. It can take one or two fatiguing days, but eventually, you’ll understand what it is you are feeling.
Call and tell the good news, and if there were proposals you’ve turned down — call to thank them for the chance, time and effort they’ve given you, and remember to be kind, you might meet or need them again on your next job hunt.