By December 24, 2020

My #1 Productivity Tip for Programmers

Today I am going to tell you my number one tip for productivity as a programmer. I have learned a lot of different techniques, a lot of things that do work that don't work.

I've created over 3000 YouTube videos. And the reason why I'm able to do that is because of my ability to be as productive as possible, which I'm going to be talking about in this video.

Transcript Of The Video

John Sonmez:

Today, I am going to tell you my number one tip for productivity as a programmer. I was a programmer for a good 15 years writing a lot of code. And over that period of time, I have learned a lot of different techniques, a lot of things that do work, that don't work. I've done a lot of things in terms of creating YouTube videos. I've created over 3000 YouTube videos. And the reason why I've been able to do that is because of my ability to be as productive as possible, which I'm going to be talking about in this video.

If you guys are just joining me for the first time, I'm John from simpleprogrammer.com. On this channel, I teach you the soft skills. That's right. The soft skills as the name of my book says that you need to know as a software developer in order to be successful, in order to improve your life. To be more than just a technical guy that is able to program, but to actually advance your career, to make more money, to make more friends and to live a happier and better and more fulfilling life as a software developer. So make sure you click subscribe if you haven't already.

All right. So yeah. So I want to talk about productivity. Okay? And it's really important that you work on your productivity because especially today. Today, we have so many distractions. This is my biggest productivity killer, by the way. But the one I'm going to share with you today, it's going to sound really simple, but this is it. I plan out my week and my day and exactly what I'm going to do and exactly what I'm going to work on next. This is so, so critical. Okay?

Because a majority of the time that we waste is because we don't know what to do next, and we're trying to figure it out. And see what happens if you are familiar with multithreading, you know that there's this whole context switching. In fact, if you have applications that have a lot of different threads, what can happen is that if you have a lot of threads that are switching all the time, it ends up slowing everything down because it causes a bunch of context shifts. You have to take everything out of memory and replace it with new content from memory and load that up so that other thread can run.

So you don't want to switch contexts as much as you can. You want to avoid switching contexts. So it's the same thing what happens when you're working. Okay? So let's say that you're working on some code or you're working on the blog, your programming blog. If you haven't created a programming blog, go check out in the cards, I have a link to my free, How to Create a Blog to Boost Your Career course. You should definitely check that out. All right? It's totally free. I think over like 5,000 developers have gone through it, probably more by now.

But whatever it is that you're working on, what happens is you finish up the tasks that you're working on and then you start to think, “All right, what's the next thing that I should do?” And then what do you inevitably do? You say, “Well, let me go check my email first real quick.” Or you say, “Oh, let me go check my Instagram or let me go check my Stack Overflow reputation and see if it went up.” Whatever it is, you end up doing something and you get sucked into it. Maybe you start watching some YouTube videos and you get sucked into that.

And the reason is because you don't have the immediate next thing to work on. So what I do to be as productive as possible is I plan ahead. I plan exactly what I'm going to do. So you could look at an example here. I've got all the tasks planned out that I'm going to do and you can see that I've got stuff planned for next week and later. I'm not going to go into the details in this video. If you're interested in exactly how I plan my week, maybe I'll do an updated version of that especially when I finished this software.

By the way, if you want to know when the software is done, make sure you get on my email list for Simple Programmer. If you just go to the Simple Programmer website, you'll see a link to join that there. If you join any of the pop-ups, you're going to get the announcement when I create this, but you can see that I have it all planned out so I know exactly what I'm going to work on next. That's what's key because then what happens is throughout my day, I'll be working, I'll finish something and I work focused. So I'll use Pomodoro Technique.

So I'll work focused for 25 minutes just on that one task, no distractions. And then I'll take a five minute break. And then after that five minute break is over, then I'll just go to the very next task. And when I'm done with all the tasks for the day, I'm done. I'm done with the work. And so you might say, “Well, that doesn't really apply as much when you're doing programming work.” Of course it does. It definitely does. And I did this when I was doing programming work as well is I would plan out all of the things that I was going to do in the code.

So maybe I'm going to implement this feature, I'm going to write a unit test for it. And I plan that out in detail. See, that's the key is you might think, :Oh, I know everything I need to do.” But just take the 10 minutes that it takes for you to write it down step-by-step if you want to use a tool like this, or plan things on a Kanban board or plan things out even on a piece of paper so that you know this is the task I'm going to do, then this is the next task I'm going to do. This is the next task I'm going to do.

It's real simple. This productivity technique is real, real simple, but it's probably the number one thing that's made me as effective as I can. Because not only does it prevent you from doing that context switching, where you're trying to switch between the mode of doing the work and figuring out what you should do, planning the work, but it also makes it so that you are able to prioritize work. Okay? So when I don't get what I need to get done during the week. I look at first, “Did I do the work that I planned?” Did I work the amount of time that I plan? If I didn't work the amount of time that I planned, then I have two choices.

I can either work harder next time. I should have worked more hours. I should have not wasted as much time. Or I can plan that I'm working less. Be realistic and say, “Okay, well maybe I'm not getting done as much work. Maybe I'm not spending as much time.” So then the next step is to change the priorities. If I didn't get done what I want to get done and I only have this amount of time, then something has to give. So everything can't be a top priority. In fact, really you should only have one priority. It's not supposed to mean varying degrees of priority.

So I order things and I changed the order of things so I make sure that I get the most important stuff done. So that's how I've been able to create YouTube videos every single week. At one point I was creating YouTube videos, two YouTube videos a day. And I did this for several years. I was writing blog posts three times a week at one point and I was able to keep that up. I'm creating podcast episodes. Doing all that stuff is because I had this plan out. And even when I was writing my book. Both these books, both Soft Skills. Okay? And especially with the The Complete Software Developer Career Guide. This is a really big book, all right?

What I did was I had all the chapters planned out before I even started writing the book. So I knew exactly what chapter I was going to write. I knew what I was going to write next. And I had a sequence and a system for that. So every day I'd wake up and I spent about an hour a day working on the The Complete Software Developer Career Guide for six months. Okay? So every morning that was the first thing I did. 30 minutes I would spend or 25 minutes and then I'd take a break and then I'd do 25 more minutes. And I know, “All right, I'm going to write chapter one today. I'm going to do an outline for it first. And then I'm going to write it.”

And I would have those tasks and I'd have them on my board. And so I would know this is next thing I need to do. And so, as soon as I started to write on that book, I started to work on that book for the day, I knew exactly what I was going to do. I didn't have to guess. I didn't have to think about it and I could just jump right into it.

So anyway, guys. Make sure that you check out the books. Like I said, Soft Skills and The Complete Software Developer Career Guide. I got some real good productivity. I've got an entire section on productivity and in Soft Skills: Software Developer's Life Manual, all right? And you'll definitely benefit from that. I talked about how I plan my week specifically. I talk about the quota system and how I learned things quickly. And yeah, click subscribe if you haven't already. I definitely would appreciate a like. It definitely helps me to reach more people with this channel. And I will talk to you next time.

About the author

John Sonmez

John Sonmez is the founder of Simple Programmer and a life coach for software developers. He is the best selling author of the book "Soft Skills: The Software Developer's Life Manual."