5 Tips to Help Improve Developer Productivity

Recently I started thinking about some things I could do to improve productivity when developing - most of them are pretty obvious but can be easily forgotten.

1. Eliminate Distractions

Software engineering is a discipline where train of thought and flow are really important and anything that breaks these affect productivity. When you  sit down to complete a task try to eliminate as many distractions as possible - close your email client & twitter client, turn off all notifications relating to twitter, facebook, google + etc. and try to get into a flow for a block of time. I find the Pomodoro Technique is a good way to keep focused. The Pomodoro Technique is simply:

  • Choose a task to be accomplished
  • Set the Pomodoro timer to a certain length of time (for me it is 45 minutes)
  • Work on the task until the Pomodoro rings
  • Take a short break (5 minutes is OK)
  • Every 4 Pomodoros take a longer break

2. No podcasts or talk radio

For a long time I used to listen to podcasts or talk radio shows - I was convinced that they were just playing in the background and not affecting how quickly I got tasks done. Over a period of time I started to become conscious of my behavior when listening to them and found that if when a podcast referred to a subject that interested me I would find myself on some webpage relating to the subject finding more information. Instead I have created playlists on Grooveshark and stations on last.fm and have replaced podcasts with music which helps to keep my mind on task.

3. Document Technical Solutions

As software developers we spend our days figuring out technical problems, when we implement the solution it feels so familiar that it feels unforgettable - this is usually not the case. On numerous occasions I have come across the same technical problem 6 months or a year after I encountered it the first time and while it is usually quicker to figure it out the second time around it still takes time so when you come across a technical problem you should document the steps you took to solve it.  It might be a good idea to start a blog to help build your profile. If there are small snippets of code that you think you will reuse on a regular basis you can just use a site like www.snipt.net to keep them easily accessible.

4. Focus

Being productive at a particular task is only one part of overall productivity - ensuring you do the highest priority tasks is probably more important. Ensure you have a list of tasks that are sorted by priority so that when you get one task finished you know the next task you move onto is the next highest priority. There are always certain tasks you enjoy doing and others that you don’t - try to complete the tasks that you don’t enjoy first or at least don’t leave them til last.

5. Environment & Hardware

“A carpenter with a blunt saw” - I have felt this way a number of times over the last few years where I have found myself using hardware that was barely capable of running a web browser  and development tools that were more of a hindrance than a help. The price of hardware has dropped significantly over the last few years and many of the best tools for  development are now free so figure out what are the best tools to get your job done and try to make sure you have them. If you are more productive with 2 monitors (most people are) buy a second monitor or a third one if you find that better. Ensure your development machie has sufficient RAM and a decent processor. Ensure the development tools you are using are the right tools for the technology you are working with. And finally ensure you have a decent sized desk with a decent office chair.

These are just some tips that have helped me - any other tips?

Small Details Count

We use Zoho Invoice (http://www.zoho.com/invoice/) for our invoices - most of the reports we generate in the application are based on a date range so you have the option to select a start date and an end date to generate a report but on the same line they have a drop down for a “Date Range” which has the list of options shown in the image below:

zoho_date_range2

When you select an option from the date range it simply populates the start date and end date - very simple feature and very easy to implement but it means I have never had to go through the process of selecting a start date and an end date when generating a report which makes my life just a little bit easier. I am definitely not an expert in user experience design but I have learned that if you pay attention to small details within applications it can have a big effect on your users. The site http://littlebigdetails.com/ launched this week and it shows some excellent examples of how small details in UI design can make a big difference.

Videos from the Web 2.0 Summit 2010

I am just making my way through some of the videos from the Web 2.0 summit - brilliant line up of Speakers and topics. This is the full playlist from the conference:

GTUG - Dublin October 2010

I have joined the group GTUG . I have only have missed one meeting so far from three. The meetings are held the last Tuesday of the month and in the impressive Google Offices in Barrow Street. What do I hope to gain from joining the group:

  • Get to meet some developers from Google and other companies that are working on different Google API’s and to listen to them share their experiences.
  • See what is new, up and coming in Google, Android etc.
  • See the famous offices and get some Pizza….

Thoughts so far:

It is extremely interesting to listen to the Google developers and the to hear the rational and way of thinking behind some of the API’s that they work with and write. This week Google App Engine was being discussed and it fairly fights its corner as a one stop shop for hosting and developing your application on. The most impressive things about App Engine were it’s performance and cost for a heavy usage application, read the humble indie blog post.

The guys from hittheroad demoed their application with is a really nice way to find your way around dublin, I will be downloading the Android version when it comes out, I have a feeling that Google Maps themselves will want to roll this into an update in the future, perhaps they will be bought out.

It was good to see a student in their final year coming up with a good application for testing your Android application in the cloud.

Successful Applicant for Free Software Development

Whiteboard

We are happy to announce the successful applicant for our Free Software Development offer is Newmarket Solutions. We will go through the specifics of what we will be working on here on the blog over the next few weeks. We are looking forward to it.



Get Adobe Flash playerPlugin by wpburn.com wordpress themes