Developer Experience

Summarized using AI

Rockstars & Consultants, Who needs 'em?

Lori Olson • October 09, 2012 • Earth

In the video titled 'Rockstars & Consultants, Who needs 'em?' presented by Lori Olson at Aloha RubyConf 2012, the central theme revolves around the necessity of rockstar developers and consultants in the tech industry versus the untapped potential of existing development teams. Olson begins by humorously illustrating the topic with anecdotes about her dogs before delving into the definitions and characteristics of rockstar developers and consultants.

Key points discussed include:
- Definition of Roles: Rockstar developers are portrayed as highly skilled, self-motivated learners who are super productive and often work under high pressure, whereas consultants possess deep knowledge in specific areas that can help organizations solve complex issues.
- Downsides of Hiring: Olson outlines various risks associated with hiring both groups. For rockstar developers, issues include the risk of burnout, lack of loyalty due to the lure of high pay, and the potential for a culture clash. Consultants may lack commitment to a company's long-term goals and can often bring a different approach that may lead to communication issues.
- Focus on Team Growth: A significant emphasis is placed on growing and developing internal teams rather than solely relying on external hires. Olson advocates that understanding and investing in existing team members' skills and circumstances can lead to a more effective overall team dynamic.
- Importance of Training and Engagement: The session stresses the necessity for investment in training and creating a culture of continuous learning within teams. Engaging employees through shared responsibilities and knowledge-sharing sessions fosters personal growth and job satisfaction.
- Sustainability in Development: Olson concludes by highlighting the importance of maintaining a sustainable work pace to avoid burnout and encourage exploration of new technologies, emphasizing that happy, well-trained employees result in a more competent team.

The ultimate takeaway is that by nurturing and investing in current team members' development, companies can create a powerhouse of knowledge and skills that surpasses the temporary gains of hiring rockstars or consultants.

Rockstars & Consultants, Who needs 'em?
Lori Olson • October 09, 2012 • Earth

Sound familiar? The Rails ecosystem has grown 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.

Help us caption & translate this video!

http://amara.org/v/FGfs/

Aloha RubyConf 2012

00:00:15.440 Okay, so I think we'll probably get underway. Welcome to 'Rock Stars and Consultants: Who Needs 'Em?'
00:00:21.840 I thought I'd start off just for the heck of it with dogs. You guys have seen enough cats, right?
00:00:33.360 So, these are my dogs. That's them in the picture right there.
00:00:40.160 Okay, my name is Lori Olson. My Twitter handle is @WindexLory.
00:00:46.879 I keep a blog at windex.posters.com. It hasn't been updated for a while, but I plan to do more.
00:00:53.280 I am a freelance developer, mostly doing Rails work these days, but I also speak at conferences.
00:01:06.640 I have done various workshops. The first one was 'Ruby on Rails for Real.' It focused on teaching Rails to enterprise developers.
00:01:12.560 Just last month, we developed a new workshop called 'Rails for iOS,' focused on the kinds of things that iOS developers might want.
00:01:20.000 So, enough about me. Let's talk about consultants and rock stars.
00:01:28.240 Who really needs them? Well, I think actually you do, and in fact, everyone does.
00:01:33.759 There’s even a reality TV series starting this fall dealing with rock star developers.
00:01:40.960 Personally, I think that's kind of sad, but the simple fact is that at one time or another, every shop is going to need to hire either that rockstar developer or a consultant.
00:01:47.119 The real question I think is not really why we need these people, but rather why we continue to need them.
00:01:54.399 And that's really the interesting part that I want to get into.
00:02:00.240 Before we delve into that, let's talk a bit about what actually makes a rock star developer.
00:02:06.000 Have any of you ever been called a rock star developer? Come on, put up your hands.
00:02:12.400 How about other tags that have been applied to you that you might consider rockstar-level, like ninja?
00:02:19.200 These rockstar developers, these ninjas, they know everything.
00:02:24.800 It's not just that; they are self-motivated learners. They learn new things because they enjoy it.
00:02:30.959 They've done it all before; they've seen everything and have been there, done that.
00:02:36.879 They are super productive. Once you hire them, they will get it done fast.
00:02:42.239 They will deliver those critical releases that your product needs and be out the door before you know it.
00:02:50.160 We all need a superhero every now and then, don't we?
00:02:55.440 Another aspect of the rockstar developer is that they have no fear—no technical fear. Their motto might be something like, 'The difficult we do immediately, the impossible might take a little longer.'
00:03:04.560 Okay, so enough about rockstar developers. Let's talk about consultants.
00:03:11.120 What is it that we hire consultants for? They come in a couple of different varieties.
00:03:19.440 One of them is the expert. They know one thing really, really well and have deep knowledge of some critical piece of your infrastructure.
00:03:27.440 Your technology staff might need that expertise for various issues.
00:03:35.639 Sometimes, they know complex things—stuff that your team doesn't have time to do, like tuning databases or scaling an application to five million users.
00:03:43.599 These are the problems your team might find a little too hard to tackle on their own, so you bring in the experts.
00:03:50.560 Often, these experts are not just individuals. They might be part of a consultancy, which has additional advantages.
00:04:00.639 They have a really deep knowledge pool because they can call on their colleagues.
00:04:06.639 Individually they may not be experts in everything, but collectively, a consultancy can be expert in absolutely everything.
00:04:12.239 That's what groups like ThoughtWorks or Pivotal work to achieve—they come along and help you out.
00:04:20.000 Now that we know what rockstar developers and consultancies look like, why would we not want to hire them?
00:04:26.160 Why would we want to dispense with them after a while? There are some downsides to hiring rockstar developers and consultants.
00:04:36.800 Let's start with the rockstar developers. One of the risks is that they are learners.
00:04:43.199 If there’s nothing new for them to learn anymore, they get bored.
00:04:48.960 When the next new exciting opportunity comes along, they may run away.
00:04:55.440 Or worse, they may not run; they may simply wait until they burn out.
00:05:01.760 One common issue with your rockstar developers is burnout.
00:05:07.440 They often try to do everything, work insane hours, and ultimately burn out.
00:05:15.360 I don't know how many of you know Ezra, but last year, this was one of his tweets: he almost died because he was suffering from extreme levels of burnout.
00:05:22.240 So, you definitely don't want to put your rockstar at risk.
00:05:28.000 Another problem with rockstar developers is what I like to refer to as the illusion of the big paycheck.
00:05:35.600 If you hire a rock star and promise to pay them a gazillion dollars with big stock options, they may leave if you fail to deliver promptly.
00:05:43.920 They'll chase after the next opportunity that promises a big payoff.
00:05:49.760 Or, if you do deliver that big payoff, they might decide it's time to leave.
00:05:55.440 This scenario can be a lose-lose situation for the companies hiring them.
00:06:01.919 One of the other risks, which everyone jokes about, is the possibility of losing that vital key person.
00:06:09.600 What if that person you hired gets hit by a bus? That would be a bad situation.
00:06:16.800 All of a sudden, they are gone, and no one else is equipped to handle their responsibilities.
00:06:22.959 Another concern with rockstar developers is that they can sometimes have a demanding personality.
00:06:29.600 The official definition of a diva is someone who behaves in a demanding and often temperamental manner, revealing an inflated view of themselves and their importance.
00:06:37.760 Have you ever encountered anybody like that?
00:06:43.679 Last but not least, a rock star developer who knows their worth typically doesn’t come cheap.
00:06:50.000 Consultants, on the other hand, are usually wildly expensive.
00:06:57.600 They often lack buy-in for your company—they won't know about your business operations or care about your long-term plans.
00:07:04.640 They are there for their contract, and that’s it.
00:07:09.920 Another problem with consultancies is the old bait and switch: you hire them for their expertise, and while they may have it, they may send their B-Team to you because other experts are busy.
00:07:18.080 That kind of fallback is not very reassuring, is it?
00:07:26.720 Culture clash is also an issue, often seen as an impedance mismatch between consultants and your team.
00:07:33.600 The way they look at problems and solutions can be significantly different from your team’s approach.
00:07:41.440 These communication problems can be quite difficult to manage.
00:07:49.839 You may also find that your consultants aren't completely focused.
00:07:55.879 It's entirely possible that they are managing two, three, or four other jobs simultaneously, which is fairly standard for consultants.
00:08:01.920 If they are completely focused on your project, you could also face challenges.
00:08:05.840 Most taxation agencies will scrutinize your company closely if you hire consultants only.
00:08:14.240 They may start calling that a personal services contract, leading to audits.
00:08:22.240 In that case, your consultant isn't really a consultant—they're effectively an employee, and you haven't been paying them or the government properly.
00:08:30.080 The primary risk, however, comes from both rockstar developers and consultants.
00:08:39.840 When a consultant's contract ends or when a rockstar gets a new opportunity, they often take all their knowledge and walk out the door.
00:08:46.880 That knowledge is a significant company asset, and losing it can create substantial issues.
00:08:54.080 Since I'm talking about some of these downsides, I guess I think everyone should consider their own teams before hiring out.
00:09:01.600 I think companies and startups don't spend enough time thinking about growing their teams.
00:09:07.440 It's essential to grow a team—not just by adding additional bodies, but by improving and leveling up your entire team.
00:09:13.120 The first step towards leveling up your team is knowing your team.
00:09:22.080 Most companies don't spend enough time getting to know the people who work for them.
00:09:32.640 Are they single? Are they married? Are they workaholics who work all night? Do they have kids?
00:09:39.840 What about pets? You all know I have dogs, right? Maybe they have aging parents, or maybe they have illnesses or disabilities.
00:09:45.440 None of these factors should be discriminated against, as they are merely aspects of life.
00:09:52.080 You need to know these things to slot people into the most effective roles and to understand some of their limitations.
00:09:59.920 Another thing you need to know is your entire technology stack.
00:10:05.600 How many different things does your team need to be familiar with?
00:10:12.000 Let’s take, for example, your typical Rails application which can include various languages and technologies.
00:10:19.840 Starting with development, we should consider the basics: Ruby, JavaScript, CoffeeScript, and so on.
00:10:26.880 When it comes to Ruby, is it MRI, JRuby, or something else? Are you using old projects on 1.8 or newer versions like 1.9?
00:10:35.199 Are you using Rails or Sinatra, or even moving forward into Backbone or Angular?
00:10:41.440 What about testing frameworks? Are you using MiniTest, TestUnit, or RSpec?
00:10:49.760 How are you executing client-side testing? Are you using Jasmine or browser testing tools?
00:10:55.600 And what about your overall developer tool stack: your operating systems, editors, version control, debuggers, and monitoring tools?
00:11:03.760 Okay, that was just development; we haven't even reached deployment yet.
00:11:11.840 On the deployment side, you may be on a different operating system, say developing on a Mac while deploying on Linux.
00:11:18.480 Setting up and configuring a production database can be vastly different from a development database.
00:11:25.600 Are you deploying on Heroku, or do you have other constraints? If so, which Linux distribution are you using?
00:11:35.360 Consider hardware requirements, the amount of memory you need, disk space, rate configuration, and firewall settings.
00:11:42.720 All these details are critical parts of your technology stack.
00:11:48.960 There's so much to stay on top of that even a rockstar may struggle.
00:11:58.560 Over just a few years, it will be hard for anyone to maintain expertise across every component in your development stack.
00:12:05.760 So now that I've explained how there are way too many things for people to keep updated, let’s talk about training.
00:12:12.320 Investing time into training your team is critically important.
00:12:19.760 Training is how you grow; it's not just about the money spent on courses or conferences.
00:12:26.480 The time allocated for training is equally crucial, as people need time to absorb what they’ve learned.
00:12:31.920 Without this time, half the value of training goes to waste because people won’t remember it.
00:12:40.160 There are various types of training available. Remember, knowing your team allows you to tailor the training approach to their needs.
00:12:46.480 Self-learning methods include web-based courses, screencasts, and books.
00:12:54.080 More formal types of learning might involve courses or certifications.
00:12:58.640 Conferences are also a fantastic learning experience.
00:13:05.280 Instead of just sending one person to a course, consider rotating training opportunities among team members.
00:13:13.840 It maximizes the value of that training investment.
00:13:20.240 Anyone who takes training should be responsible for sharing that knowledge with the rest of their team.
00:13:27.120 We can organize lunch-and-learn sessions or informal bar camps to share learned knowledge.
00:13:32.240 Again, this comes back to knowing your team. Understand their circumstances and preferences for effective collaborative learning.
00:13:40.080 You might find that married team members with families prefer lunch-and-learn while others may prefer after-hours events like bar camps.
00:13:47.760 But a common concern arises—'What if I invest all that money into training and they leave?'
00:13:54.560 Simple math shows that replacing a dissatisfied developer costs companies more than it would to keep them happy.
00:14:02.800 Not just in terms of hiring fees, but also considering the loss of knowledge and time investment in training.
00:14:11.120 Companies must strive to keep their people content. Investing in training is essential.
00:14:18.640 If employees feel valued and see their companies investing in them, they are more likely to stay.
00:14:26.080 When employees feel this way, they consider themselves more than just a replaceable cog in the machine.
00:14:31.760 This engagement leads to increased productivity and improved morale across the board.
00:14:39.280 One effective way to enhance ownership and accountability among team members is by delegating responsibilities among them.
00:14:45.600 Rock stars shouldn't carry the weight of everything; responsibilities should be distributed.
00:14:52.000 Designate a primary and a secondary person for each key system within your tech stack.
00:15:01.600 It's vital to have backup support in case a primary person is unavailable due to vacation, illness, or other reasons.
00:15:10.560 This way, you're not solely reliant on one person for critical operations.
00:15:19.680 Additionally, it's important to create a sense of participation among your developers.
00:15:27.760 Most developers tend to be introverted and resist stepping into the spotlight.
00:15:34.400 It’s not enough for someone to just say, 'I'm the primary.' They need to engage actively.
00:15:40.560 There are countless resources available online regarding technology updates and communities to participate in.
00:15:47.920 Encourage your team to subscribe to mailing lists, read tech blogs, and participate in forums.
00:15:54.560 Starting with lurking in communities can be a good way for them to learn.
00:16:01.120 As confidence builds, they can transition from asking questions to helping others.
00:16:07.680 This back-and-forth participation helps everyone stay updated on technologies.
00:16:15.840 As a primary for a technology, you should proactively manage upgrades and updates.
00:16:22.640 Provide time for evaluations and beta testing—this is crucial for understanding any potential impacts before release.
00:16:29.440 Planning for these upgrades and engaging in community discussions can make all the difference.
00:16:35.919 If the technology is open source, consider contributing—sharing your improvements back to the community.
00:16:42.440 Given the nature of this conference, I think it’s a shame not to encourage contributing back.
00:16:49.520 If you've acquired expertise, share that knowledge, and help others in the community.
00:16:55.200 Recognize that becoming a primary expert requires effort and time, but the benefits are significant.
00:17:03.200 Becoming a true expert means identifying bugs and fixes, which can contribute immensely to your team’s capabilities.
00:17:10.200 Don't forget that training and investing in expertise takes time; it's a vital investment.
00:17:17.040 This ties into maintaining a sustainable pace within your development team.
00:17:24.720 Working extensive overtime isn't the right way to achieve success.
00:17:31.600 Instead, work consistently every day, ensuring sustainability.
00:17:36.040 Training and expertise development must be integrated into your sustainable pace.
00:17:44.480 Lastly, it's important to ensure that your team does not remain stagnant.
00:17:51.920 Create room for exploration and give them opportunities to experiment with new technologies.
00:17:58.480 Rotation of responsibilities allows people to gain new experiences and keep enthusiasm high.
00:18:05.360 If necessary, switch primary responsibilities, allowing developers the chance to dive into fun projects.
00:18:12.720 The goal is to prevent developers from becoming weary of repetitive tasks.
00:18:20.080 Enabling engagement across your team brings about motivation and job satisfaction.
00:18:28.000 I hope I have started to shed light on what growing your team means.
00:18:35.680 It means training your people, encouraging participation, and developing expertise.
00:18:41.920 These elements form a kind of virtuous circle, contributing to a continuously improving development team.
00:18:50.320 This approach helps to create a team that’s better than all the rock stars and consultants out there.
00:18:57.920 And for Finnegan, it seems the time has come.
00:19:05.760 Yes, that’s what I deal with every day at the end of the session.
00:19:10.560 Okay, so that's it. There is my contact information.
00:19:19.760 I have posted the slides already, and I'll tweet the link in a moment. But do we have any questions?
00:19:27.760 No? Okay, we're done.
Explore all talks recorded at Aloha RubyConf 2012
+17