Sometimes I fall into the trap of reading about programming and not programming. I can’t always find an interesting project to work on, even though I know there are a sea of opportunities. If you have the same issue, here are some tips that might help.
- Hang out with other programmers. This is the best source of inspiration because, naturally, they’ll have ideas that you won’t. It doesn’t matter if it’s just some coder friends, a programming group, or even a conference. The mixing of all those ideas is sure to give you a fresh perspective.
- Hang out with non-programmers, too. First of all, it’s healthy to be around people that make you happy or challenge your thinking, whether or not they code. Second, they can give you inspiration from a user’s perspective. What frustrates them about their computer? Can you come up with a solution?
- Have a dedicated workspace. If it’s not possible to have a dedicated space, at least make sure it’s quiet and you can focus on the computer without distractions. Make it your cave. Make sure your chair is comfortable and supports your back. Have water handy. Don’t sit without moving all day — stay healthy.
- Have a good development environment. The software version of the previous tip. I don’t care which editor you use (though I recommend vim) but make sure you’re using one that gives you some power and flexibility. Always use source control – in particular, I recommend you learn git because of the concepts it will teach you. Always back up your work. All of this will prevent the massive demotivation you will experience if you don’t use them and you lose your work.
Keep your ears open. Read the twitter feeds and blogs of the programmers you respect. (Look at my twitter feed if you want – it’s mostly programmers.) RSS aggregators, such as Ruby Inside, or the old-school Planets, can be great sources of news because they add prominent new programmers without you having to search. Pick a few blogs on topics you wouldn’t normally read, and subscribe to them too.
Yes, this can get you sucked into the trap of reading code and not writing it, but being plugged into the larger coding ecosystem is good for you and can be the source of many ideas.
- Read good code. Think of some software you love and look at the source code. What problems did they have? How can you learn from it, or better yet, how can you improve that software? There are many sources of good code, but GitHub has to be one of the best. The GitHub Rebase series on the GitHub blog lists a number of notable new projects if you want some specifics.