Coding After Dark
One of the hardest things I've found about being a programmer is keeping myself motivated to do the things I want to do after the 9-5 day job is done. I would love to be able to work for myself, be part of the product team of something I've built from the ground up, but being a programmer by day makes this surprisingly difficult.
As well as writing code for our employers all day there is a general expectation that as software engineers we'll go home and study up on new technologies to bring to table, keep our own skill set up to date and just generally keep our heads in the game, how many of your friends just go home and watch TV?
So what I'd like to do is share a few of the tips that I use to try and keep myself motivated and reach that lofty goal of launching a product I'm involved in from the start.
Don't code 7 days a week
One thing I was definitely guilty of in my first year of programming was spending every single day programming. This doesn't do your mind any good; there's a plethora of other things we need to consider in our lives so if we code every day, where do we find the time and brain capacity?
I'm not saying this won't happen some weeks, especially if you're building something to try and get out of the daily grind, but this should not be a norm
Have at least 90 minutes a day (when coding at night) to relax
Following on from my 7 days a week rule, this one seems obvious. Spend at least 1.5 hours a night just unwinding, ideally before bed. This could be with a book, your favourite TV show, or just talking with family. If you can remove the screen time (not always the easiest with Kindles for reading and TV, but at least put away the laptop / phone).
Only work on projects that I enjoy
This one may seem obvious, but it's easy to keep working on something in your own time that you do not enjoy. You may be worried about disappointing others, or have been talking about something for so long you have to do it. You don't owe anybody anything, take care of yourself and make sure you're enjoying what you do. If you're meant to come back to a project or problem, you'll re-find your passion for it soon enough.
No Day-Job Problems
Over the years I've been guilty of taking my work home with me. I don't switch off easily so there's been times where I'd spend hours trying to solve a day-job problem, just because I hadn't solved it. This does nobody any good, all this does is keeps the problem at the forefront of your mind and stops you detaching your work and home life. Time away from a problem usually helps me solve it quicker anyway, so when I leave the office, the day job work stops at the door. I'm not being paid to solve those problems on my own time!
Spend Time With Non-Programmers
This won't come as a surprise, but a lot of my friends are programmers (or at least work in IT), and that's great, it means we always have something to talk about. However, my close family and my closest friends do not work in IT and some of the most re-energising conversations I have are with them. Talking about music, sports or holidays I've found to be a great way to re-motivate myself, I come back to my computer and I want to write code!
Escape From Reality
As I mentioned at the very beginning as software developers we're expected to spend a lot of our time studying as well as having a day-job. This means reading books on many a subject matter, sometimes the most difficult reads you'll ever have. For this I always try to have one fiction book on the go for every non-fiction book, this way if I want to read but can feel my brain going to mush I can escape into another world and not worry about things for a few hours. This doesn't have to be just a book though, you could easily substitute the book for your favourite video games or even just catching up on the latest albums from your favourite bands. No matter what, escaping from the real world is the real goal here.
On their own I wouldn't find any of these tips ground-breaking, but together? These are the reason I can justify showing up to the office in the morning.