Job hunting tips for people in tech

In: Career, How-To
Published on
Written from the perspective of an AI consultant and business owner.

A friend of mine is currently looking for a new job. She was asking around for a few good tips on job hunting. I spent quite some time looking for a job right after finishing my PhD in 2022, so I had ample to share. After penning down these tips on irc, we decided that storing them in a more persistent, public place might be useful for others as well.

Please keep in mind that everything below is based on my personal experience and might be overfitted to an extraverted tech-worker in the Netherlands.

Tip 1: Take your time.

The process of job hunting can be exhausting. Reflecting on what you want, exploring your options, searching vacancies, and applying for jobs takes time and energy. Finding a good job is a marathon, not a short distance race. Pace yourself and treat yourself kindly.

Tip 2: Define your nightmare scenario

Create a "dealbreaker" list that highlights things you absolutely cannot tolerate in a job. Take the time to visualize the worst job in the world. This list will help you determine which opportunities are not worth your time and energy. And even if you receive a high salary offer from a place that ticks a few of the items on your dealbreaker list, this will help you with saying no to the temptation. You can also use it to evaluate your new job, after you've been there for a few months: did any of these dealbreaker properties pop up in after a while?

Here is my dealbreaker list from 2021 as an example:

My nightmare job

  • Lengthy daily commute by car or train
  • Working over 40 hours per week
  • Frequent overtime, on-call, night, or weekend shifts
  • Lack of personal development opportunities or training
  • Limited vacation days
  • Micromanagement, e.g. fine-grained time tracking
  • Difficult to take leave
  • Lack of supportive or friendly colleagues
  • No job security or permanent contract
  • Working in a restructuring organization
  • A bullshit job
  • Being underpaid compared to peers with similar backgrounds or experience
  • Working for a financially unstable organization
  • Being the only woman in the team
  • Bro-grammer or macho culture
  • A highly competitive work environment
  • Strict 9-to-5 (or longer) presence requirement at my desk
  • Overly strict punctuality rules
  • Limited influence over my workprocess.
  • No autonomy
  • Narrowly defined role
  • Lack of acceptance for alternative clothing, progressive values, etc
  • An organization reluctant to use open-source software like Linux or Git, preferring corporate-style software

This list turned out to be very important to me. A financial company had offered me a job with really high compensation, but just before I signed the contract, the HR manager came back to tell me they could not support remote working of any kind. This meant I would have to commute for 3-4 hours every day -- something that violated multiple points on my dealbreaker list. ;) I took a job closer to home, which was the best decision I made that year.

Tip 3: Reflect on your dream job

Make a second list, this time with all the properties of "the perfect job". As I've said before, this is a great starting point for hunting jobs online. Think about everything that you would like or that makes you happy: travel distance, salary, day-to-day activities, work culture, colleagues, working in a specific sector, working with specific technologies.

Here is my dream job description from 2021 as an example:

My dream job

  • Close to or in my hometown, or completely remote
  • In finance or related to investing
  • High probability of fixed contract
  • Salary of at least X
  • Involves at least some research
  • Requires software engineering and data wrangling
  • My PhD research is relevant or my research skills can be applied
  • Environment that allows me to learn a bit more about running a business
  • Small or medium sized company
  • Not a non-profit or government org
  • Allows me to talk, blog, publish etc. about my work

Tip 4: Ask other people for advice

Once you know what you are looking for in a job, it's time to talk to other people about this. Use your IRL social network (friends, family, peers, colleagues) and online social networks (e.g. Mastodon, LinkedIn) to find people that are already working in your dream job. In other words, look for people who you'd want to trade places with.

Send these people a message such as this:

"Hello, nice to meet you! I'm [your name here]. I'm currently doing X, but I would like to do Y in the future. I see that you are doing Z. Could we have a 30-minute virtual coffee chat and discuss this further? I'm curious about your advice / I would like to ask you some questions."

Here are some examples for Z:

  • "You work at a company I like!"
  • "You work in a sector I'm interested in!"
  • "You did a cool relevant hobby project!"
  • "You gave an interesting talk!"

When I was preparing for a job in industry in the final year of my PhD, I cold-emailed a bunch of people like this. 80% of people said yes (and 20% of people never responded). In many of the conversations, I was offered a follow-up conversation with a hiring manager job, even when that was not my intention when I requested the conversation.

Why does this approach work? If you are sending messages to the right people, and you are respectful and show up prepared, people don't mind investing a bit of time in you. Most people will say "yes" because everyone likes talking to an enthusiastic person!

Besides, most successful company are always looking for good employees, and these are particularly hard to find. If you're proactively reaching out to other people, this shows you are a person with soft skills. If your contact liked talking to you, they might think "hey-- I bet this person would be a fun colleague!" Your contact will tell their manager/HR department/friend at another place about the positive impression you made. Suddenly the barrier to getting hired is much lower than when you would've applied somewhere through a job ad.

Tip 5: The internet is a gold mine.

Reading can give you an information advantage. Being more prepared than the average applicant will immediately pay off. Patrick McKenzie wrote two very useful blog posts about careers and salary negotiations. If you ask me, this is non-optional reading.

Dutch entrepreneur Bert Hubert also gave an interesting talk titled "Career Development & Money: How to be happy at work for the next 40 years (from a mostly Dutch/European IT perspective)".

Tip 6: Search for technologies, not roles

You can of course apply to jobs through official published vacancies on "careers" pages or vacancy sites like Indeed. However, finding suitable technical jobs can be difficult because role titles tend to change as frequently as JavaScript frameworks (pun by ChatGPT). Searching for specific technologies such as languages (Python), libraries (Pandas) or frameworks worked much better for me than searching for specific roles like data scientist or machine learning engineer.

On that subject: if you're in data science, be aware that the title "data scientist" is very problematic. At one company, it means "person who uses Excel or Tableau fulltime", while at another company it means "person who manages AWS instances and builds custom ML pipelines using 200 different bleeding-edge technologies". If you're planning on applying to a "data science" role, be sure to come to the interview with an extensive list of questions to see which variety they actually mean...

Tip 7: Give context for your skills

Many tech CVs have to pass Human Resources before they are sent to CTOs and technology managers. We techies LOVE putting large lists of programming languages, tools and obscure libraries in our CVs, to show off our projects and how competent we are. However, these lists are often difficult to interpret for people without a tech background!

This slide from a talk by Vincent D. Warmerdam illustrates the problem nicely:

My linkedin profile: R, python, javascript, shiny, dplyr, purrr, ditto, ggplot, d3, canvas, spark, sawk, pyspark, sparklyR, lodash, lazy, bootstrap, jupyter, vulpix, git, flask, numpy, pandas, feebas, scikit, pgm, bayes,, sparkling-water, tensorflow, keras, onyx, ekans, hadoop, scala, unity, metapod, gc, c#/C++, krebase, neo4j, hadoop. I typically ask recruiters to point out which of these are pokemon.

A recruiter advised me to include a 'tech translation page' in my CV. This page should be a prose description of how and when I would use the things I listed as my technical proficiencies.

Time for a concrete example! Instead of writing

  • Operating systems: Windows, Linux (Arch Linux, Debian/Ubuntu, Kali), iOS, Android

you can write

I’m familiar with Windows, multiple flavors of Linux, iOS and Android. I use Linux for development and other technical tasks. I run Arch Linux on my personal laptops and manage multiple VPSes (virtual private servers) that typically run Debian. In the past I’ve also used Ubuntu, Linux Mint, and Kali Linux for projects in the information security domain.

A longer example can be found on page 3 of an old version of my CV.

In the days before ChatGPT, this appendix also signaled to hiring managers that you could actually write a piece of text. Now that we have large language models, every text might be written by a robot, so I wonder how long we will keep using written applications...

I hope these tips were useful! Good luck with your job hunt.