Whatever you call it: retrospective, post-mortem, post-partum, post-project review. Your work can be better by stopping at regular intervals and asking. “What well that we don’t want to forget” What should be done differently?”Linda Rising, foreword to “Agile Retrospectives” by Esther Derby and Diana Larsen
When I started looking for a job, I didn’t realize that it would become a three-month project. In this post, I’ll share the numbers, notes, and retrospective that I got at the end of this project.
Table of Contents
- During 3 months, I spent between 20 and 30 hours per week on this project (including time spent in actual interviews or looking for new opportunities).
- 50 applications (resume sent to the company or introduced by a recruiter). I applied when I met at least 75% of the job requirements (and I made double sure that I met 100% of the critical requirements).
- 15 companies invited me to an interview
- 17 companies ghosted me at some point (most of them never replied to my original application).
- 13 companies gave me a generic “I regret to inform you that we have decided not to progress further with your application”.
- 3 companies where I stopped the process because of various red flags
The interviewing process took a lot more time than I expected. I had high standards, and I thought the existing hot tech hiring market would balance out my wishes. In the end, asking for “remote-only” and “32 hours per week” had an instant cooling effect on leads.
I started by following the typical interviewing advice (updating my CV, updating my LinkedIn profile, preparing for the tech interview as suggested in “Cracking the coding interview” or “Tech Interview Handbook“, etc.).
As I gained more confidence with interviewing and with understanding what companies are looking for, I ended up doing two major pivots: 1) focusing on generating leads myself (by reaching out to all my friends in tech and looking for opportunities on specialized platforms) and 2) Splitting my learning time between algorithm practice and researching/building exciting stuff (in contrast to practicing 100% algorithms and system design). The first pivot provided me with more reliable opportunities. The second pivot meant I enjoyed my days more.
Finally, I’ll describe the whole project as an emotional roller-coaster: with highs full of excitement from successful interviews, new insights, and awesome new opportunities and lows with rejections, misunderstanding, and demotivation. I grossly underestimated this emotional effort and had periods of days when I dropped everything and just relaxed and gamed. What also worked for me was to reach out to someone and talk about my frustration and annoyance. If you’re ever in this same position and there’s no one there for you, reach out to me.
For the retrospective, I used the Start, Stop, Continue format. Read the table top-down (by column), not left-to-right (by row).
- Asking around in my network for leads and references.
- Writing down my non-negotiable requirements (three max) and communicating them from the start. Don’t spend time during the interview discussing “weak” preferences.
- Adding a 1-2 paragraph motivation to the application (this will also help me get a feel if I “really want to work” for that company or I’m “just applying”).
- Doing mock interviews (to get comfortable with the pressure of the interview).
- Using LinkedIn to search for leads (by being “#OpenToWork”) (the results to effort ratio is minimal there).
- Getting too excited about a specific company (it makes the rejection more painful).
- Thinking that I will receive helpful feedback when I’m rejected (I received helpful feedback in 2-3 cases, only after asking for it).
- thinking that learning about algorithms is useless. A lower time complexity means less need to scale your system.
- Using the templates that I’ve created (for the companies, for my strong points, elevator pitch, etc.).
- Using the concept of a pipeline (to keep track of various companies at interview stages).
- Using specialized communities and platforms to find leads.
- Keeping a list of domains that I don’t want to work in.
- Preparing properly for the interview.
- Limiting learning of algorithms to two per day. Spend the rest of the days “working on”/”learning about” some aspect of software that I find interesting.
I hope that this information gives you a better start than the one I had. If you’d like to know more about any of the processes, templates, etc., drop me a comment, and I’ll add more details.