Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Consultants & Rockstars, Who Needs 'em? - Madis...

Consultants & Rockstars, Who Needs 'em? - Madison Ruby

Sound familiar? The Rails ecosystem is growing in leaps and bounds, like the Java ecosystem did in its’ early days. So many languages, frameworks, plugins, engines, libraries and tools. So little time to deliver your new project.

It’s tempting to hire a rock star who knows absolutely everything to get your new project off the ground. You can also hire "consultants" to help fill in the holes in your team when taking your existing product to the next level. Or maybe just hire a whole bunch of people for cheap, and they’ll get the job done... But did you ever consider the untapped wealth of the team you already have?

In this session we’ll explore ways in which the average development team can explore, learn, teach, and grow, until the sum of members of the team is as great as any Consultant or Rockstar.

Lori M Olson

August 20, 2011
Tweet

More Decks by Lori M Olson

Other Decks in Programming

Transcript

  1. Why? Saturday, August 20, 2011 The real question is why

    do we think we need a rockstar or a consultant?
  2. They know *everything* Saturday, August 20, 2011 But not just

    that. Rockstars are self-motivated learners. They learn new things, because they enjoy learning new things.
  3. Super productive Saturday, August 20, 2011 They’ll “get ‘er done

    fast”, and push that critical release out the door
  4. They have no fear Saturday, August 20, 2011 The difficult

    we do immediately, the impossible could take a little longer.
  5. *knows* one thing very, very well Saturday, August 20, 2011

    These would be your experts. They have deep knowledge of a critical piece of technology
  6. know *hard* things Saturday, August 20, 2011 Your team thinks

    a problem is really too hard, then you bring in the expert(s). Things that are hard to learn. Things that are difficult to understand.
  7. deep knowledge pool Saturday, August 20, 2011 Consultancies have a

    vast pool of knowledge to call upon, from their colleagues.
  8. Why not? Saturday, August 20, 2011 So, if Rockstars &

    Consultants are so great, why would you not want to hire them?
  9. Boredom Saturday, August 20, 2011 Self motivated learners... once there

    is nothing new to learn, they get bored, and they run away when the next opportunity to learn presents itself. Or worse, they don’t run away, and start...
  10. @ezmobius: So don't forget to get up from ur desk

    and get some exercise. 4 years of 14 hour, red bull fueled days sitting in a chair can kill you! Saturday, August 20, 2011 Ezra (don’t make me say his last name, I’ll screw it up) posted this last week.
  11. _why the lucky stiff, @wayneeseguin Saturday, August 20, 2011 Community

    examples of burnout. Over-reaction to circumstances, amplified by stress. If that’s not burnout...
  12. the big payoff Saturday, August 20, 2011 Some of your

    rockstars are just looking for the what I like to call the illusion of the big payoff. If you don’t produce that, they’ll move on for another try. You do? then they retire.
  13. Prima Donna Saturday, August 20, 2011 someone who behaves in

    demanding, often temperamental, fashion revealing an inflated view of themselves, their talent, and their importance What if they are hard to work with? They can be mono-focused and not open to new, alternative ideas.
  14. Bait & switch Saturday, August 20, 2011 The ole bait

    & switch. You hire them for their expertise, and they send in the B-team.
  15. Knowledge walking out the door Saturday, August 20, 2011 All

    that knowledge that they came in with? Most of it walks out the door with them, when the contract ends
  16. GROW your TEAM Saturday, August 20, 2011 How about you

    spend some time and grow your own team. Grow is such an interesting word. We’ll come back to it, and reflect on the many aspects of grow.
  17. KNOW your team Saturday, August 20, 2011 You won’t be

    able to effectively grow your team, unless you know your team. single? workaholic? married? kids? pets? aging parents? illnesses? These are never things to be discriminated about, just ... knowing enough about your people to apply them to the problems at hand in the most effective way.
  18. Identify core technologies Saturday, August 20, 2011 everything involved in

    the devops of your application or project development
  19. OS, DB Saturday, August 20, 2011 Not just from the

    user side, but the configuration and customization side of things
  20. Deploy Saturday, August 20, 2011 Linux, Hardware, memory, RAID, firewalls,

    etc Cloud, EC2, S3 Capistrano, SSH Apache, Nginx, Passenger, Load Balancer
  21. HOW? Saturday, August 20, 2011 How does any one person

    keep on top of all of that? Poorly, at best. What to do? There’s got to be an alternative...
  22. Share Saturday, August 20, 2011 If you spend money, as

    well as time, on all this training, make certain it’s shared.
  23. bar camp Saturday, August 20, 2011 Back to “know your

    team”. If they are all married with kids, Bar Camp = bad idea. Lunch & Learn = good idea. Bunch of single workaholics? Bar Camp all the way.
  24. Replacement costs Saturday, August 20, 2011 Replacing an unhappy developer

    who walks away is almost always going to cost you more than doing what’s necessary to keep them. Not just in terms of finders fees, but time. Lots and lots of time.
  25. Valued people, stay. Saturday, August 20, 2011 If you prove

    to people that they are valued, they will be more likely to stay, than those who think that they are just another warm body, down in the trenches.
  26. Engage Saturday, August 20, 2011 Make certain that every person

    on the team is engaged, and feels ownership.
  27. Split Responsibilities Saturday, August 20, 2011 Collective code ownership is

    great, but as we’ve just demonstrated, not everyone can be an expert in every piece of the puzzle. For each core technology, you need to identify a primary and secondary point person
  28. The Secondary Saturday, August 20, 2011 Remember when we talked

    about that “hit by a bus” thing? How about vacations? Sick Leave, Mat leave?
  29. Not enough? Saturday, August 20, 2011 Just declaring primary and

    secondary point person is not enough. You need more.
  30. Par-ti-ci-pa-tion Saturday, August 20, 2011 I guess given that so

    many developers are introverts, it shouldn’t be surprising, but... you can’t just sit back, you need to step up and participate.
  31. Stay on Top Saturday, August 20, 2011 Everyone has to

    start somewhere. The point is to make the effort to stay on top of at least one thing
  32. know the issues Saturday, August 20, 2011 What are the

    bugs? Incompatibilities? Stability issues?
  33. Plan for upgrades Saturday, August 20, 2011 Unless your tool

    is stagnant and never changes (code smell! run away!), you’ll need to manage your updates
  34. beta tests Saturday, August 20, 2011 Participate. Don’t have to

    inflict on your team, but try it out, get an idea of what the impact will be. If you need a second opinion, that’s why you’ve got a secondary.
  35. contribute Saturday, August 20, 2011 And, as my PSA of

    the presentation, if it’s open source, then for gawd’s sake contribute!
  36. TIME Saturday, August 20, 2011 Did I mention that this

    takes time? Corey Haines posted an great link the other day on Twitter that talks about technical debt, and the perils of working at an unsustainable pace. Make sure that your real pace includes the time for people to do their jobs, develop their expertise, and and have a life, too.
  37. Continuous Improvement! Saturday, August 20, 2011 Training, Participation, Developing Expertise...

    All these things combine into a continuous improvement process for your team. And that is better than all the Rockstars & Consultants out there.