A lot of developers feel like they don't know enough. Most of them don't know how to measure their programming skills.
They want to know if their skills are good enough before they take on any opportunity and any new jobs. I see a lot of developers suffering from this.
They never feel ready, they end up spending A LOT of time studying and getting ready before jumping into any new opportunities.
They often ask me: John, how can I measure my programming skills? Is there a way to know if I'm skilled enough for the job? In this video, I'll tell you how you can measure your programming skills and know if you're ready to take on your next developer opportunity.
Transcript Of The Video
John Sonmez:Hey, what's up? John Sonmez from simpleprogrammer.com. I have a question here about how to measure your programming skills. I'm going to talk a little bit about actually not how to measure your programming skills because the question really is—I think it's more valuable to talk about what you should do rather than some arbitrary metric.
I could give you some ways, some idea of how to measure your programming skills, but is that really going to help you? Let me get into the question then you'll kind of see what I'm talking about here.
This question is from Tony and he says, “I have a question that you might—it might be a good video YouTube topic.” Okay. “I'm a college student in Computer Science and I love programming. What I have a problem with though is how to objectively measure my skills. I have never worked for a software company nor have any programmer friends I could ask for an objective evaluation. Thus, I'm pretty stuck and I don’t know if I'm overestimating or underestimating myself.
As of projects experience, I have managed to write a Remote Administration application for desktop computers similar to Teamviewer and C# and C and I have also written a couple of game applications for Android systems and Java. When I compare myself to my college peers, I assume to be greatly ahead of them in all aspects of programming and computer science, but I don’t know if this could be considered a legit evaluation as I might just be playing in the Minor League of a small town soccer team and think I'm good just because I don’t have serious competition.
What are some important milestones that I need to reach in order to be considered a good programmer? I want to know where I stand compared to other professional programmers in order to be able to determine if I should go get a job or just keep studying and preparing myself.”
Here's the deal with this.
This is why I think that I could give you some milestones. As far as what milestones I would give you, you're already there. You've been able to build an application on your own, a fairly complex application. You're above your peers, like you said, in your studies in computer science.
There's never going to be a milestone. You're never going to hit this point where you're just there, where you're the best programmer, and you can objectively evaluate yourself. I think it's important to take a personal inventory on things, is to be honest with yourself, right?
I did a video a while back on being honest with yourself, on being essentially looking in the mirror. That's important. Don’t get me wrong in that regard. You need to be brutally honest with yourself and look in the mirror and decide objectively what's wrong, what can you fix, what can you improve.
Here's the thing. As far as—it's much more likely that in your case, in a lot of people's cases, the biggest problem that they're going to have is that they don’t dive in, that they keep on spending all this time preparing and trying to get ready.
You know what? You're not going to know that you're ready until you've stepped into the ring, until you get that punch in the face and then you're going to know you're not ready or you're going to know what to do.
You used the example of that maybe you're playing on a small town soccer team and you think you're the shit because you can conquer, but you're not sure because you've never had any real competition.
What should you do in that case?
I mean here's kind of your scenarios. You can stay in that small town soccer league and you can keep on practicing and getting better because you're not ready for the real competition yet and you'll keep on training against people that are at your same skill level or where everyone is worse than you.
You're going to maybe make small improvements or you could go out and you could join the big leagues. You could go out and play against some professional soccer players and if you've got the opportunity and you do it, and may be get creamed for a while. If you do get creamed for a while, you're going to get better. You're going to figure out what you need to do.
Don’t prepare. Don't get—I'm not saying just jump into things without any kind of preparation at all. As soon as you feel that you have an inkling of readiness, as soon as you feel like you might be able to do it and sometimes even before that, jump right in and start failing.
Start messing up, see what happens. Go get your job. Go get into the big leagues and get the real training. That's where you're really, really going to improve.
I'll just give you one example and then I'll wrap this up. Back in the day, some of you know that I used to play Magic The Gathering card game. Actually, I played sort of on the professional circuit for a little bit. For a long period of time, I was regionally pretty good like I lived in Boise, Idaho and I would dominate all of the draft, all the tournaments. I’d come in first on the pre-releases and then they would have the state championships and all that.
When I would go up to play at the pro level, I would get creamed.
Then I moved to New Jersey. In New Jersey, there was this group of like four or five guys that just are—it was a real—it was New Jersey-New York area and the competition was fierce. These were the guys that were winning in the top tier. I started playing against those guys and drafts in the regular weekly and I improved drastically. Ridiculously way more just by playing against those harder opponents all the time.
I didn’t realize that. I thought that I could just improve just doing what I was doing and dominating the field where I was, but you got to always seek out a harder challenge.
Again, I'm not directly answering your question because I don’t think those milestones are important. I think there's a bigger life lesson here, which is essentially this.
When you're in this situation, just go—always do things before you're ready. You're never going to be ready. You're never going to be prepared. Go out there and try to face. If you can get slammed down, that's great. You're going to grow and you're going to learn more from that.
Always seek the hardest challenge that you can and try to conquer that challenge. Go out there. Go get a job right now. Go try and see what happens.
What's the worst that could happen? You're going to learn very quickly what you need to know and then you'll figure it out. Don’t—just sitting there and preparing, so many people—the reason why I emphasize this so much is because I know because I get the emails.
So many of you out there right now, what you do is you sit there and you wait. You're trying to prepare, prepare, prepare and trying to be ready but you're never going to think you're good enough. You're never—you just need to go out there and take action.
You're going to waste your life waiting to be ready, reading, watching videos, doing all kinds of stuff instead of actually taking action. I'm not saying don't learn. I'm not saying don't practice. I'm not saying don't hone your skills but go out there and take action at the same exact time.
You want to learn how to do real estate investment? Check out my playlist on real estate investment. So many people I talk to that do that or that want to do that, they never ever buy a house because they're so analytical.
They're so calculating and crunching the data and crunching the numbers that they never actually take action. What happens? Five years go by. Ten years go by and they've wasted all this time. Don’t waste your time.
Go for it. Take action. When I wanted to run a half marathon, you know what I did? I signed up and I ran it the next day. I made it.
I mean I've been training but I didn’t ask myself, “Am I really prepared for this? Maybe I should plan it out 6 months in advance?” No. I just signed up and I did it. I could have failed. Big deal. I would have learned something. I would have learned I needed to train harder and I would learn how I need to train.
I'll talk to you next time. Take care and take action.