Good habits for student developers – Time Keeping
Here I talk about good time keeping, how to do it and why it's important
This is my second in a series of three articles covering good habits for student developers.
In this article I want to cover Time Keeping, the other two articles are on Backups and Documenting.
Time keeping can one of the most annoying things you have to do, especially if you don’t see any point in it or you leave it to the last minute.
How much time keeping you will need to do in your job and the manner in which you need to log it will depend entirely on the company you work for. I have worked in places that have required daily time sheets using some terrible CRM system the sales people used, at another company which wanted them daily but using git commits we could log time without needing anything else, and I have even worked somewhere that would just randomly ask for a high level view on time spent one every couple months.
Since the reasons and methods change from company to company you might wonder why I have opinions on the skills you need to acquire to do this right.
I would argue that you shouldn’t see time keeping as something you need to do for someone else, the main benefactor of good time keeping is you.
Defining time keeping
I have written a lot and haven’t actually defined time keeping yet! My definition of it is logging the time you have spent on various tasks in such a way that you can recall it easily at a later date.
How to log time
The secret is to have things set up in such a way that it happens automatically.
I use two tools in order to do this.
The first is rescue time, this tool monitors the apps I use and categorises them into if they are productive or not.
The only input from you that is required is to (re)categorise some of the applications. If for example your job involves needing to spend half your day on Twitter, you should set Twitter as productive time and not unproductive as it is set by default.
The second tool is a script built into my terminal that tells me how long it has been between commits in the project I am working on.
I use both these tools outside of work as well to track personal projects and even just anything recreational I am doing on my computer.
Knowing how long you spend on something is the first step to optimising the process.
I was able to make a business case for not logging time the way we were at one company because I was spending roughly 90 minutes a week working on logging time instead of doing billable work.
Somewhere else I was able to spot I was spending too long in my emails so put processes in place to keep my email time to a minimum.
Another benefit is working out how much you should be charging for your time.
If you know it normally takes you 3 hours to update a particular type of website and someone asks you to do it, you will be in a better position to quote something you feel is fair.
Good time keeping will impress managers as well – this sounds unimportant but if you can make your managers life easier by submitting accurate and timely logs of time they are going to look favourably on you.
Hopefully this has been useful.