Tuesday, September 06, 2011

How to be a productive programmer

Here's my humble checklist of what I think are the most important requirements for being the kind of programmer that can create something ultra-quickly.

* A stock of library code, built up over years so that simple and common tasks are already covered by a pre-written function or two.
* Be either the only programmer on the project or have your area clearly defined, and not be dependant on someone elses code that is still being produced.
* Have it clear in your head exactly what you are creating and how it is generally going to work.
* You have already "solved" any major technical hurdles that you know you are going to encounter.
* A quiet-ish place to work.
* A desire to actually create this program.
* Access to the internet to solve those niggly problems or to copy-and-paste code from websites.
* As a bonus, have a similar project that you previously created that can be easily subverted to the new task.

If you've got the above covered then you should be able to churn stuff out quickly, and then you can spend the rest of your time writing your own more interesting projects.

1 comment:

athile said...

Another point I might add - or at least amend to the first bullet - is to spend zero time on build configuration: have a development environment set up that you can start coding in immediately.

If you're coding in a scripting language this is usually less of a problem since there's no intermediate files and there's usually a standard library that the interpreter 'automatically' finds. However, if you're a C++ programmer, having template projects set up that already link against the libraries you need, have the correct folder set up, have a place to put any docs/unit tests/benchmarks (without creating a whole framework), etc. can be a big win in productivity to get something done ultra-quick.