Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
400 lines (316 sloc) 37.6 KB

Finding A New Job

I've found that finding a new job involves several different 'phases':

  • Identifying companies and job openings
  • Applying to those jobs
  • Interviewing and Company Culture
  • Compensation
  • Starting Off Strong

Identifying Companies and Job Openings

Here's the wisdom I've found:

  1. Good companies pay slightly less (but not a lot less) than bad companies
  2. Working in a company with bad culture is toxic, and affects your entire life. Figure out which jobs and companies are toxic, and run away.
  3. Recruiters and HR representatives act like gatekeepers. They're often not ineffective gatekeepers, because it's practically impossible to identify talented people from resumes and cover letters alone.
    • So, go around them. Build and use a network of professional contacts. Referrals and word-of-mouth are still the best way to find a new job that you'll like.
  4. The real question in an interview is "What can you do for me that the other candidates can't?"

Question #4 is about comparative advantage. There are a few different ways to make yourself more appealing to employers:

  • Technical skill. This is pretty rare. However, there are so many programming languages and tools that this can become a trap
  • Domain skills. Pick an industry and stay there. This is how most people's careers work (teachers, lawyers, doctors, bankers, farmers, etc)
  • Soft skill is the last. The ability to communicate, to connect with people, and to get stuff done in a varied workplace. However, this is hard to quantify or understand, so nobody values this correctly.

I've found various links with resources about job searching and resumes.

Doing Meaningful Work

On Recruiters

@hmason: If everyone stopped paying recruiters the entire tech industry would probably gain years of productivity overnight.


Interviews are one of the best times to find out about a company's culture, work-life balance, and the roles and responsibilities of a role. I go with a list of questions, because I want to find out about a company just as much as they want to find out about me.

Remember that people judge you based on first impressions

My Interview Questions

I Ask Managers

  • When building distributed software, how do you get other teams to build features/tools for you?
  • When building distributed software, how do you balance building stuff for other teams vs. for your own?
  • What percentage of time do you reserve for your developers to experiment/learn/innovate (without having to ask for anyone's approval/permission)?
  • How do you battle/deal with Conway's Law ?
  • When were the last 2-3 times you've changed your opinion about something technical because your developers convinced you?
  • What do you want to learn next?
  • How do you deal with different communications' preferences amongst your developers?
  • What do you do when a PM asks for features at the last minute?
  • How do you learn from your mistakes?
  • Do you have a firewall that blocks sites/services for employees? Do you block StackOverflow?

I Ask Potential Coworkers

  • How often do you work late, or on weekends? How many times in the last month?
  • How often do you get paged late at night? How many times in the last month?
  • How much time do you have to experiment/learn/innovate without getting anybody's approval?
  • How do you test your code? What kinds of testing do you do?
  • How do you learn from your mistakes?
  • (For MSFT): How much does stack ranking and annual commitments determine what you do each month? How about this month?

Useful Links

Company Culture

@hintikka: KP (Kleiner Perkins) trial also confirms: if you have options and you clash w/ the structure of your workplace, leave. Structure will not change.

Work-Life Balance


Working Remotely


Background: The Demand for Talent

Non-Compete and No-Poach Clauses

Age, Gender and Racial Discrimination

The STEM 'shortage', and H1B Visas

Silicon Valley