Latest / DevQuestions with Tim Corey / 009 How Do I Become a Senior Developer? What Is the Difference Between a Junior and Senior Developer?
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: At what point do you become a senior developer?
- 0:28SPEAKER_01: How do you become a senior developer?
- 0:30SPEAKER_01: Is there a path to it?
- 0:32SPEAKER_01: How do you know when you've arrived as a senior developer?
- 0:36SPEAKER_01: Should you ever apply to a job as a senior developer?
- 0:41SPEAKER_01: These are great questions, and what we're going to talk about today in today's dev question video.
- 0:46SPEAKER_01: Now, if you don't know me, my name is Tim Corey.
- 0:49SPEAKER_01: My goal is to make learning C sharp easier.
- 0:52SPEAKER_01: One of the ways I do that is by taking some time in my Thursday video and talking through these questions that can really stump you or set you back.
- 1:02SPEAKER_01: And so we're going to talk it through so you know where you're going and know how to get there.
- 1:06SPEAKER_01: Now, in this video, we're talking all about how to become a senior developer.
- 1:12SPEAKER_01: One of the things that often surprises people is I don't see a big distinction in C sharp syntax knowledge between a junior developer or even an intern and a senior developer.
- 1:28SPEAKER_01: There may be, and I give rough percentages here, this is not scientific, but an intern might know 80 to 85% of C sharp syntax, but yet a senior developer might know 90%.
- 1:43SPEAKER_01: So the difference isn't about the C sharp syntax.
- 1:47SPEAKER_01: And that's often confusing to people.
- 1:55SPEAKER_01: Why am I not a senior developer?
- 1:58SPEAKER_01: And the reason why is because what separates a beginner developer from a senior developer isn't about syntax.
- 2:09SPEAKER_01: It's about how to take that syntax and put it together.
- 2:14SPEAKER_01: That's called experience.
- 2:16SPEAKER_01: And that experience is what sets people apart.
- 2:20SPEAKER_01: It's what takes you from a junior developer to a senior developer.
- 2:26SPEAKER_01: The more experience you have, the more senior you will probably be.
- 2:31SPEAKER_01: I say probably because there's experience and then there's experience.
- 2:36SPEAKER_01: Okay, so we'll talk about what experience really means.
- 2:40SPEAKER_01: But I have a lot of experience.
- 2:44SPEAKER_01: I have over two decades of professional software development experience.
- 2:49SPEAKER_01: That means that I've seen a lot of stuff.
- 2:53SPEAKER_01: So when I walk into a customer's organization, I still do some consulting.
- 2:58SPEAKER_01: And I don't usually write code anymore.
- 3:01SPEAKER_01: Usually what I do is I provide direction.
- 3:04SPEAKER_01: Instead of fishing myself, I teach you how to fish.
- 3:08SPEAKER_01: So that's my consulting role these days.
- 3:11SPEAKER_01: And so I'll walk into an organization and I will tell them how to do things because I have seen it done before.
- 3:20SPEAKER_01: And I'll say, okay, I've seen this before a number of times, and here are the pitfalls to avoid.
- 3:27SPEAKER_01: Here's the things to consider.
- 3:28SPEAKER_01: Here's how you can kind of direct your development to miss some of these problems.
- 3:34SPEAKER_01: And here's what I see down the road.
- 3:37SPEAKER_01: Here's the issues you're going to run into so we can avoid those or set yourself up to better point towards your eventual goal, not just your beginner goal.
- 3:47SPEAKER_01: That's what a senior developer does because a senior developer has seen more situations, has experienced them, has walked through them, and has learned the painful lessons and the good lessons as well.
- 4:05SPEAKER_01: And so all that adds up to this level of experience that makes it easier to approach a new situation using the past knowledge to better guide that future decision.
- 4:20SPEAKER_01: Now it doesn't mean I've seen it all.
- 4:22SPEAKER_01: And it doesn't mean a senior developer has seen it all.
- 4:25SPEAKER_01: We haven't.
- 4:27SPEAKER_01: But we've seen a lot.
- 4:29SPEAKER_01: Okay?
- 4:29SPEAKER_01: And so there's always going to be this sliding scale.
- 4:34SPEAKER_01: There's not a clear cut.
- 4:38SPEAKER_01: This is a junior developer.
- 4:39SPEAKER_01: A junior developer has one to five years experience.
- 4:47SPEAKER_01: And a senior developer has eight plus years.
- 4:50SPEAKER_01: That's not there's not a clear definition like that.
- 4:53SPEAKER_01: Because that's where it comes back to experience.
- 4:56SPEAKER_01: What kind of experience is it?
- 4:58SPEAKER_01: Alright, so let's compare two theoretical developers.
- 5:03SPEAKER_01: Developer number one works at a consulting agency.
- 5:09SPEAKER_01: Okay, this is what I did when I first started off in development.
- 5:12SPEAKER_01: And that developer works at 10 to 15 clients over the course of five years.
- 5:21SPEAKER_01: And they build 30 to 50 applications that do various things over those five years.
- 5:28SPEAKER_01: That's developer number one.
- 5:30SPEAKER_01: Developer number two works at one company, it's a big company, and they're focused on one piece of this application.
- 5:41SPEAKER_01: They maintain it, they fix the bugs, they improve it, that one piece that does one thing in the overall application for five years.
- 5:51SPEAKER_01: Which developer has more experience?
- 5:55SPEAKER_01: Because they both have five years of experience.
- 5:58SPEAKER_01: So it seems like on paper they're both the same.
- 6:02SPEAKER_01: But they're not.
- 6:04SPEAKER_01: Because one developer saw a little window really deeply.
- 6:09SPEAKER_01: They saw that little slice, they worked on a lot.
- 6:14SPEAKER_01: They got very good at it.
- 6:16SPEAKER_01: But they uncover the rest.
- 6:18SPEAKER_01: The other developer didn't go real deep probably in any of those applications.
- 6:23SPEAKER_01: But they wrote lots of them.
- 6:25SPEAKER_01: They they saw lots of different scenarios.
- 6:29SPEAKER_01: So each has their strengths, each has their weaknesses.
- 6:33SPEAKER_01: So experience isn't necessarily experience.
- 6:37SPEAKER_01: It's not this this clear-cut boundary.
- 6:41SPEAKER_01: But the more experience you have, the more you will bring to the table at your next job.
- 6:49SPEAKER_01: So even though each of these two theoretical developers are different, they both bring something to the table when it comes to their next job.
- 6:58SPEAKER_01: They both bring some skills.
- 7:01SPEAKER_01: So when you become a senior developer, it depends.
- 7:06SPEAKER_01: Okay?
- 7:06SPEAKER_01: There isn't a clear-cut line.
- 7:08SPEAKER_01: In fact, I feel like some days that I'm not a senior developer.
- 7:11SPEAKER_01: I know I am.
- 7:12SPEAKER_01: I've got two decades of experience.
- 7:14SPEAKER_01: I've got a lot of breadth of knowledge and depth of knowledge.
- 7:18SPEAKER_01: I've done tons of studying.
- 7:20SPEAKER_01: Um, I know C sharp pretty well as well as other languages.
- 7:24SPEAKER_01: But at the same time, there's so much more to learn.
- 7:26SPEAKER_01: There's so much that I don't know.
- 7:28SPEAKER_01: There's so many areas where I'm like, ah, it's not, I'm that's not my strength.
- 7:33SPEAKER_01: So it feels like I'm a senior developer in some areas, and I'm a junior developer in other areas.
- 7:42SPEAKER_01: And so that's where, again, imposter syndrome kicks in.
- 7:46SPEAKER_01: There's a video on that in this in this series where I say, I'm not good enough.
- 7:52SPEAKER_01: Okay.
- 7:53SPEAKER_01: But I am just not in everything.
- 7:56SPEAKER_01: Okay?
- 7:56SPEAKER_01: And that's the same with you.
- 7:58SPEAKER_01: There's areas you have strengths in, and there's areas that you aren't as good at.
- 8:04SPEAKER_01: What you want to do is you want to have a base in kind of a breadth of areas.
- 8:10SPEAKER_01: You don't want to focus too narrow on your base.
- 8:13SPEAKER_01: So have knowledge of desktop, web, maybe a little mobile if you can, but definitely console services.
- 8:22SPEAKER_01: Kind of know what all those things are and how to work with them at a base level.
- 8:28SPEAKER_01: And then have a specialty where you focus and say, you know what?
- 8:32SPEAKER_01: I'm gonna be a web developer.
- 8:34SPEAKER_01: So I know how to build a desktop app, and I just don't like to do it that often.
- 8:38SPEAKER_01: I know how to create a Windows service, I know how to talk to a database, I know how to do these certain things, but my really focus is web development.
- 8:47SPEAKER_01: And so I'm gonna do C sharp web development, and you build more experience in that column.
- 8:54SPEAKER_01: But you can't have experience everywhere necessarily.
- 8:57SPEAKER_01: Like I said, that guy that had fifty or five years at 15 different jobs, that's that's a wider cushion that's that's more that's wider, but not so high.
- 9:10SPEAKER_01: Where the person who had one job that was really focused narrow has a really deep focus in that area.
- 9:18SPEAKER_01: You kind of want both.
- 9:20SPEAKER_01: You kind of want to have again that that width of that breadth of topics, but you want to have a depth in one area.
- 9:28SPEAKER_01: And if you kind of focus there, the more experience you have in that, the more you'll be seen as a mid-level and senior developer.
- 9:38SPEAKER_01: It's time, it's how many scenarios you've seen in that area.
- 9:44SPEAKER_01: So if you want to have a senior developer position, you need to spend more time in that position.
- 9:51SPEAKER_01: That may mean that you have to create some open source projects or you have to volunteer your time at the local animal shelter or somewhere else building applications in that area, getting work experience that maybe you can't get in your day-to-day job, but to build that experience, that resume, that portfolio of stuff that you've done in that area, that will deepen your skill in that particular area, and that particular area, you will go from junior developer to mid-level developer to a senior developer, all by how much time you spend and how much experience you have in that area.
- 10:31SPEAKER_01: Okay, so it all comes down to experience.
- 10:33SPEAKER_01: I know it's difficult, it's not something you can test for, it's not something where you can study and say, okay, now I'm a senior developer because I've studied more.
- 10:44SPEAKER_01: It's not a study thing, it's an application thing.
- 10:48SPEAKER_01: How often have you built something?
- 10:50SPEAKER_01: How many apps have you built?
- 10:53SPEAKER_01: What have you done in your app building experience?
- 10:58SPEAKER_01: Start with testing everything you learn.
- 11:02SPEAKER_01: I've talked about this before, but when you learn something new, create a test project.
- 11:08SPEAKER_01: Actually, create two to five.
- 11:10SPEAKER_01: And I encourage you to create more towards the five section.
- 11:13SPEAKER_01: Um, but create two to five test projects that just test what you learned.
- 11:19SPEAKER_01: Now, you don't have to have a real project that does anything.
- 11:23SPEAKER_01: Just create a little application that gets just enough code in there to get you to what you need to learn.
- 11:29SPEAKER_01: So if it's an if statement, just enough code so you can have an if statement in your code that does something.
- 11:35SPEAKER_01: Okay?
- 11:36SPEAKER_01: So, and try out different things.
- 11:39SPEAKER_01: That right there gives you some experience.
- 11:42SPEAKER_01: That's that's base level, but does give you some experience.
- 11:46SPEAKER_01: Then start putting things together into still small but more comprehensive projects that do a few things.
- 11:55SPEAKER_01: Well, that deepens your skill a little bit more in those areas, and then create some test projects to do something.
- 12:03SPEAKER_01: Well, again, you your knowledge is gonna grow a little more in that area, and then you start volunteering your time or creating open source projects, or if you're fortunate enough, work at your job in that area.
- 12:18SPEAKER_01: Now that you're gonna grow even more and you're gonna start seeing more of a depth of experience creating real projects using whatever technology or stack that you are focusing on, and you'll see yourself move up that that ranking towards senior developer.
- 12:36SPEAKER_01: Okay, so senior developer, it's not about a test, it's not about how much you study, it's about how much you apply, what your experience level is in that area.
- 12:47SPEAKER_01: Okay, hopefully I answered your questions.
- 12:50SPEAKER_01: If you have more questions, leave them down below.
- 12:52SPEAKER_01: If you have questions for a future dev questions video, leave down below.
- 12:56SPEAKER_01: I'll put on a suggestion list, and hopefully you'll see your question answered soon.
- 13:01SPEAKER_01: Okay?
- 13:01SPEAKER_01: Thanks for watching.
- 13:02SPEAKER_01: As always, I am Tim Corey.
- 13:04SPEAKER_00: Thank you for joining us for this episode of Dev Questions.
- 13:07SPEAKER_00: Tim is committed to making it easier for you to become a developer.
- 13:11SPEAKER_00: If you would like to help make more content like this possible, please like, subscribe, rate, and share dev questions.
- 13:18SPEAKER_00: You can also send your questions to questions at iamtimcore.com.
- 13:23SPEAKER_00: Until next time, remember, you are too smart and your time too valuable to waste it making all the mistakes Tim did.
- 13:30SPEAKER_00: When you're ready to learn to think and code like a professional developer, head over to imtimcore.com and enroll in a course.