Let’s say you’re have 3 projects open at the moment. You’re dragging on all of them. Time is slipping and stakeholders are getting nervous. You look at yourself and say, “damn it, me, get going!” But this doesn’t work. You know it won’t because you have to say it. Then your significant other (or your hamster or whatever) looks at you wierd and you get a glimmer of the sad truth that you are weak, thin. It sucks to be like this when people are counting on us… and also there’s that whole mortality thing where we only have so much time before we die.
It happens and it’s rough, but never fear! Pay me $19.95 and then all your problems will be solved! (Sorry, I just watched TV for the first time in months and was shocked at how pandering and wretched the advertisements were, so I mock them)
So there are three projects hanging over your head. Stake out the next hour and,
- Go to your place of work. How are you? Did you come to this point in time strongly and with intention? Should you have brought a drink, used the bathroom, told someone that you’re getting into something and established boundaries? How is your workstation? What could make it better? Is it messy? Disorganized? Ergonomic? Don’t do anything about this stuff now, just acknowledge it. If it’s important, find yourself doing it later.
- Think about the first project to be worked on, at a general level: what is it? where are you in the project? what were the last steps? what’s to do next? Why are you doing it? Who are you doing it for? Who else is involved and what’s their role? What, exactly, is your personal responsibility? Do all the parts fit together to make a coherent whole? Will the project work brilliantly, well, alright, or not at all? How much do you care, and are you ok with that?
- Open the appropriate programs: Get your tools laid out just the way you want them. This includes editors, text environments, man pages, etc..
- Make sure you have all your passwords, paths, config files, administrative consoles, etc… at beckoning call if you need them. There are few things more frustrating and wasteful than deflating a clean focus because you’re locked out of your own server or don’t know the location of a config file…
- Touch on lessons learned: what part of your own process are you trying to improve this time around? Open up the files and track down the lines of code, or scan commit logs, or go through user flows. Touch, tactilely, that flow, pattern, process that you are developing as you work on the project. What does it feel like? What role do you see it playing in your greater development?
- Plan your session: what are you going to do with the time you have? Or, what things need to be done and how/why are they prioritized? How are these tasks going to fit into the product? How do they impact any deadlines? How do they fit into your larger goals and overarching intentions as an engineer, and, if applicable to you, artist?
- Think about your solution: what constructs, patterns, refactoring strategies are you going to use to get the job done? What will the code look like? Feel like? What sort of nasty bits will come up? What parts are smooth? What sort of compromise will you make? How do they fit in with the existing coding standards? Do tests need to be written? Comments? Version control contortions? How will this impact the performance, stability, scalability, etc.. of your greater product or code? How can what you’re doing benefit from open source projects, or contribute back into them?
- Close everything without changing a single bit and start from 1 with the next project.
Spend 20 minutes in this manner with each of your projects. Doing so will exercise the parts of your being that should be strong and lithe during the activity of programming and project work. While this exercise doesn’t accomplish any work it embeds useful forms and tenacity into the supportive parts of your personality upon which you depend when coding.
If it is hard to come up with 20 minutes of things to think about and move through, there’s a good chance that your project is faulty or that you could be getting more personally from the experience of working on it. If you can spend longer, go for it, but don’t only do this.
Enjoy your work!
