I’d like to share some of the good programming habits I’ve acquired and still struggle to master everyday. Don’t expect me to give you some regex voodoo here, just some simple advices which if followed will bring you for sure happiness and productivity.
1# Use and improve your learning of a good text editor
I’m not talking about IDEs. Period. The simple is the text editor the better is. I, myself, use vim and I’m very happy with it. Yes you can use Emacs too (put some frustrated and shutup troll here) but learn how to use that editor as a pro, learn how to avoid the mouse. The less you use a mouse the faster you’ll be. In fact, moving a mouse will take you the time it takes to type some words. Train yourself in your spare time and when you’re bored.
2# Use a version control system
Again, it’s not for a backup purpose. And no, it’s not meant only for coding teams. You’re a team by yourself! Think about svn, git, bzr or whatever you choose as a time machine that will show you your evolution, will help you roll back, branch, study some cases… There’s a tremendous lot in using a version control system.
3# Never reinvent the wheel
Sometimes when we’re stuck in a problem we dig and dig struggle to find by ourselves the solution. This is insane! A good programmer is someone who’s able to reuse some code written by others. So keep in your bookmarks, ready to use, some snippets websites.
4# Use todo lists.
There’s a delicate difference between the words “complicated” and “complex”. An airplane is complex, spaghetti is complicated. The very first rule of good programming is “make a good conception, write on paper and then code”. Divide your problem into smaller ones, and if these smaller ones are still complex, divide them too until you have basic, atomic, problems. Then go ahead and code, start with independent parts, and easiest ones. If you’re stuck in a certain part, work on another. If you’re tired, go out and when you’re back work on some part you enjoy doing.
5# (E)books are good but…
But not when you have 30 on the same subject. If you want to learn, say, python. Don’t think that the more free ebooks you collect the better you’ll learn. That’s fundamentally wrong. We, human, have this bad habit of wanting always more and more… But we forget about time. In fact, a book or at most two to learn something new is enough! Otherwise, you’ll be overwhelmed and you won’t do anything but die of frustration.
6# You’re not bored, you’re just stupid.
Sometimes, even with the greatest will a man can have, you’ll feel bored. So you go on useless chats, reading your feeds every 3 minutes and many many things that only a depressed-stupid-geekish mind can invent. Don’t get me wrong! Geeks will rule the world! 🙂 They’re so awesome! But come on! we’re about making a great thing alive! So, geek brothers and sisters, remember and write and stick to your machine the motto of ASCII’s father ; Bob Bemer :
((((DO SOMETHING!) SMALL) USEFUL) NOW!)
7# Be kind with yourself and smile
You’re a human chap! You’re not a machine. If you’re clueless about a problem, that’s not a problem 🙂 Life is wonderful outside. If you feel depressed that’s because you keep on thinking on the same thing (instruction/bug/method/function) for hours. Go out, exercise (even if it’s harmful for smoking) and talk with others, real human and even on IRC. Give help and love and you’ll receive if not more, the same.
P.S. Digg folks corrected an error, this is “advice”, not “advise” 🙂 Sorry.
P.P.S. Please if you find grammar errors in my posts let me know, I’ll try to correct them and btw improve my english which is my 4th language. Thank you!