Latest / DevQuestions with Tim Corey / 047 What Are The Most Important Traits Of A Software 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:24SPEAKER_01: What are the most important traits of a software developer?
- 0:28SPEAKER_01: What attributes will help me succeed as a developer?
- 0:33SPEAKER_01: Now, these are questions that I wish I had asked 20 years ago, because I think that it would have helped focus me on what I should do next.
- 0:44SPEAKER_01: So let's talk about this in today's episode of Dev Questions.
- 0:48SPEAKER_01: I think there's two main attributes that a software developer needs to have.
- 0:55SPEAKER_01: Now there may be more peripheral ones, there may be others we can talk about, but I think these are the two that are really the most important, the key ones.
- 1:05SPEAKER_01: And the best part is that neither of these is something that you're born with.
- 1:11SPEAKER_01: Okay, so let's start off with a quick illustration.
- 1:16SPEAKER_01: If you are growing up and your parents say you can be anything you want to be, that's baloney.
- 1:24SPEAKER_01: You can't be whatever you want to be.
- 1:26SPEAKER_01: It sounds great and it sounds encouraging, but the reality is that you can't be.
- 1:34SPEAKER_01: I wanted to be a um a fighter pilot when I grew up.
- 1:38SPEAKER_01: I wanted to fly jets, I want to fly them fast.
- 1:41SPEAKER_01: That seemed like the coolest job for me.
- 1:45SPEAKER_01: I actually went down to the recruiter at one point and said, this is what I want to do.
- 1:49SPEAKER_01: Unfortunately, I had a very kind person who kind of pulled me aside and said, Listen, here's the reality.
- 1:57SPEAKER_01: You are at the time I was six foot six.
- 2:00SPEAKER_01: He said, There is no way you will fit in a cockpit.
- 2:04SPEAKER_01: You just won't.
- 2:06SPEAKER_01: And even if they somehow crammed you into a cockpit, if you ever had to eject, you would die.
- 2:13SPEAKER_01: Not a joke, not an exaggeration.
- 2:15SPEAKER_01: You will die.
- 2:17SPEAKER_01: I was not born to be a fighter pilot.
- 2:21SPEAKER_01: I couldn't be.
- 2:23SPEAKER_01: I did not have the correct physical build for it.
- 2:28SPEAKER_01: Now, I do have the height to be an NBA player.
- 2:33SPEAKER_01: Not everybody does.
- 2:36SPEAKER_01: So if you are five foot flat, well, you probably can't be an NBA player.
- 2:43SPEAKER_01: I'm not saying you can't, because there have been exceptions where very, very short people have become NBA players.
- 2:51SPEAKER_01: But we all know that's not the rule.
- 2:54SPEAKER_01: That's the exception.
- 2:55SPEAKER_01: And even those people were incredibly physically gifted.
- 3:00SPEAKER_01: I was not physically gifted that way.
- 3:02SPEAKER_01: So even though I have one of the requirements to be in the NBA, the reality is I didn't have the ability to be in the NBA.
- 3:12SPEAKER_01: So there are some careers that are just closed off to me at birth.
- 3:19SPEAKER_01: Like my genetics won't allow certain things.
- 3:23SPEAKER_01: And sometimes people say, well, software development is like that.
- 3:28SPEAKER_01: And I get the perspective.
- 3:30SPEAKER_01: In some cases, I've even felt that way a little bit, in that there are certain types of people that just aren't cut out for the software development field.
- 3:40SPEAKER_01: That's what it feels like.
- 3:42SPEAKER_01: But the reality is that anyone can be a software developer.
- 3:49SPEAKER_01: Anyone.
- 3:50SPEAKER_01: So let's get that off the table right now.
- 3:53SPEAKER_01: You're not limited by your genetics.
- 3:57SPEAKER_01: Your brain, however it works, can do this.
- 4:03SPEAKER_01: But let's talk about the the attributes that are most important to software developers.
- 4:10SPEAKER_01: And number one is determination.
- 4:14SPEAKER_01: This is when you keep going after failure.
- 4:19SPEAKER_01: When something happens where you fail, what do you do?
- 4:25SPEAKER_01: Do you pick yourself back up and keep going, or do you decide it's just too hard?
- 4:34SPEAKER_01: This is pretty much true of any field.
- 4:38SPEAKER_01: But it's really important that you focus on the mindset of I am going to do this.
- 4:46SPEAKER_01: Even if you love software development, and I do, I love software development.
- 4:52SPEAKER_01: But even though I love software development, there have been some incredibly hard times.
- 5:00SPEAKER_01: I can't tell you the number of times that I have been rejected when I've applied for positions.
- 5:06SPEAKER_01: I have applied for hundreds of positions that never even called me back.
- 5:12SPEAKER_01: That rejection can feel personal at times.
- 5:16SPEAKER_01: Either you can say, I'm just not cut out for this.
- 5:21SPEAKER_01: Or you can say they just didn't pick me.
- 5:27SPEAKER_01: There's a big difference.
- 5:29SPEAKER_01: You say, you know what?
- 5:30SPEAKER_01: Somebody will.
- 5:31SPEAKER_01: And you keep going.
- 5:32SPEAKER_01: And you keep that attitude of I can do this.
- 5:38SPEAKER_01: Then if you get a job, you know what's going to happen?
- 5:40SPEAKER_01: You're going to write software and it's going to break.
- 5:44SPEAKER_01: It's going to break bad.
- 5:46SPEAKER_01: And you're going to face a time when you say, I don't know how to fix this.
- 5:52SPEAKER_01: And it's going to be frustrating and difficult and confusing.
- 5:57SPEAKER_01: And if you say, you know what, that's it.
- 6:00SPEAKER_01: I'm out.
- 6:01SPEAKER_01: You're going to be out in your first year.
- 6:03SPEAKER_01: I remember a time when I thought I was a great developer.
- 6:09SPEAKER_01: I was a junior developer.
- 6:10SPEAKER_01: I really was.
- 6:11SPEAKER_01: But I thought, like, oh, like I've got this.
- 6:18SPEAKER_01: And something happened in my software.
- 6:21SPEAKER_01: Now, my software was interacting with conveyor belts and with uh another system that was one state away.
- 6:31SPEAKER_01: And there was all these interactions, and something was going wrong.
- 6:35SPEAKER_01: And we all got called in on a Sunday.
- 6:38SPEAKER_01: And I remember being, you know, standing around with the vice president of the company we were working for, and my boss was there, and other people were there, and they were asking what's going on.
- 6:51SPEAKER_01: And it was a little bit of the um finger pointing blame game going on.
- 6:56SPEAKER_01: And it came around to, is it your software?
- 7:00SPEAKER_01: And I said, My software's great.
- 7:04SPEAKER_01: My software works just fine.
- 7:06SPEAKER_01: There's no way it can be my software.
- 7:08SPEAKER_01: It's this other guy's software, I'm sure of it.
- 7:11SPEAKER_01: And part of it was the other guy wasn't in the room.
- 7:14SPEAKER_01: And I I truly, honestly believed it was his problem, not mine.
- 7:19SPEAKER_01: Turns out it wasn't his problem, it was my problem.
- 7:24SPEAKER_01: And I tell you what, I have never felt so small.
- 7:28SPEAKER_01: I have never felt like I wanted to crawl off in a corner, curl up, and die like that.
- 7:34SPEAKER_01: Because I had just declared in front of everybody that it wasn't my problem, and it was.
- 7:42SPEAKER_01: And every eye then turns to me, and now I'm like, oops.
- 7:49SPEAKER_01: And then I have to go fix it.
- 7:52SPEAKER_01: But because it's a production level problem, because everybody's involved, it's not like I get a week to fix it.
- 7:59SPEAKER_01: I have to fix it now.
- 8:02SPEAKER_01: And I have to fix it with my boss over my shoulder, with the vice president of the company looking at me, with everybody else waiting on me.
- 8:10SPEAKER_01: That kind of pressure can be really overwhelming.
- 8:14SPEAKER_01: Now, I put myself in that situation because I was the one that opened my mouth and said it can't be my problem.
- 8:21SPEAKER_01: And my boss, very kindly, but he chewed me out over that one.
- 8:25SPEAKER_01: And he said, Don't ever do that again.
- 8:28SPEAKER_01: Don't say something you don't know is not true.
- 8:31SPEAKER_01: But I could have given up then.
- 8:33SPEAKER_01: I could have said, you know what?
- 8:35SPEAKER_01: I can't do this.
- 8:37SPEAKER_01: I'm not good enough.
- 8:39SPEAKER_01: Because I tell you what, everybody there thought that I wasn't good enough.
- 8:43SPEAKER_01: Because I wasn't in that instance.
- 8:46SPEAKER_01: But if you're determined, if you say, I wasn't good enough then, but I will be, I may have failed then, but I won't always.
- 8:56SPEAKER_01: That level of determination, even in the midst of failure, will carry you through.
- 9:02SPEAKER_01: But you have to be determined.
- 9:04SPEAKER_01: You have to hold on to the fact that yes, you can do it.
- 9:11SPEAKER_01: I have seen a lot of potentially great developers give up.
- 9:17SPEAKER_01: And it's not because they couldn't do the job, it's because they didn't believe they could do the job.
- 9:24SPEAKER_01: They wrote great code.
- 9:26SPEAKER_01: I I really it crushed me to see it.
- 9:29SPEAKER_01: I used to teach in a community college and I would see my students, and some of them had so much potential.
- 9:37SPEAKER_01: They all have potential.
- 9:38SPEAKER_01: In fact, I had students that other people had told you don't have potential.
- 9:44SPEAKER_01: But when they were finally able to see they had potential, they went on to do great things.
- 9:49SPEAKER_01: And yet, people that had more natural talent than they did, when they got faced with the difficult times, said, I'm not cut out for this.
- 10:01SPEAKER_01: And because of that, it held them back.
- 10:04SPEAKER_01: And because it held them back, they finally just gave up.
- 10:08SPEAKER_01: So if you want to be a developer, you need to be determined.
- 10:13SPEAKER_01: You will face hard times.
- 10:16SPEAKER_01: It's okay, we all do.
- 10:18SPEAKER_01: The key is to not give in.
- 10:22SPEAKER_01: The key is to stick with it.
- 10:24SPEAKER_01: You will have code that just won't work.
- 10:28SPEAKER_01: If you want to see an example of this, watch the Timco Retail Manager series.
- 10:32SPEAKER_01: You will see code that doesn't work.
- 10:35SPEAKER_01: You will see stupid mistakes.
- 10:37SPEAKER_01: You will see Tim bang his head against the desk trying to figure out why this doesn't work, and usually on video.
- 10:44SPEAKER_01: Because I tell you what, it happens.
- 10:47SPEAKER_01: I I had a video where I was calling the API and I had to pass in the token that said I'm authenticated.
- 10:56SPEAKER_01: And I forgot to put bearer in front of it and say bearer and then the token.
- 11:01SPEAKER_01: I just passed the token in and it wouldn't work.
- 11:03SPEAKER_01: I couldn't figure out why.
- 11:05SPEAKER_01: It's a stupid little mistake.
- 11:07SPEAKER_01: And I finally figured it out.
- 11:09SPEAKER_01: I said, you know what?
- 11:10SPEAKER_01: You've probably been screaming at the screen.
- 11:12SPEAKER_01: Put the bearer in.
- 11:13SPEAKER_01: And I had a person comment recently.
- 11:15SPEAKER_01: I said, yes, I was screaming at the screen.
- 11:17SPEAKER_01: My neighbors thought I was crazy.
- 11:19SPEAKER_01: But you know, you just have to put bearer there.
- 11:22SPEAKER_01: It happens.
- 11:23SPEAKER_01: And you know what?
- 11:24SPEAKER_01: If I wasn't determined and say, you know what, I can figure this out, then I would have quit.
- 11:31SPEAKER_01: And if I had quit, you wouldn't get the rest of the series.
- 11:35SPEAKER_01: And in fact, I have felt that way so many times.
- 11:38SPEAKER_01: Where I've say, you know what?
- 11:39SPEAKER_01: I can't complete this.
- 11:41SPEAKER_01: There's something that that is stopping me.
- 11:43SPEAKER_01: I can't figure this out.
- 11:45SPEAKER_01: You push through it, you figure it out.
- 11:48SPEAKER_01: And you know what?
- 11:48SPEAKER_01: Sometimes it takes getting help from somebody else.
- 11:51SPEAKER_01: And that's okay.
- 11:53SPEAKER_01: That's just fine.
- 11:54SPEAKER_01: It's actually encouraged.
- 11:57SPEAKER_01: But be determined to push through.
- 12:00SPEAKER_01: All right.
- 12:00SPEAKER_01: So that's the first most important trait of a software developer.
- 12:05SPEAKER_01: The number two trait is focus.
- 12:09SPEAKER_01: And this is one that will help you move forward faster.
- 12:15SPEAKER_01: This is one I had a hard time with when I first started out.
- 12:19SPEAKER_01: Because there is what's called shiny object syndrome.
- 12:24SPEAKER_01: The idea that something new and exciting is coming out, and you want to learn that.
- 12:29SPEAKER_01: And then you start learning that, and then something else comes out, and you learn that.
- 12:33SPEAKER_01: And what happens is you become such a generalist, but in such a shallow level, you really can't do anything.
- 12:43SPEAKER_01: So the first key here is with focus is practice instead of moving on.
- 12:49SPEAKER_01: When you watch a video where you learn a new code technique, practice it.
- 12:55SPEAKER_01: Don't go on to the next video.
- 12:57SPEAKER_01: Even though you want to finish a thought or no, stop.
- 13:02SPEAKER_01: Create practice projects.
- 13:04SPEAKER_01: And that's plural, not just one.
- 13:06SPEAKER_01: Create multiple.
- 13:08SPEAKER_01: Focus on learning that well.
- 13:13SPEAKER_01: When you've watched a video on something or read a tutorial, you haven't really learned it.
- 13:18SPEAKER_01: When you learn it is when you do it.
- 13:21SPEAKER_01: So do it two to five times.
- 13:23SPEAKER_01: That's what I do.
- 13:24SPEAKER_01: Now it's not what I used to do.
- 13:26SPEAKER_01: I used to just read a tutorial and go, cool, got it, and move on.
- 13:30SPEAKER_01: And I tricked myself into thinking I was learning.
- 13:34SPEAKER_01: And then I went to actually use these things, I missed steps.
- 13:38SPEAKER_01: And so it didn't work.
- 13:39SPEAKER_01: And I had bugs and I had frustration and only determination to help you push through.
- 13:45SPEAKER_01: But I had to go back and really learn it.
- 13:48SPEAKER_01: Well, learn it up front.
- 13:50SPEAKER_01: Figure out what you caught from the tutorial and what you missed.
- 13:56SPEAKER_01: So practice instead of moving on.
- 13:59SPEAKER_01: And then work on those hard things, not just the shiny objects.
- 14:06SPEAKER_01: It's easy to get distracted by, you know, you're just starting off with C sharp.
- 14:10SPEAKER_01: I want to learn web development.
- 14:12SPEAKER_01: Stop.
- 14:13SPEAKER_01: Learn C sharp first.
- 14:15SPEAKER_01: Learn code in the console app first.
- 14:19SPEAKER_01: Learn about object-oriented programming.
- 14:22SPEAKER_01: Learn about data access.
- 14:24SPEAKER_01: Learn about other project types that might not yet be web development in C sharp, but they will prepare you for what you need to learn.
- 14:36SPEAKER_01: So focus on the hard things, not just get distracted by the shiny objects.
- 14:43SPEAKER_01: So focus is really important.
- 14:47SPEAKER_01: If you can focus, you can move so much faster.
- 14:51SPEAKER_01: It doesn't always feel that way.
- 14:53SPEAKER_01: It feels like, man, this practice is slowing me down.
- 14:56SPEAKER_01: I can watch four videos and learn four different topics in one night.
- 15:01SPEAKER_01: Or I can watch one video and create two practice projects.
- 15:06SPEAKER_01: It seems like watching four videos is better, right?
- 15:10SPEAKER_01: No.
- 15:11SPEAKER_01: What's better is to learn one thing well rather than know about four things.
- 15:18SPEAKER_01: You want to learn things well if you're going to use them in production.
- 15:24SPEAKER_01: So that's my encouragement to you.
- 15:26SPEAKER_01: There's two things that I would encourage you to make sure you have as attributes.
- 15:32SPEAKER_01: One is your determination.
- 15:35SPEAKER_01: Be determined to keep going, even when things get tough.
- 15:41SPEAKER_01: And then number two, make sure you keep your focus.
- 15:45SPEAKER_01: Keep focused on what you need to do next.
- 15:47SPEAKER_01: Keep focusing on practicing and going deeper rather than just skipping from topic to topic.
- 15:54SPEAKER_01: When you're building applications, focus on it.
- 15:57SPEAKER_01: It's so easy to get halfway through an application and get distracted by a different application or a different idea.
- 16:04SPEAKER_01: Focus in on finishing.
- 16:07SPEAKER_01: Get to the end before you move on.
- 16:10SPEAKER_01: By doing so, you will be so far ahead of your competition that you will launch yourself further faster in your career than if you just wander from thing to thing.
- 16:23SPEAKER_01: All right.
- 16:24SPEAKER_01: So those are the attributes that I wish that I had focused more on.
- 16:27SPEAKER_01: See, focus.
- 16:29SPEAKER_01: Those are the things I wish I had as a younger developer because I'd be further along than I am now.
- 16:36SPEAKER_01: So I hope you found this episode helpful.
- 16:39SPEAKER_01: If you did, I'd appreciate it if you'd share on the social network of your choice.
- 16:43SPEAKER_01: Thanks for listening.
- 16:44SPEAKER_01: And as always, I am Tim Corey.
- 16:46SPEAKER_00: Thank you for joining us for this episode of Dev Questions.
- 16:49SPEAKER_00: Tim is committed to making it easier for you to become a developer.
- 16:53SPEAKER_00: If you would like to help make more content like this possible, please like, subscribe, rate, and share Dev Questions.
- 17:00SPEAKER_00: You can also send your questions to questions at IamTimcorey.com.
- 17:05SPEAKER_00: Until next time, remember, you are too smart and your time too valuable to waste it making all the mistakes Tim did.
- 17:12SPEAKER_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.