A collection of my personal thoughts as well as notes taken while reading "Managing the Unmanageable". image

This is a collection of my personal thoughts as well as quotes and notes I took while reading "Managing the Unmanageable" by Mickey W. Mantle & Ron Lichty.

Determining what Kind of Programmer to Hire

"A's hire A's, B's hire C's." - Steve Jobs

"[O]nly by thinking through the skills ets, values, ethics, and orientation you need are you likely to hire the right programmers for the slots you need to fill out your team." p.37

Q: Do you have a greater need for energy and passion, or experience? 🤔

It depends on the work your team is doing and the existing team makeup. These are not mutually exclusive!

Distributed development can be made to work, but a distributed team will never perform as well as a collocated team. - Mike Cohn, "Succeeding with Agile", p.387

Writing the Job Description

  • It's a piece of marketing.
    • Highlight social significance, career visibility, and lasting value of the contributions.
  • Should be specific to what you're looking for.
  • First sentence should focus on the company and its products. Focus on why a developer would want to join in this. This one is about selling so it should be compelling.
  • Next is the job description. Explain what the job will involve. Ex. designing architecture and for what. List best practice experience if any is required. Mention if there are non-technical skills that will be of benefit. Ex. communication, mentorship, or working with non-technical people. Will the person be expected to lead or just take orders?
  • Now list the skills and knowledge necessary. Note: "Sometimes follow-through, attention to detail, and a sense of ownership can be more important than specific skills. Don't ignore these soft skills....".
  • An example job description can be found on pages 42-44 of the book.

The chapter covered some additional topics that were not critical for me at the time of writing. These were: "Selling the hire", "Recruiting Full-time Employees", and "Budgeting for Recruiting".

Reviewing Résumés

  • You need to read between the lines and see if what someone is saying lines up with what you need.
  • At some point you need to make a decision around what requirements matter the most.

Clear communication is an important skill that is sometimes overlooked:

I want people who can write, because we spend a lot of time writing to each other. We're writing e-mail or documentation. We're writing plans. We're writing specifications. [T]hat turns out to be a really difficult skill. So I would actually rather see people start as English majors than as math majors to get into programming. - Douglas Crockford, Inventor of JSON

  • Circle interesting bits if you are planning to interview them so that you can follow up and dig in more deeply.

If you are flooded by resumes, you may want to consider narrowing the field by providing a programming challenge early on. In the end, narrowing down candidates comes down to careful screening.

Getting New Programmers Started Off Right

  • The onboarding experience signals how much employees matter and how well run the org is.
  • Onboarding should start at their acceptance of an offer because:
    • Some people experience buyer's remorse.
    • Others may still be trying to hire them.
    • Their current manager may be trying to get them to stay.

Keeping candidates "warm" between acceptance and start is very important. Try to not have it be more than two weeks. - Mark Himelstein, Interim VP of Engineering

  • Share learning resources in advance that can help them learn tech that they are unfamiliar with. Ex. articles, dev handbook, tutorial.
  • Let them know if they are okay to expense learning material so that they can purchase it before starting and not worry about the cost.

Preping for a new hire's arrival

  • Make sure to know what lead time is required for doing things like getting them their computer and other tools for the job so that they are ready for them on day one.
  • Select an onboarding partner for them.
    • Confirm that the onboarding partner is aware of what is expected of them.
  • Create a launch plan that outlines things such as:
    • How to find help with different things.
    • Goals for the first week, 30, 60, and 90 days on the job. It can be helpful for each of these periods to have a theme in order to help prevent a new hire from feeling overwhelmed.
    • A glossary of jargon.