how (not) to build a team

61
#DeccanRubyConf How To Build A Team V not Thanks Mike North for letting me use this remote.

Upload: jremsikjr

Post on 13-Apr-2017

303 views

Category:

Software


0 download

TRANSCRIPT

#DeccanRubyConf

How To Build A TeamVnot

Thanks Mike North for letting me use this remote.

#DeccanRubyConf

Before we begin:Call & response

#DeccanRubyConf

Applause👏

#DeccanRubyConf

Laughter😂

#DeccanRubyConf

Quiet😶

#DeccanRubyConf

#DeccanRubyConf

How To Build A TeamVnot

Thanks Mike North for letting me use this remote.

#DeccanRubyConf

Audience

Developers at almost any stage of their career. Why? Because if you stay in the industry for any length of time you’re going to work on a team. You have the ability to shape that team.

#DeccanRubyConf

Goal

The goal for this talk is to give you specific and actionable advice for how to, help, build teams and to help get you started.

My experience and common sense, you should know all of this stuff. For example: What does it take to build a team. What’s the core component?

Ernie Miller conversation at lunch. This stuff is obvious so we don’t talk about it. We should do that more.

#DeccanRubyConf

Don’tStart 10 years ago

Action Item

Don’tDon’tI’m getting disapproving looks from some of the organizers and Pat Allan. Pat is the first person whom accepted an open source commit from me. It was not a great pull request and he helped me through the process and tried to understand just what the heck I was doing.

This is not good advice. You can’t take any action where you go back in the past.

#DeccanRubyConf

Start Today

Action Item

This is much more actionable. If you can, find one person whom you don’t know either sitting to your right or left, in front or behind you and introduce yourself.

AWESOME. Now, come up after this talk and tell me who you met. At that time if you can also have their contact info, job history, and what they’d like for a career path, that’d be great.

#DeccanRubyConf

Start 10 years agowith Jim^

Flashback

We’re going to move quickly through this history because I think it helps to know why I think these things are important.

#DeccanRubyConf

Start 15 years agowith Jim^

Flashback

We’re going to move quickly through this history because I think it helps to know why I think these things are important.

#DeccanRubyConf

1st professional programming job 6 months. Team grew from 1 to … well 1. But, I found my replacement and they were in place before I left.

I started here on an existing team of around 4 people. Over the course of 7 years the team grew to about 35 before it came crashing down.

I started here on an existing team of around 4 people. Over the course of 4 years the team grew to about 30 before a mass exodus occurred which happened to include me. I more or less got sucked out by the resulting vacuum.

I started here on an existing team of around 4 people. Over the course of 2 and a half years we grew the team to around 20 people before there was a fallout. I left due to a difference of opinion with my then partners a number of other folks also left in a similar timeframe. Amicable. I’ve teamed up with Bendyworks on projects quite a bit over the 18 mos.

I started here on an existing team of around 4 people. Over the course of 7 months we grew the team to about 17-18 people before it wound up contracting back down to a few people.

I wanted all the things I had experienced the risk & the reward. To control my own destiny to the degree that any of us can. Over the course of 2.5 years we’ve grown from a team of 2 to a team of 24.

#DeccanRubyConf

I’m not taking Credit

Note: Don’t take away from this talk that I built these teams myself or even that it was primarily because I was there. It wasn’t, but I did participate. Our largest client to date was not because of me. Some of our best hires were not because of me.

#DeccanRubyConf

Start 15 years agowith Jim^

So 15 years ago I was just a developer. Not a particularly good one mind you. I was self-taught and didn’t have a ton of experience. Sound like anyone in this room?

Honestly, you’re probably all more advanced that I was ten years ago.

#DeccanRubyConf

Genuinely desire success in those around you and do what you can to make it happen.

What I had back then was a worldview that I’ve used to create this personal mission statement.

Someone is pulling their hair out with trying to solve a problem? Ask if you can help. Or if you know you’re not going to be able to help suggest ways for others to help or for them to seek advice.

#DeccanRubyConf

Spoon Theory

http://adrb.io/ales-spoons

We all start out with a finite amount of energy each day and the tasks we perform consume that energy.

When you’re sick you likely have less energy or have to expend more energy to perform the same tasks as a “healthy” person

#DeccanRubyConf

Genuinely desire success in those around you and do what you can to make it happen.

What I had back then was a worldview that I’ve used to create this personal mission statement.

Someone is pulling their hair out with trying to solve a problem? Ask if you can help. Or if you know you’re not going to be able to help suggest ways for others to help or for them to seek advice. Do what you can.

#DeccanRubyConf

Avoid Meeting New People

Action Item

Don’tDon’tDon’tMeet a lot of people (Conferences, Meetups), start a conversation, get to know them. Invite others to join.

People I knew before I got here: Vipul, Prathamesh (Madison Ruby)People I knew of before I got here: Satish, GautamPeople I’ve gotten to know since arriving at the conference: Bilal (lightning talk) Jim Weirich comparison

#DeccanRubyConf

It’s not what you know

We just talked about this you might not be able to solve their problem yourself. But you might know somebody who can help.

#DeccanRubyConf

It’s not who you know

Well, I mean it’s a little bit about who you know isn’t it?

#DeccanRubyConf

It’s who knows you

Have you ever posted to a mailing list? Or Stack Overflow? The people who answer your questions either know you or get to know you pretty quick. If you’re earnestly seeking help and you’ve done everything you can and you’re not rude or insulting people will want to help.

#DeccanRubyConf

Genuinely desire success in those around you and do what you can to make it happen.

The same is true for people who are closer than random Mailing List people. If you’re helpful and diligent people are going to be more likely to help you than if you’re an asshole.

#DeccanRubyConf

Watch those around you struggle

Action Item

Don’tDon’tDon’tHow can you build a network of successful people who are also willing to help you?By doing everything you can to make them successful

#DeccanRubyConf

Hire all your friends

Action Item

Don’tDon’tDon’tThis seems like a good idea but the same things you love about your friends in your time off are often the most irritating when you’re trying to focus and push to a successful conclusion.

#DeccanRubyConf

Don’tGet Bigger,Because it is Better

Action Item

Don’tDon’tGrowth for it’s own sake doesn’t work. Team dynamics start to break down between 10-15 people. You can no longer go to dinner together without making special arrangements. Cliques start to form.

#DeccanRubyConf

Don’tHire By Resumé Alone

Action Item

Don’tDon’tEvery person who lists Ruby on their resumé is a unique person with different experiences and backgrounds. I’m no longer a fan of weeding people out by resumé but, I understand if you have a sufficiently large pool of applicants you need some first pass.

#DeccanRubyConf

Don’tIgnore PeopleBlindly Trust Process

Action Item

Don’tDon’tYour team should be encouraged to use your process because they see it’s benefit. If they are constrained by process with no obvious benefit they will feel trapped and discouraged

#DeccanRubyConf

Don’tBurn bridges

Action Item

Don’tDon’tPeople are weird and squishy. We make mistakes and miscommunicate all the time. If you shut down everybody who you’ve ever disagreed with then you’re cutting off fuel for your own future success.

Bendyworks 2-6 people for ~ 1 year

#DeccanRubyConf

Don’tDon’t take out the trash

Action Item

Don’tDon’tLead by example, if you want to work somewhere where things are kept tidy then when you see items that need to be addressed, handle them.

Marian @ Hashrocket

#DeccanRubyConf

Don’tOnly look at the work directly in front of you

Action Item

Don’tDon’tAre we solving the right problem? This sort of tunnel vision can trip up even the best teams. Tight deadlines can trigger this …

#DeccanRubyConf

Never Fire Anyone

Action Item

Don’tDon’tDon’tIf people are not a fit for your team do what you can to find them opportunities to be more successful.

I’ve fired a number of people over the years. It’s not a fun experience. But the results can sometimes be surprising. One person I fired went on to double their salary in their next job

#DeccanRubyConf

Don’tDon’t let anyone leave

Action Item

Don’tDon’tWhen I’ve spoken to most people about joining Adorable I let them know that I don’t expect that they will retire from Adorable. We should be more interested in people growing up and out. This will happen. People will leave and hopefully because I’ve started this conversation they’ll be open when that time comes. I’ll have more time to react by addressing their reason for leaving or finding a way to carry on without them

#DeccanRubyConf

Don’tGet your team to fight amongst themselves

Action Item

Don’tDon’tWhile disagreement is healthy we should work to keep the atmosphere civil. Provide space for disagreement and resolution.

#DeccanRubyConf

Don’tAvoid planning

Action Item

Don’tDon’tIf you don’t know where you’re going then any road will do. As someone who is struck with wanderlust this doesn’t seem like a bad quote.

#DeccanRubyConf

Don’tOnly Hire Rockstars

Action Item

Don’tDon’tTalented senior developers are extremely helpful for a team. I don’t know if 10X is a real multiplier but there are people whom amplify the effect of those around them.

#DeccanRubyConf

Don’tAvoid defined roles

Action Item

Don’tDon’tIf everybody is responsible then nobody is responsible. Expectations are set by roles

#DeccanRubyConf

Anger is a violation of expectation

More than just leading to unrest in a team you could also wind-up in legal trouble if you haven’t expressly communicated expectations which you use to judge your team.

You can’t fire me for not doing X because you didn’t tell me that was my responsibility

#DeccanRubyConf

Don’tOnly hire people who already get your jokes

Action Item

Don’tDon’tI’ve felt this so hard with our junior folks. Our first five people were seasoned developers who’d lived on the internet for the previous decade. We appreciated the references but weren’t exposed to new jokes, tv shows, etc. It was pretty stale.

#DeccanRubyConf

17 Action Items

There you go direct and actionable advice for turning yourself into a team magnet.

#DeccanRubyConf

A funny thing happened on the way to Deccan Ruby

Case Study

#DeccanRubyConf

“Beyond being one of the best people I know, he's an insanely connected person. He's currently traveling to

India so responses may be slow.”

This happened in between my flight from Madison-Chicago and Chicago-Dehli. There’s another company in my town who is paying every recruiter from Poona to Madison, my hometown which is over 8,000 mi away. And I have folks letting me know that someone is likely going to be looking for a new job.

#DeccanRubyConf

“Beyond being one of the best people I know, he's an insanely connected person. He's currently traveling to

India so responses may be slow.”

I’ve tried to hire the person that made this introduction. In fact, I spoke to them last month at Madison Ruby. They are moving to Seattle and wanted recommendations for places to work.

I could have chosen to be upset that they chose not to work with me. But, by being supportive it’s led to another opportunity.

#DeccanRubyConf

If I can’t hire this person because we’re not ready for another member of the team we’re going to look like heroes to this company that cant find anyone, right?

#DeccanRubyConf

I’ve read this book in four separate companies. Pay attention to the subtitle, A Guide To Giving & Getting Advice Successfully.

#DeccanRubyConf

Never use cheap seed

Secrets of consulting

If you need someone to build a Rails Application you can hire someone who knows HTML/CSS/Javascript. The likelihood that they will be successful is going to be significantly lower than someone who knows Python or another object oriented language.

#DeccanRubyConf

A prepared soil is the secret of all gardening

Secrets of consulting

The environment that you place your team in determines their success as well.Whether it’s* internal politics* deadlines* ongoing education & community involvement

#DeccanRubyConf

Timing is critical

Secrets of consulting

If you bring somebody onto your team before you are ready or before they are ready for you they are less likely to be successful.

Growth for it’s own sake.

#DeccanRubyConf

The plants that hold firmest are the ones who develop their own roots

Secrets of consulting

We had some talk of passion earlier. I’m tempted to use that term again here to describe this analogy but, maybe that’s not correct. Someone who deliberately practices who is interested in solving the sorts of problems their job offers them is much more likely to be successful

#DeccanRubyConf

Excessive watering produces weakness not strength

Secrets of consulting

There’s a tendency in our industry to isolate developers and have them solely focused on solving software problems. To the extreme: Silicon Valley companies provide services from Hair salons to cafeterias to picking you up at your front door.

What happens to these developers when they are released back into the real world?

#DeccanRubyConf

In spite of your best efforts,some plants will die.

Secrets of consulting

I touched on this earlier. Members of your team will come and go. Maybe for reasons related to the job. Possibly for reasons beyond your control.

#DeccanRubyConf

Genuinely desire success in those around you and do what you can to make it happen.

#DeccanRubyConf

No matter what type of animal you are,change starts with you.

I watched Zootopia on the flight over and was inspired by this closing line in the movie.

Thank you!

#DeccanRubyConf

Applause👏