I’m afraid that I still have a long ways to go as a programmer—obviously—which means that there’s still a limit to the amount of valuable programming advice I can give anyone. However, I do have some broader life experience that might be helpful to anyone who’s starting out on the journey of trying to accomplish something new or pick up a new skill.
Something I learned while I was writing my first couple of books was that sitting down to start writing for the day is hard nearly every single time, but the experience of writing is nearly always really, really rewarding once you actually get started. In fact, it’s so rewarding that I often find myself writing for much longer than I originally planned on when I set out to meet my goal for the day.
Most of you can probably already see where I’m going with this, but it’s worth saying anyway. Setting a series of daily goals and sticking with them week after week is the absolute best way to master something new or accomplish a really big task.
I suspect there is some variation from one person to the next, so you may find that what works for me isn’t quite the best thing that works for you, but I’m going to just go ahead and share my system for accomplishing things and hope that there’s something there you can draw from as you go about starting on your new goal.
It’s been my experience so far, that I have a real tendency to want to dive into something at the very start of a new project or a new goal with both feet. That generally means that I put a ton of time into whatever it is I’m working on for the first few days and then end up burning myself out because that level of effort isn’t sustainable.
I once heard willpower described as an afterburner, as something that could get you somewhere really quick, but which nobody could sustain for very long, and that has been my experience with a lot of new projects that I picked up before I fully appreciated the value of setting small, relatively easily obtainable goals and sticking to them as a way of accomplishing something much bigger.
I think the reason that small goals work so well for me is that it requires a lot less willpower to accomplish them on any given day. It was almost always very difficult to make myself sit down at the computer if I knew that I was signing up to five or six hours of writing on top of whatever else I had going on that day. Alternatively, telling myself that I was only going to write 250 words was something that was much less intimidating. That made it easier to do, which meant that I was more likely to sit down and hit that daily goal on a consistent basis.
I’m sure that there are some people out there who would say that it’s not worth even sitting down to write if you’re only going to rack up 250 words, and on the face of it they aren’t wrong about how long it takes to write a book if you only manage to get 250 words a day written.
If the average book is 80,000 words, and you only managed to write 250 words day, then you’re looking at 320 days to write a novel, and the average person seems to have a hard time planning for something that far in advance.
However, if you are consistent about your writing goal, then that means that you’ll be writing at least five or six days a week, so really you’re only a year or so away from having finished your first novel. Generally, unless something tragic and unforeseen happens, the next 365 days are going to pass by whether you are working on your book or not. The real question is what you’re going to have to show for the year once those 365 days are firmly in the rearview mirror. In my experience, creating a consistent habit via small, achievable goals is the best way to reach a writing goal, or just about any other goal you can think of.
Even better, the fact that most of us set goals for something that either we already enjoy but have a hard time getting to or something that we can learn to come to enjoy, means that more often than not you’ll continue working on your goal even after you hit your target accomplishment for the day, which always meant for me—at least when it came to writing—that I generally finished up my books much more quickly than I expected to when I set out with my initial, purposely small and achievable goal.
I think that is the bulk of where the magic is, but there are a few other pieces of advice that may help depending on your situation. For religious reasons, I try to avoid doing anything that could be considered work on Sundays, which means my default goal for things that could be considered work is generally six days a week. However, there are times—often when my life is getting particularly hectic and I have commitments that are hard to plan around—where I’ve found that I get a lot more done and am much more consistent with achieving my weekly goals by setting out to work on my side project four or five days a week.
The human mind is sometimes prone to focus on the wrong thing, which means that when I fail to hit one of my goals for a specific period of time, I’ve historically tend to obsess about the failure rather than being pleased with all of the days where I actually managed to make progress. By giving myself one or two days a week where I had permission to deal with all of the other stuff that life was throwing at me, I stopped setting myself up to miss one of the days that I was ‘supposed’ to be making progress and then going into a negative spiral that stopped me from picking things back up on the next day.
I have another trick or two that I really ought to share while I’m thinking about it, but I am far past the amount of time that I told myself I was going to work on this particular blog post, so the rest of my strategies around accomplishing goals will have to wait until next week.
Until then, good luck with your own code-writing endeavors.