managing engineering teams

81
Christian McCarrick CTO, iMatchative MANAGING ENGINEERING TEAMS

Upload: christian-mccarrick

Post on 15-Jul-2015

94 views

Category:

Career


0 download

TRANSCRIPT

Christian McCarrick

CTO, iMatchative

MANAGING

ENGINEERING

TEAMS

OR - “THE CARE AND FEEDING OF SOFTWARE ENGINEERS”

2

WELCOME TO GENERAL ASSEMBLY.

3INTRODUCTIONS

INTRODUCTIONS

HI I’M CHRISTIAN

4

‣ Currently lead Engineering & Product Management at iMatchative

‣ Founded 2 startups: Hosting.com & ParkingCarma

‣ Led teams from 1 - 60 people

‣ Worked at 4 companies that were acquired

‣ Focus on Enterprise SaaS technology and products

CHRISTIAN MCCARRICKCTO, IMATCHATIVE

5

‣ What is an Engineering Manager?

‣ Skills

‣ Managing - The HR Basics

‣ Hiring

‣ Firing

‣ Being a Good People Manager

‣ Being a Good Project Manager

‣ Strategies for Working with your Boss

‣ Student Scenarios

AGENDA

6

‣ Understanding of the engineering manager role

‣ Structure for proper and effective one-on-one meetings

‣ How to set goals and team direction

‣ Hiring, firing, reviews and other HR requirements

KEY TAKEAWAYS

7

MANAGING ENGINEERING TEAMS

LET’S GET STARTED

8

MANAGING ENGINEERING TEAMS

TOP REASON EMPLOYEES QUIT?

9

MANAGING ENGINEERING TEAMS

YOU!

10

A Gallup poll of more 1 million employed U.S.

workers concluded that the No. 1 reason people

quit their jobs is a bad boss or immediate

supervisor.

Managing an Engineering Team

MANAGING ENGINEERING TEAMS

WHAT MAKES A GOOD ENGINEERING MANAGER?

12

WHAT MAKES A GOOD ENGINEERING MANAGER

1. Amazing People Manager

2. Business-minded Strategist

3. Flawless Project Manager

4. Talented Technologist

List compiled by Kate Matsudaira (http://katemats.com)

13

MAIN RESPONSIBILITIES:

WHAT MAKES A GOOD ENGINEERING MANAGER

14

BASICALLY BEING A MODERN RENAISSANCE MAN/WOMAN

WHAT MAKES A GOOD ENGINEERING MANAGER

1. Be a good coach.

2. Empower; don't micromanage.

3. Be interested in direct reports, success and well-being.

4. Don't be a sissy: Be productive and results-oriented.

5. Be a good communicator and listen to your team.

6. Help your employees with career development.

7. Have a clear vision and strategy for the team.

8. Have key technical skills so you can advise the team.

15

WHAT EMPLOYEE’S VALUED MOST ACCORDING TO GOOGLE’S PROJECT OXYGEN:

THE MOST IMPORTANT PART OF YOUR JOB IS SETTING THE TEAM UP FOR SUCCESS.

MANAGING ENGINEERING TEAMS

HR BASICS17

YOU MUST PROMOTE A SAFE WORKING ENVIRONMENT

HR BASICS

1. You must enforce a zero tolerance policy on any disrespectful behavior. No Exceptions!

2. As a manager, the team will look to your example. Be a positive role model.

3. When in doubt about anything ask HR, Legal and/or your boss. Their job is to support you.

4. Treat anything your employees tell you as confidential. Do not lose their trust.

19

ABSOLUTE REQUIREMENTS

HR BASICS

1. Have difficult conversations as soon as possible. Waiting will only make a bad situation worse.

2. People will push and prod to discover your boundaries. Knowing when to stand back and when

to stand firm is half the battle.

3. Occasionally someone will push too far. When they do, you have to show a rough edge or you’ll

lose authority with your team.

4. It is ok to include your boss or HR in any difficult meetings.

5. Always document everything.

20

TIPS

MANAGING ENGINEERING TEAMS

HIRING21

HR BASICS 22

YOU’RE THE ONE WHO MAKES HIRING AND

FIRING DECISIONS. EVERYTHING THAT

HAPPENS ON YOUR TEAM IS YOUR RESPONSIBILITY.

HIRING - RECRUITING 23

RECRUITING

“Culture is to recruiting as product is to marketing”

- Dharmesh Shah

Managing an Engineering Team

NUMBER ONE SOURCE OF TOP CANDIDATES IS REFERRALS

HIRING - RECRUITING 26

1. Be an expert

a. Stack Overflow

b. Quora

2. Engineering Blog

3. Give Talks / Meetups

4. Hackathon

5. Open Source Tools, etc.

OUTBOUND RECRUITING

INBOUND RECRUITING

1. Job Boards

a. LinkedIn

b. Careers 2.0

2. Recruiters

3. Cold Contacting

HIRING - RECRUITING 27

HIRING - RECRUITING

Required Skills:

• Proficient in Mac-based Photoshop, ImageReady/Fireworks, Illustrator and

Dreamweaver.

• Thorough understanding of the elements of good design, HTML production and

web process.

• Will be held accountable for the technical accuracy of their own work.

• Able to complete tasks independently and as part of a team.

• Possess effective communication of ideas/development of presentation skills.

• Ability to manage deadlines and production scheduling on numerous,

concurrent projects.

• Perform effectively in a demanding work environment and show resiliency to

stress.”

28

JOB POSTING - BAD

HIRING - RECRUITING

You

• Love seeing the world through someone else’s eyes and building an interface that fits their

mental model of the world.

• Are anxious to work on a variety of platforms and products (iPad, iPhone, Android, web

app, thick-client desktop, etc.)

• Can tell the story of a product or service with sharp copy and crisp imagery.

• Sketch out your ideas on paper before you dive into your prototyping tool of choice

(Photoshop, Illustrator, HTML & CSS)

• Know which details matter and how to push back and say “no.”

• Communicate your designs with developers and managers using the appropriate media

and fidelity.

• Think that copywriting is crucial to building a great UI.

• Can’t wait to see real people use your designs in usability studies — even if it makes you

grit your teeth.”

29

JOB POSTING - GOOD

HIRING - RECRUITING

1. First impressions count!

- Do not be late for a phone screen or interview

- Make sure to have someone properly greet people for an interview.

2. Use an application tracking system (like Greenhouse) or a Wiki to track candidates

3. Must respond extremely quickly - at every stage. < 24 hours.

4. Try informal meetings out of the office for initial meet and greets. Less pressure involved.

30

TIPS

HIRING - INTERVIEWING 31

INTERVIEWING

HIRING - INTERVIEWING 32

HIRE FOR CULTURE FIRST

ABILITY TO SOLVE PROBLEMS SECOND

AND SPECIFIC SKILLS THIRD

33

NO BRAIN TEASERS!

HIRING - INTERVIEWING

- Make the candidate feel comfortable.

- Have an interview plan for each open position.

- Make sure different people do not ask the same questions.

- Do pair interviews.

- Have a dedicated laptop/computer hooked up to a monitor fully loaded with multiple developer

tools: Eclipse, PyCharm, Emacs, etc.

- Have the candidate work on real world problems.

35

TIPS

HIRING - INTERVIEWING

- Are you a US Citizen? - instead ask if they are legally allowed to work in the US

- What religion do you practice?

- How old are you?

- Do you have any children?

- Do you have any disabilities?

- Have you ever been arrested?

- Are you married?

- lots more.

36

THINGS YOU CAN NEVER ASK IN AN INTERVIEW

HIRING - MAKING AN OFFER 37

MAKING AN OFFER

HIRING - MAKING AN OFFER

1. Do the work upfront - Have a compensation range (stock, equity, bonus, etc.) for the job

established when you write the job description

2. Don’t blow your budget to get a deal done and don’t skew the existing comp table

3. Be creative with title, work-from-home, perks, etc.

4. Have an offer ready with 24 hours if you decide to proceed (or have an offer ready before they

leave your office if you want to be aggressive. Always Call First!

5. Yes - References are mandatory. Get peers as well as supervisor

6. Have a document with all benefits, perks and compensation fully explained. (include stock

percentages, strike price, etc.)

38

TIPS

HIRING - MAKING AN OFFER

- Male candidates almost always tend to negotiate for their offer

- Female candidates are much less likely to negotiate

39

NOTE ON MALE VS. FEMALE CANDIDATES

NO EXPLODING OFFERS

MANAGING ENGINEERING TEAMS

BREAK41

HIRING - ON-BOARDING 42

ON-BOARDING

HIRING - ON-BOARDING 43

Don’t let this happen!

HIRING - ON-BOARDING

- Include all needed confidentiality forms attached to the offer letter.

- Have all of their accounts ready to go before they start work (email, chat, wikki, git, etc.)

- Give them a reading list of things to prepare for before their first day

- Never have people start too early on their first day (10:00 works well)

- Make sure they can be productive from day one.

- Assign a “buddy” to the new employee for the first week.

- Pair-program for the first two weeks

44

ON-BOARDING STARTS THE SECOND THEY SIGN THE OFFER

MANAGING ENGINEERING TEAMS

TERMINATION (FIRING)

45

FIRING 46

CALIFORNIA IS AN AT WILL EMPLOYMENT STATE BUT….

FIRING 47

ILLEGAL REASONS

. in harassment based on or discrimination against your “race, religious creed, color,

national origin, ancestry, physical disability, mental disability, medical condition, marital

status, sex, age, or sexual orientation” [California Fair Employment & Housing Act; Title VII

of the Civil Rights Act of 1964]

. in retaliation for your blowing the whistle on illegal or improper conduct [California Labor

Code 1102.5; California Health & Safety Code 1278.5; etc.]

. in retaliation for your taking family medical leave [California Family Rights Act; U.S. Family

Medical Leave Act]

. in retaliation for your applying for workers’ compensation for a work-related injury

[California Labor Code 132a]

. in retaliation for your union activity or participating in union investigations [National Labor

Relations Act]

. for participating in an investigation for discrimination or harassment [California Fair

Employment & Housing Act; Title VII of the Civil Rights Act of 1964]

FIRING 48

LEGAL ISSUES

- Please talk to your HR and or legal department prior to letting any employee go.

- Good documentation goes a long way in mitigating an wrongful termination suit.

- So does not being a jerk!

FIRING 49

REASONS

- There are three main types of termination:

- For cause

- Not for cause

- Layoff

- Each type has its own specific legal nuances.

FIRING 50

REMEDIATION

- Performance plans

- Give feedback early and often

- The employee should not be surprised unless it is for cause.

- Working at a startup is slightly different as there are much fewer resources available

FIRING 51

HOW TO DO IT

The direct manager should always be the one to tell the employee!

- A second person should also always be in the room (HR, Legal, your boss, etc.)

- HR should have all the legal paperwork required by law ready to go

- The employee is entitled to their last paycheck and any/all vacation bonus payments

- Severance pay is optional (consult with your legal and HR team for your specific policy)

- In most cases the employee should leave immediately after being told

FIRING 52

DON’T BE THIS GUY

MANAGING ENGINEERING TEAMS

PEOPLE MANAGEMENT

53

PEOPLE MANAGEMENT 54

GOALS

HOW MANY PEOPLE HERE KNOW THEIRTOP GOALS FOR THE NEXT 90 DAYS?

PEOPLE MANAGEMENT 55

GOALS

- Set both team and individual goals

- Make sure the goals are aligned with the company strategy / vision

- Make sure they are announced publicly (This makes people more accountable)

- Include professional development items as goals (attending workshops, meetups, etc.)

PEOPLE MANAGEMENT 56

ONE-ON-ONES

MOST IMPORTANT SECTION OF THE WORKSHOP!

“Generally, people who think one-on-one

meetings are a bad idea have been victims of

poorly designed one-on-one meetings.” - Ben

Horowitz

Managing an Engineering Team

PEOPLE MANAGEMENT - ONE-ON-ONES

59

SAME DAY AND TIME

ALWAYS DO IT

30 MINUTES AT LEAST

HOW ARE YOU DOING?

PEOPLE MANAGEMENT - ONE-ON-ONES

1. They are NOT a status update or project meeting. Use stand-ups and weekly emails for that.

2. Get personal (ask about hobbies, family, etc.)

3. Use this time to coach

4. Work on professional development items

5. Do an ad-hoc mini performance review

6. Always try to read between the lines and watch for reactions and moods

61

WHAT TO DO

PEOPLE MANAGEMENT - ONE-ON-ONES

62

PEOPLE MANAGEMENT - ONE-ON-ONES

63

⌚FIRST PERSON: 10 MINSECOND PERSON: 10 MIN

1. Take turns being the employee and the

manager.

a. Person with the lower letter first

name goes first as manager

2. Perform a quick one-on-one with each

other. When you are the employee, use

real world examples from your company

STRUCTURE

TASK

PAIRS

MANAGING ENGINEERING TEAMS

BREAK64

MANAGING ENGINEERING TEAMS

PROJECT MANAGEMENT

65

PROJECT MANAGEMENT 66

PROJECT MANAGEMENT

MANAGEMENT LESSONS

‣ DO:

‣ Communicate the most important issues / tasks for your team

‣ Know what every engineer is working on

‣ Be the tiebreaker when teams can’t (or won’t) decide

‣ Remove yourself from being the bottleneck

‣ DON’T

‣ Don’t get bogged down in fixing bugs or coding new features

‣ Micromanage

67

PROJECT MANAGEMENT

BE A SH!T UMBRELLA FOR YOUR TEAM‣ Keep all distractions at bay

‣ Your job is to maximize the

time they stay in “the zone.”

68

PROJECT MANAGEMENT

COMMUNICATION

‣ Agile project management tools (JIRA, Pivotal, Trello, Asana)

‣ Internal wiki (Atlassian Confluence)

‣ Internal chat (HipChat, IRC)

‣ Email

‣ Daily Standups

‣ Weekly team meetings

69

PROJECT MANAGEMENT

EMPLOYEE MOTIVATION

‣ Ideas?

70

PROJECT MANAGEMENT

EMPLOYEE MOTIVATION

71

PROJECT MANAGEMENT

EMPLOYEE MOTIVATION

72

PROJECT MANAGEMENT

EMPLOYEE MOTIVATION - WHAT MATTERS‣ Autonomy

‣ Mastery

‣ Purpose

73

MANAGING ENGINEERING TEAMS

HOW TO WORK WITH YOUR BOSS

74

HOW TO WORK WITH YOUR BOSS

- Over communicate. Your boss should never have to ask you status

- Require your team to give you brief weekly status updates

- use iDoneThis or 15five.com

- Give your boss weekly status updates

- Highlights from the current week and top todos for the next week

- Include any business KPIs that he/she is interested in. (every boss has their favorites)

- Be prepared to justify the ROI for all requested expenses (staff, software, etc.)

75

WHAT TO DO

MANAGING ENGINEERING TEAMS

REAL SCENARIOS

76

REAL SCENARIOS 77

MANAGING ENGINEERING TEAMS

RESOURCES78

RESOURCES 79

RESOURCES

- http://popforms.com

- http://atlassian.com

- http://greenhouse.io

- http://leadingsnowflakes.com

- http://15five.com

- http://idonethis.com

- http://trello.com

- https://asana.com

- https://slack.com

80

MANAGING ENGINEERING TEAMS 81

- Engineering excellence.

- Bias towards action.

- Superior teaching skills.

- Passion and energy

- Commitment.

- Hiring prowess.

- Design and business vision