By John Sonmez August 6, 2020 How To Become A Better Developer How to become a better developer? This is a question that I get a lot of times. And on this video, we're going to answer this question for once and for all. #howtobecomeabetterdeveloper #softwaredevelopersecrets #becomeabetterprogrammer Transcript Of The Video John Sonmez: What's up guys. John Sonmez here from simpleprogrammer.com. On this video, we're going to talk about how to become a better developer, how to become the bestest developer that you can be. If you guys are just following me or watching me for the first time right, I'm John from simpleprogrammer.com. On this channel, I teach you soft skills for software developers. I say we because there's more than just me on the channel, but we teach you soft skills, we teach you things like how to get a better job, how to negotiate your raise, how to deal with your coworkers that are annoying, and how to just be a good software developer, how to be a good human being, how to fulfill yourself personally and develop yourself as a software developer. But before we move onto the video, I've got a couple quick things. One, click the subscribe button because there's no reason why you wouldn't do that, right? Click the bell to get notifications, because you want to get the videos when they first come out. I mean, that's when they're hot. All right, the second thing is this book, The Complete Software Developer's Career Guide. Go check it out. Go buy this book. It's a big tome. I wrote this thing for software developers. I've been thinking about this, I've been like what should be the one thing I talk about on this channel all the time? And it really should be this book, because this is the most useful thing that I've probably created. I've got some courses and stuff on simpleprogrammer.com, but this is everything I know about software development, about software development career. There's an audio version as well, I highly recommend. Actually the audio version that I've got, a bunch of extra bonus content that I've added to it just as I went off script. So it's long, it's long, but it's worth it. All right, let's see if we can get into this. All right, I've got a question here. It says, “Hi John, I recently received my review after working one year as a Java developer. I find it hard sometimes to ask a senior developer a question, mostly because that advice I usually receive doesn't answer my question, nor does it help in any way, leaving me to feel like I'm pretty much on my own.” Oh, gosh. “I was given a raise, but I was also told that I am one of the weaker developers in my department. What can I do to make sure I become a better developer? Additional info, this is my first job as a developer since changing careers.” All right. Are you in India by any chance, where they browbeat your ass here? Because that's kind of weird, to give someone a raise and then say that you're one of the weaker developers. Not very cool. Anyway, I'm not sure you want to be working for that company when they tell you that, but maybe it's true. Let's assume it's true and they're just being forthright with you and you're a weaker developer. How can you become a better developer? Okay, you've only been a Java developer for one year, but I'm going to give you guys five tips probably, so count them down. Let's start with the first one. The first one is read blogs, read content, right? Every morning when you get into work, instead of playing around on the internet, read some programming blogs that are specifically in your industry, okay? One of the things that helped me so much to increase my skills as a software developer was to be involved in the development community, right? I read so many blogs, and I was up to date, and I would learn so many things from these blogs, because these were real developers that were working, that were solving problems. And it takes a while to write a book, so this information wasn't in a book yet. So have a reading list of blocks that you stay up to date on information and technology. It's always great when you can come into a meeting, and you know all the stuff about the new stuff that's happening in the Java world, and you're going to look like an expert because you will be an expert. Because as you keep up to date on this information, it's going to really improve your skillset, okay? But that's not where it ends, okay? The second thing that's quite related, you should be reading one book a month, okay? I've got a ton of book recommendations that you can find on this channel or on simpleprogrammer.com. Clean Code by Bob Martin, Code Complete by McConnell, Pragmatic Programmer. There's so many books. Mythical Man-Month. Right? Go and look at all the classical software development books, and make sure that you've read those books. Refactoring by Martin Fowler, although I don't like Martin Fowler. He's kind of an ass to me on Twitter. But hey, read his book anyway. It's still a good book. Anyway, there's so many different books that you can read. Kent Beck's stuff on unit testing, really good stuff there as well. Yeah, so much stuff. Read that stuff. Gang of Four, the design patterns book. Know all that stuff, and you're going to become a really good developer by knowing all that information. Okay? That's number two. Those are people related, reading blogs, reading books, but you need to stay up to date on information. That's what's really key. The third one is this. You should always have some kind of a side project. Now, there's multiple reasons for this. I'm not going to go into how much money you can make and how you can build businesses and all that, although it's very, very true. But start a side project, and always have it going. So let's say you're a Java developer okay, which you are. If you are working on your side project, you can work on new technologies in Java, you can develop your skills, you can work on doing some unit testing. You can accelerate your skillset a lot more by working on a side project than you could just your regular job. Plus it's just going to be more fun, it's going to be more interesting. You can spend more time learning and experimenting, where in your regular job, you've just got to fix the damn bug. You've just got to solve the problem. You can't goof off as much and have fun with it. And usually when you're having fun, that's when you're learning. So that's another one. Let me see, what was the other one I was going to talk about? Oh, this one's big. This one's probably the biggest one, which is to go and help other people with their problems. I know you're just a first year Java developer, but it doesn't matter. Here's the thing, all right? In the course of your career as a software developer, you're only going to encounter so many problems. So many things that you're working on, okay? Now if you really want to multiply your experience quickly, what you need is more problems. So one really good thing to do, and I did this as a junior software developer, is I just went to other developers and I said, “Hey, what are you working on? Can I help you with that?” Or I tried to understand their problem and help them with their problems, right? I got so much experience in such a fast amount of time. I was really quick at solving other people's problems, and I got exposure to a lot of different problems over a very short period of time. As a junior developer, as someone with not a lot of experience, you want to gain as much experience as possible quickly, right? So those two things kind of go together, right? If you create a side project and you're learning a lot of other things on your own because you're writing more code, and then you're helping other people with their problems, your experience is going to accelerate extremely, extremely fast. Along with that, the last one, this'll be the last one, is this. Practice doing competitive coding. I used to, back in the day, roll on a site called Topcoder. I think they're still around. But I did these programming competitions, okay? And it was awesome okay? Because first of all, when I first started doing it, I had no idea how to solve any of the problems. I was like, “Wow, I'm actually a shitty developer.” I thought I was really good, but it turned out I was actually a pretty shitty developer. But once I started doing these things and learning how to do them, and then looking at other people's solutions to the problem, the same problem that I was trying to solve and how they did it. Also, I was doing C++. I learned about vectors, and all these… lists and how to use them, and how to iterate through lists, and how to do sorting algorithms, and I learned about the STL libraries because I needed them in order to do the stuff. It takes you to the next level, right? Because you have to stretch your skills. And when you're just writing code and you're not competing against anyone else, you might think you're doing really good, right? Until you realize that you're actually not that good when you compare against other people, and so it's going to move you up to the next level. That's really, really key. It really helped me. My point is you need some element of competition. And there other sites out there today besides Topcoder where you can practice doing programming problems, but the more that you do that and you get into it, the more that your skills are going to expand. So anyway, I could probably give you 15 more things that you could do. I'm going to tell you one last one. If you haven't already, buy my course, How to Market Yourself as a Software Developer. I'll have a link down here below, but how to market yourself is really important, because if you want to become a better developer, you need to actually build your name and build your reputation and your brand, okay? Everyone has a personal brand, and you need to build that brand up. The stuff I've given you so far is how to improve your technical skills, but you also need to work on your image, your brand. And so How to Market Yourself as a Software Developer, like I said, just go pick it up and start going through that course, and learn how to create an image, how to create a brand, how to create a blog, maybe a YouTube channel if you want to. I mean, imagine if you have a YouTube channel, you're going to be a somewhat famous developer at your company. You're going to make a lot more money, your going to be able to get lucrative jobs. You're going to get a lot of opportunities that you can't even imagine, and as you grow that and you grow that reputation, you could build a business. It's how I became a multimillionaire is through building that brand and that reputation. It's why you're watching this YouTube channel. In fact, this YouTube channel is actually a brand new one that I created from my old YouTube channel, which is Bulldog Mindset, which used to be Simple Programmer. That's got 250 thousand subscribers on it now, and I've been able to build a huge business out of that. I've been able to build Simple Programmer out of this. But definitely check it out if you haven't already, and good luck. Good luck man, it's your first year. You'll be fine. Just keep on learning and keep on improving yourself, and yeah. Welcome to the game of software development. All right, I'll talk to you guys next week. Let me know what you guys think about his situation, and any tips that you have for him as well.