Latest / DevQuestions with Tim Corey / 077 What Does A Lead Developer Do? How Do I Become One?
Transcript
- 0:00SPEAKER_00: Welcome to the Dev Questions Podcast with Tim Corey.
- 0:03SPEAKER_00: Join us each episode as we tackle the questions you are asking about a career in software development, understanding the industry, and new technology.
- 0:12SPEAKER_00: If you're just starting out or you want to grow stronger as a developer, this is the place to get your questions answered.
- 0:19SPEAKER_00: Now, here's your host, expert developer and online educator, Tim Corey.
- 0:25SPEAKER_01: What does a lead developer do?
- 0:28SPEAKER_01: And how do they become one?
- 0:31SPEAKER_01: So the lead developer is usually a developer that kind of takes the lead in a department.
- 0:39SPEAKER_01: Makes sense, right?
- 0:40SPEAKER_01: Um, but that lead developer isn't always the best developer.
- 0:46SPEAKER_01: Even though that they usually are, it doesn't always happen that way.
- 0:50SPEAKER_01: So let's talk through how do you become a lead developer, what do they do, and why would you want to be one?
- 0:57SPEAKER_01: So let's start off by saying that the lead developer should be a senior developer first.
- 1:05SPEAKER_01: Okay, so a senior developer is one that has moved up the ranks from junior to mid-level to senior.
- 1:11SPEAKER_01: Now, those those uh that wording can be different in every organization.
- 1:16SPEAKER_01: What it means can be a little bit different in every organization, but essentially a senior developer has been around for a while, knows the software, knows the environment, knows how to work in it, and has had experience building that software.
- 1:33SPEAKER_01: Now, you may bring in a new senior developer from you know, just hiring them, so you won't know the code base necessarily, but they will have had years of experience building software.
- 1:46SPEAKER_01: So that experience is really important.
- 1:49SPEAKER_01: Okay, so you really don't want to have a junior developer go right into lead developer.
- 1:54SPEAKER_01: It happens once in a while, especially at small organizations, but it really shouldn't.
- 1:59SPEAKER_01: You need to have that experience.
- 2:02SPEAKER_01: Now, a senior developer isn't all that it takes to be a lead developer.
- 2:09SPEAKER_01: You also need to have some project management skills, skills to be able to not just write code, but also to figure out the the best way to get from point A to point B, the um the things you have to do in in concert together in order to get something accomplished.
- 2:30SPEAKER_01: For example, a lead developer will think through okay, if Mary is working on this part and Bob's working on that part, and Sue's working on this part, then you know, we can all get together and and kind of move forward here, and this is how it's gonna work, and here's how it's gonna you know intermix.
- 2:49SPEAKER_01: So that project management skills and figure out the you know the path through to success for that will be important.
- 2:56SPEAKER_01: But also, there's some leadership skills involved in being a lead developer.
- 3:02SPEAKER_01: Makes sense again.
- 3:04SPEAKER_01: So leadership has to do with interpersonal skills, being able to communicate well with other developers, not just be a heads-down developer who doesn't talk to people real well, who doesn't um interact real well, who rubs people the wrong way.
- 3:23SPEAKER_01: That's not gonna, that's not gonna fly as a good lead developer.
- 3:27SPEAKER_01: A lead developer needs to be able to win the support of fellow developers through how they act.
- 3:35SPEAKER_01: So there is some leadership skills necessary.
- 3:40SPEAKER_01: Now, what's the purpose of a lead developer?
- 3:43SPEAKER_01: Well, a lead developer sets the direction for a project, they they point everyone in the right direction.
- 3:52SPEAKER_01: This sounds a little bit like what a manager does, but management isn't always a developer position.
- 4:00SPEAKER_01: Sometimes you move developers into management and then they can do some of this, but really you want a lead developer to be the one setting the direction, saying, Okay, here's how we're gonna build this application.
- 4:13SPEAKER_01: So, for instance, when you have a brand new application, a lead developer might say, Okay, here is the structure we're gonna set up.
- 4:22SPEAKER_01: We're going to work with ASP Net Core, we're gonna build our our class libraries in.NET 6.
- 4:30SPEAKER_01: We're going to make sure that we have these things in place, maybe dependency injection.
- 4:36SPEAKER_01: We're going to set up these um best practices as well.
- 4:40SPEAKER_01: And that's the next thing, uh, the purpose of a lead developer is to set up those best practices.
- 4:45SPEAKER_01: So maybe those best practices are here's how we're gonna do our naming, here's how we're gonna do our commenting, here's how we're gonna do our documentation, setting up some boundaries and guidelines to help the whole team work to better together better.
- 5:02SPEAKER_01: Because if I am naming things one way and Sue's naming things a different way, that's gonna clash and it's gonna cause problems and confusion.
- 5:11SPEAKER_01: We don't want that.
- 5:12SPEAKER_01: And so the lead developer establishes those best practices and they also develop systems.
- 5:19SPEAKER_01: Maybe there's a better way to create software, maybe there's a way that you can work through a pull request or work through commits and how you do that the most efficient way.
- 5:32SPEAKER_01: A lead developer will developer will help establish those systems.
- 5:37SPEAKER_01: Now you may ask the question well, what's the difference though between a lead developer and architect?
- 5:44SPEAKER_01: So a software architect and a lead developer don't have to be different, they can be the same, they can be the same person, but in some organizations, they will be different.
- 5:57SPEAKER_01: And in that case, the architect will, if we think of this in the terms of building a house, the architect would create the blueprint.
- 6:07SPEAKER_01: Say, okay, we're gonna need to have a piece that does this, a piece that does this, and lay out the blueprint.
- 6:12SPEAKER_01: And then the lead developer is like the project foreman, the person who comes on site and guides the building crews, the person who says, Okay, now we have the blueprint, let's read the blueprint and say, Okay, you and you and you go over there and build this out, you and you go over and build that out and start to laying out how they're gonna do things and implement the blueprint.
- 6:36SPEAKER_01: Now, how do you become a lead developer?
- 6:41SPEAKER_01: First step, you're if you've listened to me at all before, you probably know exactly what I'm gonna say next, but it's really important.
- 6:50SPEAKER_01: The first step and the best step and the biggest step in becoming a lead developer is practice.
- 6:58SPEAKER_01: Practice is so important.
- 7:00SPEAKER_01: Remember, I said it's that a senior developer needs to have experience.
- 7:05SPEAKER_01: Well, a senior developer should be a lead developer, or a lead developer should be a senior developer, so therefore, a lead developer needs to have practice.
- 7:15SPEAKER_01: So you really need to have lots of practice building applications.
- 7:20SPEAKER_01: Because remember that the lead developer sets the direction, establishes best practices, and develops systems.
- 7:28SPEAKER_01: Well, how can you set the direction?
- 7:31SPEAKER_01: How can you establish best practices, and how can you develop systems when you haven't done it a lot?
- 7:39SPEAKER_01: Maybe you've you know you say, okay, we're gonna do solid.
- 7:43SPEAKER_01: How much is solid?
- 7:44SPEAKER_01: What parts of solid?
- 7:46SPEAKER_01: How um how detailed are you gonna get into solid?
- 7:50SPEAKER_01: Do you know?
- 7:51SPEAKER_01: Okay, you can't lead people if you don't know the answers to those things.
- 7:56SPEAKER_01: Because if you just say, Let's do solid, one person will implement solid differently than the other person will.
- 8:03SPEAKER_01: You have to have a clear vision for what you want to see, and that clear vision comes from experience, and experience comes from practice.
- 8:13SPEAKER_01: Also, with practice, one of the important things about practice is actually learning from it, not just practicing and then doing the same thing over again.
- 8:24SPEAKER_01: Looking at what you've built and saying, how could I have done that better?
- 8:28SPEAKER_01: That constant improvement will make you a better developer.
- 8:33SPEAKER_01: Now, another thing you can do at work as you grow into this position is take on small projects, even if you're the only developer that's doing it.
- 8:43SPEAKER_01: Take on a small piece, figure out how to lay it out, figure out the best practices inside your company guidelines, inside your overall lead developers guidelines, but figure out how to get that small project through to completion.
- 8:58SPEAKER_01: That'll give you some experience with project management, give you some experience with maybe leadership if you have other people help you, but also just establishing those best practices, setting the direction, and then developing systems.
- 9:12SPEAKER_01: So those small projects can start to snowball as you become better at them.
- 9:18SPEAKER_01: Okay.
- 9:19SPEAKER_01: And then be the best developer on a team.
- 9:22SPEAKER_01: I know that that sounds like duh, but at the same time, it's not.
- 9:27SPEAKER_01: Because the more you push for that, instead of saying, I'm gonna come in, do my work and leave, the more you push to be the best developer on the team, to be continually growing, to be continually better than you were six months ago, that will be noticed, and that will start to attract leadership to you.
- 9:48SPEAKER_01: People will start to give you more work, more leadership roles, more opportunity to have a voice in how things are done.
- 9:58SPEAKER_01: And then with that, practice your interpersonal skills.
- 10:03SPEAKER_01: Work on working with people instead of against people, work on being a help in the environment, not just a complainer in the environment.
- 10:15SPEAKER_01: Because you can't be a person who's always complaining and be a good lead developer.
- 10:22SPEAKER_01: Because you know what?
- 10:23SPEAKER_01: You're gonna find out that when you actually get into lead development, that you're gonna make mistakes.
- 10:29SPEAKER_01: And if you've always been critical of others who've made mistakes, then when it's your turn to make the mistakes, everyone will be critical to your again against you.
- 10:38SPEAKER_01: And that doesn't help the team, that doesn't help move you forward.
- 10:43SPEAKER_01: So work on those interpersonal skills, grow your relationships, and really be humble about what you're doing.
- 10:51SPEAKER_01: Okay.
- 10:52SPEAKER_01: So those are my thoughts on being a lead developer.
- 10:55SPEAKER_01: It can be a great position, it can be one where you really see a lot of um success and a lot of um fulfillment in seeing your vision move forward at your company.
- 11:10SPEAKER_01: But it is one you have to work towards and earn.
- 11:14SPEAKER_01: It's not just something you can just apply for.
- 11:18SPEAKER_01: You need to have that experience because even if you got hired to be a lead developer, if you don't have the experience, the practice, the interpersonal skills, the leadership skills, the project management skills, you're really gonna struggle.
- 11:32SPEAKER_01: And it's gonna be a very, very difficult thing, even if you succeed.
- 11:37SPEAKER_01: So I encourage you to grow those skills over time.
- 11:40SPEAKER_01: All right.
- 11:41SPEAKER_01: So thanks for listening to this week's episode of Dev Questions.
- 11:44SPEAKER_01: I don't know if you know, but this is not only a podcast on your all your favorite podcast players, but also a video podcast on YouTube.
- 11:54SPEAKER_01: So if you haven't checked one or the other out, check them out and subscribe.
- 11:59SPEAKER_01: I appreciate it.
- 12:00SPEAKER_01: Have a great day, and as always, I am Tim Corey.
- 12:03SPEAKER_00: Thank you for joining us for this episode of Dev Questions.
- 12:06SPEAKER_00: Tim is committed to making it easier for you to become a developer.
- 12:09SPEAKER_00: If you would like to help make more content like this possible, please like, subscribe, rate, and share Dev Questions.
- 12:17SPEAKER_00: You can also send your questions to questions at IamTimcorey.com.
- 12:22SPEAKER_00: Until next time, remember, you are too smart and your time too valuable to waste it making all the mistakes Tim did.
- 12:29SPEAKER_00: When you're ready to learn to think and code like a professional developer, head over to imtimcorey.com and enroll in a course.