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.
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.\n
Consultancies have a vast pool of knowledge to call upon, from their colleagues.\n
http://thoughtworker.com/fun-thoughtworks\n\n
So, if Rockstars & Consultants are so great, why would you not want to hire them?\n
\n
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...\n
\n
Know everything, does everything, works insane hours, burns out...\n
Ezra (don’t make me say his last name, I’ll screw it up) posted this last week.\n
Community examples of burnout.\n\nOver-reaction to circumstances, amplified by stress. If that’s not burnout...\n
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.\n
\n
\n
someone who behaves in demanding, often temperamental, fashion revealing an inflated view of themselves, their talent, and their importance\n\nWhat if they are hard to work with? They can be mono-focused and not open to new, alternative ideas.\n
\n
Consultants on the other hand...\n
Communications issues\n
The ole bait & switch. You hire them for their expertise, and they send in the B-team.\n
All that knowledge that they came in with? Most of it walks out the door with them, when the contract ends\n
\n
So what *are* your alternatives\n
How about you spend some time and grow your own team.\n\nGrow is such an interesting word. We’ll come back to it, and reflect on the many aspects of grow.\n
You won’t be able to effectively grow your team, unless you know your team. \n\nsingle? workaholic? married? kids? pets? aging parents? illnesses?\n\nThese 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.\n
\n
everything involved in the devops of your application or project development\n
\n
\n
MRI or JRuby? 1.8 or 1.9?\n
Node.js or Backbone.js\n
\n
\n
\n
\n
\n
Mocha, Flexmock, Factory Girl\n
Cucumber\n
Jasmine\n
OS, Editor(s), VCS, debuggers, profilers, CI\n
\n
Not just from the user side, but the configuration and customization side of things\n
Training is as much about time, as it is about money\n
\n
\n
\n
\n
\n
\n
\n
\n
Conferences are great <wink, wink> learning experiences.\n
If you spend money, as well as time, on all this training, make certain it&#x2019;s shared.\n
\n
Back to &#x201C;know your team&#x201D;. If they are all married with kids, Bar Camp = bad idea. Lunch & Learn = good idea. Bunch of single workaholics? Bar Camp all the way.\n
What if they take all that training and leave?\n
Replacing an unhappy developer who walks away is almost always going to cost you more than doing what&#x2019;s necessary to keep them. Not just in terms of finders fees, but time. Lots and lots of time. \n
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.\n
Make certain that every person on the team is engaged, and feels ownership.\n
Collective code ownership is great, but as we&#x2019;ve just demonstrated, not everyone can be an expert in every piece of the puzzle.\nFor each core technology, you need to identify a primary and secondary point person\n
The go-to person for that piece of the puzzle. \n
Remember when we talked about that &#x201C;hit by a bus&#x201D; thing? How about vacations? Sick Leave, Mat leave?\n
Just declaring primary and secondary point person is not enough. You need more.\n
I guess given that so many developers are introverts, it shouldn&#x2019;t be surprising, but... you can&#x2019;t just sit back, you need to step up and participate.\n
There are hundreds of resources out on the web, USE THEM.\n
\n
\n
\n
\n
\n
\n
\n
\n
Everyone has to start somewhere. The point is to make the effort to stay on top of at least one thing\n
What are the bugs? Incompatibilities? Stability issues?\n
Unless your tool is stagnant and never changes (code smell! run away!), you&#x2019;ll need to manage your updates\n
Participate. Don&#x2019;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&#x2019;s why you&#x2019;ve got a secondary.\n
Use them. \n
\n
And, as my PSA of the presentation, if it&#x2019;s open source, then for gawd&#x2019;s sake contribute!\n
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.\n
\n
\n
\n
\n
\n
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.\n