7 Productivity Tips for Better Software Development
I’ve always wanted to make a ‘Top 7′ list.
Most of our time is wasted away throughout the day on trivial and unimportant tasks. Some of this is busy work that we create, while other things creep in unexpectedly. Here is a list of seven things that I feel will increase your productivity during a typical workday. Let me know if you think I’m missing or over-emphasizing something. I’m always looking for ways to improve my effectiveness and efficiency; to do more with less.
1.) Find your most productive time
Some developers prefer to work through the night. Most CEOs start their day before 6am. Find your sweet spot and plan your day around this block of time. From what I’ve read, this block of time varies from 4 to 7 good hours. Mine happens to be from about 5am through to 11am. After this, my concentration wanes and my patience thins (until I get home from work, at which time I’m re-energized).
2.) Identify critical tasks
List your most critical tasks for the day, and do them first. Critical does not mean most difficult. Critical tasks may be the easiest and quickest tasks of your day. Perhaps it’s as simple as calling back an important client, or a more difficult task such as finally fixing that nasty bug that’s hard to reproduce. I find that making this list the day before helps me to get started the next day much quicker.
3.) Avoid distractions
Distractions can really lead you astray and spell disaster for your carefully planned schedule. Avoid these things, especially when in your most productive block of time, and certainly while you are completing your critical tasks. Because I spend a large part of my workday in a cubical, and cubes are distraction magnets to begin with, I’m often inundated with visitors who have come by for various reasons (few of them have any relevance to my current tasks). To help combat this, I will often put headphones on to deter all but the most important guest.
I consider mail (e-, voice-, and snail-) a distraction. Very few actual mail items require my immediate attention throughout the week. I suspect you’re in the same boat. So, Manage your mail wisely. Set aside specific time for reading and responding to mail in all its forms. This is especially good advice for email. Never look at email during your most productive time. And please, turn off the automatic notification and get rid of that envelop icon that Outlook puts in your tray. Every email that hits your Inbox is a potential detour. To combat this, I try to tackle email first thing in the morning (5am), with 2 additional checks throughout the day (10am, 3pm-ish). I will only open Outlook during these times.
4.) Automate as much as possible
Automation is the key to more productivity. The more you can automate, the more time you can spend on important tasks. For years I had been manually making additional ’sanity’ backups of my source code (above and beyond VSS and normal backups). Finally, I woke up and realized that this (and many other things) can be automated. You can be fancy and schedule a backup through some backup software, or be simple and create some .bat files to do the heavy lifting. Sounds simple enough. This is just one example. There are potentially hundreds of tasks you can automate.
5.) Apply Pareto’s Law
Otherwise known as the 80/20 principal (or rule), this law states that 80% of the effects comes from 20% of the causes. The vital many verse the trivial few. Learning how this works can be like hiring a new employee (a better you) and firing that resource hog (the old you). Find out what busy work you’re doing and eliminate it. Identify the work you do that produces the best results, and capitalize.
6.) No more multitasking
Despite popular belief, multitasking breaks concentration, causes distraction, and inevitably costs you time and money. This is especially true of technical work, like software development. Shutdown your Outlook, your Accounting software, your Internet Browser, your News Aggregators (you can leave mine on, though ;-)), etc. Focus on the task at hand, complete it, and move on.
7.) Ergonomics are your friend
Get comfortable and put a greater focus on your work environment. It should be healthy, comfortable, and safe. Stand up once in a while to stretch and relax your hands, wrists, and neck. You can loosen the kung fu grip on your mouse, flatten your feet on the floor, adjust the top of the monitor to be at eye level, and do many other things to improve your condition. I’m terrible at all of this: I seldom get up, I sit Indian-style, and my dual monitors are angled and a little high. But I have seen others recover from this and start on the path of a more ergonomic-enriched existence. Being comfortable helps you to be productive.
Do you have productivity advice? Is there anything missing form my list?
Data Warehousing and Business Intelligence consultant, with expertise in business analysis, data modeling, and data integration. Extensive experience developing vertical and integrated desktop and Internet applications spanning municipal, clinical, and financial industries.
July 24th, 2007 at 6:23 am
I’m glad you included the section on “no more multitasking”.
I think there is way too much emphasis placed on that methodology. That buzzword (multitasking) has been forcefit into everything even though it is NOT a methodology that should apply to every task. Many tasks done by many people are short focus tasks, whereas programming can easily become longer than even we anticipate as we dive in and get more than just our hands dirty.
But, if mediocity is the goal, by all means stay with multitasking in all you do.
Great thoughts in your posted article.
July 28th, 2007 at 7:59 pm
Thanks Carl. Multitasking is certainly a huge killer. What’s funny is that it is so hard to break the habit. It took me about a month to get used to no outlook or firefox (among other things) while programming. Now, since I’ve made the change, I usually can get through the morning and afternoons with much more focus.
Another killer are meetings. Certainly meetings are useful and needed at times, but I find that more than half of the meetings I’m forced to attend are worthless and unnecessary.
July 29th, 2007 at 10:45 am
In my last regular job (ended in 1999), we finally determined that meetings were time wasters.
One good thing that came out of our mandated quality training was that meetings would have two main characteristics: 1) they would always have a written agenda that was given to participants beforehand, and 2) no meeing would last more than one hour.
That set of rules forced everyone to prioritize and focus on the main issues at hand and not turn a meeting into a marathon. Obviously, more meetings would follow to finish up complex issues. But, the time between meetings allowed people to come up with ideas and solutions instead of being forced to come to a solution in the meeting that generally had no pre-existing agenda just to say an answer was agreed upon. And those types of free form meetings can usually end up where the person who has the most juice or talks the loudest gets his “solution” agreed upon by all who don’t think it’s the best.
July 29th, 2007 at 4:22 pm
Great advice. I’m going to forward this to my manager. Sp. regarding the meeting comment. I’ve been saying this for years! PS: Is Foxpro still around?!
July 30th, 2007 at 9:19 am
Yes, FoxPro is still around. We are all waiting for MS to release Service Pack 2 for VFP9 any week now, certainly by the end of the summer. Beyond that, I guess we live on what we got.
July 30th, 2007 at 10:13 am
[…] Tod means Fox Visual FoxPro, data integration, and related topics ← 7 Productivity Tips for Better Software Development […]