Latest / DevQuestions with Tim Corey / 269. The Truth About 10x Developers
Transcript
- 0:00SPEAKER_01: What are 10x developers and are they a good thing?
- 0:04SPEAKER_01: The truth is there are some developers that can produce a lot of code and do a lot of good work very quickly.
- 0:11SPEAKER_01: However, that doesn't necessarily mean they're the most valuable team members.
- 0:16SPEAKER_01: In fact, they can be a detriment to the team.
- 0:19SPEAKER_01: In this episode, we're going to talk about how to become a truly valuable employee and team member.
- 0:33SPEAKER_00: Welcome to the Dev Questions podcast with Tim Corey.
- 0:37SPEAKER_01: Software development is more than just writing code.
- 0:40SPEAKER_01: So let's talk about the rest of it.
- 0:42SPEAKER_01: Specifically, let's talk about 10x developers and how to have a true impact on a team.
- 0:48SPEAKER_01: I've worked with quite a few people who others would call 10x developers.
- 0:53SPEAKER_01: They created major parts of our applications, they wrote the complicated code, and they generally let the team in work produced.
- 1:02SPEAKER_01: Some teams idolize these developers.
- 1:04SPEAKER_01: Others struggle with their impact on the team.
- 1:07SPEAKER_01: Over time, as I worked with more and more teams of developers, I came to see things from a different perspective.
- 1:14SPEAKER_01: My version of a 10x developer deviated from the common perception.
- 1:19SPEAKER_01: So let's talk about the common perception of a 10x developer and what I see as a true 10x developer.
- 1:26SPEAKER_01: Traditionally, a 10x developer is thought to be someone who writes complex code quickly, who builds major parts of an application, who does the hardest work, and who works a lot of hours often.
- 1:41SPEAKER_01: That sounds great, and employers tend to love that type of person in the short term at least.
- 1:48SPEAKER_01: However, there are some things missing from that list.
- 1:52SPEAKER_01: It's a self-focused list.
- 1:54SPEAKER_01: It's rarely about improving the team or making the rest of the team better.
- 1:59SPEAKER_01: So here's what I see the traits of a true 10x developer.
- 2:04SPEAKER_01: Number one, they write simple, maintainable code that is well documented.
- 2:10SPEAKER_01: I worked for a company once where the team was not very familiar with front-end coding.
- 2:17SPEAKER_01: And so we were doing a JavaScript framework, and I knew that because of that, because their lack of familiarity, we really didn't want to go into the complexities that could be done in that framework.
- 2:31SPEAKER_01: So even though there were better ways in theory, better ways of doing things, I worked to keep all the code as simple as possible in as few areas as possible.
- 2:43SPEAKER_01: Now, when I say there's better ways of doing that, that's the misconception that the better way is all about, you know, the code is dry and the code is in these, you know, the right areas and it's all separated out and all the rest.
- 3:00SPEAKER_01: That's a very simplistic view on how software development really works in the real world.
- 3:06SPEAKER_01: Because what's really better is making sure that your team can maintain that code well.
- 3:13SPEAKER_01: And my thought was: hey, if my team can't do the work on this code, then it's all on me.
- 3:19SPEAKER_01: And I don't want that.
- 3:21SPEAKER_01: I want to make sure that my team can work on this code too and feel comfortable doing so.
- 3:26SPEAKER_01: So for me, I want to make sure that I wrote simple, maintainable code that, again, is well documented, because that's another part of it too.
- 3:37SPEAKER_01: Some people say, well, all code should be self-documenting.
- 3:40SPEAKER_01: That's a pretty arrogant statement, in my opinion.
- 3:43SPEAKER_01: And the reason why is because, first of all, there are areas of your code that are just complex.
- 3:49SPEAKER_01: If you've ever written a regular expression, you should know that you should document that.
- 3:55SPEAKER_01: Now, that's not your entire code base.
- 3:58SPEAKER_01: You shouldn't say, you know, the run method runs things.
- 4:02SPEAKER_01: Like that, that's not good documentation.
- 4:04SPEAKER_01: That's not good, you know, code comments or whatever.
- 4:08SPEAKER_01: But you should have good documentation that is clear, that points out the tricky bits, that makes sure people understand how the code flow works.
- 4:16SPEAKER_01: So that's kind of one part of a 10x developer, someone who's writing simple, maintainable code that is well documented.
- 4:25SPEAKER_01: A senior developer is someone who can take those complex issues and solve them in a simple way.
- 4:33SPEAKER_01: That's what you're trying to accomplish.
- 4:35SPEAKER_01: Now, number two is bringing other team members along with you.
- 4:41SPEAKER_01: So when you're thinking about trying to be a tax developer or working with a tax developer, evaluating are they a good text developer, you want to look at how are they bringing people along.
- 4:55SPEAKER_01: Because if you have a person on your team that is doing most of the work and is doing all the hard work and is is creating these complex systems, well, what are they really doing?
- 5:05SPEAKER_01: They're making it even harder for other developers to work on the code at all because they're the code they're writing is too complex for the rest of the team.
- 5:13SPEAKER_01: The rest of the team doesn't understand what's going on.
- 5:15SPEAKER_01: And so they're just left going, I guess we'll let you do all the work.
- 5:20SPEAKER_01: And that's not good for anybody.
- 5:22SPEAKER_01: But instead, what you want to see out of a 10x developer is someone who brings the rest of the team along with them.
- 5:29SPEAKER_01: Someone who elevates the rest of the team by working with them, by training them on some of the tricky bits and saying, hey, let me show you how this works.
- 5:38SPEAKER_01: Let me show you why this works.
- 5:39SPEAKER_01: Let me show you how to do this in a simpler way that will get things done and also be a better way.
- 5:48SPEAKER_01: So they're mentoring, they're spending more time working with people sometimes than working with code.
- 5:54SPEAKER_01: And that's actually how to be a better developer sometimes is to bring others along.
- 6:00SPEAKER_01: Yes, it's going to slow that 10x developer down.
- 6:03SPEAKER_01: They're not going to create as much code, but what they're going to do is bring the rest of the team along, which in turn will create more code.
- 6:13SPEAKER_01: Number three, the 10x developer identifies processes and technology improvements that will actually help the team.
- 6:22SPEAKER_01: So, yes, if this person is really good at technology, if they're really good at software development, they can they're really good at identifying how things work and understanding the things in depth and really understanding the heart of new changes and how they work, well, they're a great person for evaluating how that's going to actually help the team.
- 6:46SPEAKER_01: And if they're just saying this is the best technology, that's a bad thing.
- 6:50SPEAKER_01: If instead they're saying this is the best technology for our situation and for our team, that's a good thing.
- 6:58SPEAKER_01: See, they're incorporating others.
- 7:00SPEAKER_01: They're realizing that they don't live in a vacuum, that they're not the only developer here, that they need to bring others along and they need to make sure that whatever they implement can be supported by the rest of the team, is going to benefit the rest of the team, and is actually going to be a good solution for the company.
- 7:21SPEAKER_01: So it's not just they find the best thing, which is also why when people ask me, they say, you know, Tim, what is the best fill in the blank here, whether it's programming language or IDE or cloud service or whatever the case may be, the answer is always going to be it depends.
- 7:38SPEAKER_01: Because yes, there could be one that is a little bit faster.
- 7:42SPEAKER_01: This is where you'll get caught up in people saying, well, the benchmarks say this.
- 7:47SPEAKER_01: That it doesn't matter.
- 7:49SPEAKER_01: Because unless it is so egregiously different as far as speed, and for the most part, things aren't, um, it's not about that.
- 7:58SPEAKER_01: That can be a part of the decision, but a bigger part needs to be how does it work with our existing systems?
- 8:04SPEAKER_01: How does it increase or decrease the mental load on the rest of the team?
- 8:10SPEAKER_01: Can we support this with all of our team members?
- 8:14SPEAKER_01: That's when you actually find out what the best is for your situation.
- 8:19SPEAKER_01: And number four for the ideal text developer is they push the team to grow and improve in a positive way.
- 8:29SPEAKER_01: They're continually pushing people forward, they're continually helping people grow.
- 8:34SPEAKER_01: Sometimes putting people ahead of themselves and saying, hey, you become the leader in this area.
- 8:42SPEAKER_01: You become the leader in that area.
- 8:44SPEAKER_01: You be the subject matter expert in this area, because it's not about their ego.
- 8:50SPEAKER_01: It's not about them being the best and being the per only person that people can go to.
- 8:57SPEAKER_01: It's about them saying, our team can be better, our team can be the best.
- 9:02SPEAKER_01: And they look to grow and improve a team in a positive way.
- 9:07SPEAKER_01: So this is how I see actual 10x developers making a huge impact on a team.
- 9:13SPEAKER_01: And I've seen, again, both types of 10x developers.
- 9:17SPEAKER_01: I've seen teams that have kind of withered and died because of the egocentric uh me first 10x developer, the person who thought they were sometimes doing the right things, thought they were just, you know what, I'm gonna get the job done.
- 9:34SPEAKER_01: I'll just get it done.
- 9:36SPEAKER_01: But that actually can have a negative impact on the rest of your team.
- 9:39SPEAKER_01: Yes, you're gonna have to slow down, but you're gonna speed up in the long term.
- 9:44SPEAKER_01: Now I've also seen where people have come in and been the positive 10x developer.
- 9:50SPEAKER_01: I've been the beneficiary of working under some of those people where it they lift you up, they they help you, they work on you and they work on making sure that the team can grow.
- 10:02SPEAKER_01: And you know what?
- 10:03SPEAKER_01: That can be an incredibly powerful environment where people want to work together, where they want to help, where they want to continue to grow and improve.
- 10:13SPEAKER_01: And what they see is that they all get better because of one person.
- 10:19SPEAKER_01: So that's what I'd like to see from people.
- 10:22SPEAKER_01: Now, what I'm not talking about here is just leaders.
- 10:26SPEAKER_01: This is not about, oh, if you're a team leader, do this.
- 10:29SPEAKER_01: Now, if you're a team leader, do this.
- 10:32SPEAKER_01: But if you're a regular developer, do this.
- 10:37SPEAKER_01: You can do this no matter what level you are.
- 10:40SPEAKER_01: You can be a Tex developer even as a junior developer.
- 10:45SPEAKER_01: Now, some things you're not gonna know how to do, and it's gonna take some work and you're gonna have to grow into it.
- 10:51SPEAKER_01: But some of these things you can do when you're first starting out.
- 10:55SPEAKER_01: You can bring others along when you're first starting off.
- 10:58SPEAKER_01: You can be the junior developer who helps the new hires come along.
- 11:04SPEAKER_01: You can be the person that encourages the the next generation of developers in moving forward and having more responsibilities and learning how to do things better.
- 11:14SPEAKER_01: You can push them and yourself to grow and improve.
- 11:18SPEAKER_01: It doesn't have to be that you wait until you're the one in charge.
- 11:22SPEAKER_01: Okay, so this is definitely a lead where you're at.
- 11:27SPEAKER_01: Being a true text developer doesn't have to mean you're the smartest person in the room.
- 11:32SPEAKER_01: The biggest part of being a true text developer is having a team mindset while working hard on your own work.
- 11:39SPEAKER_01: Thanks for listening.
- 11:40SPEAKER_01: As always, I am Tim Corey.
- 11:42SPEAKER_00: Thank you for joining us for this episode of Dev Questions.
- 11:45SPEAKER_00: When you're ready to learn to think and code like a professional developer, head over to IamtimCorey.com and enroll in a course.