Since 2005, I am mostly working from my home office, both as an employee for about 2 years and as a consultant for 10 years. The tips are mostly from my work as a consultant but some of them are also very useful as an employee.
Simplicity and sustainability are the principles at the core and everything flow out of them.
Of course, your work must be sustainable from a business point of view, but here I mean from a physical point of view. It seems that in the US, it is common practice to work 70h a week and take 3 weeks of vacations a year but reading your work emails 365 days a year. If you want to be a long term consultant, this is a very good recipe to be a bad consultant. Above 40h a week of normal work, the quality of each extra hour decreases rapidly to the point of doing negative work. So, sleep well, do not work long hours and exercise enough.
Bad sleep (in my case, I need 7 to 8h) results in bad work. The worse is that in most of the cases, you feel a bit tired but you are unable to see how your productivity is decreasing. For me, I have a simple way to know if I am tired without knowing it or not: do some fluid phase equilibria and thermodynamics work in Fortran. This is so demanding that if tired I simply cannot do it correctly. If you ask me to code within the .NET or Python ecosystem, the editor and the tools are all there to help you and the lack of "clear" mind is less obvious. Note that this is a vicious circle, because as soon as you are tired you are losing your judgement to evaluate how much your productivity is decreasing.
For the exercise I am guilty of not doing enough of it. About 10 minutes a day of push-ups etc. but I should really have 2h of cycling a week on top of that.
Keep things simple. Simplicity is hard to achieve because you can only reach it when you know what you need and what is optional. You get to know that with your experience and experience is a nice word used by older people to say: "I already made all the mistakes before but you also need to go through to understand the stuff."
You do not have to worry about the future, the natural entropy of your work system will lead to a natural increase in the complexity of it, this is why you do not need to make it more complex that necessary to start with.
You simply cannot do without an easy to use time tracking application. After the years I found that the only requirements are:
- offline usage (you do not want to track manually the time if you do not have internet connectivity like in a plane or somewhere far away from the civilization)
- easy export of the data as CSV or XML to generate custom reports, like the ones you will have to generate to invoice your customers
- tagging of the entries to associate them to a project or a customer, a standard tag for a customer entry is the customer name and "Invoiced" if this is invoiced time. This allows me to report at the end of the months all my invoiced hours or only the one for a given customer.
For me a very efficient simple and flexible time tracking tool is the Hamster application in Gnome with the Gnome Applet. At the start, I was using a simple Excel sheet. But now, I can generate my monthly run by day, my worklog per customer, simple and efficient (it has a Python API).
Here is for example an example of a customer page. You can see that I provide the full log, directly out of my time tracking application. This is simple and very efficient. The page is built from an XML export of my hamster time tracking.
Get Used to Work like Athlete Train and Compete
If you ask an athlete how it feels when she trained to hard the day before, the answer is very simple: bad. An athlete tries to be at peak conditions all the time outside of the planned recovery periods.
As an excellent consultant, you want to provide your best each time you work for a customer, it means that overdoing one day automatically implies the need to recover afterwards. After an event, athletes take the time to recover. After a bit of crunch time, you need to recover.
Contrary to the athletes who are doing a lot of training/competition/recovery cycles in the year, as a consultant you try to smooth as much as possible your workload to reduce the number of crunch time/recovery cycles.
This is a relaxed marathon, not a sprint, so ensure that if you need to work 200h over 10 weeks for a customer, you are effectively working 4 to 5h a day. You must not work 70h a week the last 3 weeks!
As you can see on an example view of a monthly load tracking, if I am pushing my limits for a customer on a given day, I ensure to recover immediately thereafter. Of course, the default rule is not to work during the weekend.
Low Working Hours per Customer and per Day
The corollary of running your marathon is that you can keep the number of working hours per customer per day low. I try to always be below 5h of work per customer and per day. If I focus 4 to 5h on a given subject for the day, I can switch to another for 2 to 3h or so and keep 7h of good invoiceable work. My efficiency is lower if I do 7h for a customer a day and 7h for the other the next day. But more than 2 customers/type of work during the day (basically, going to small chunks of work instead of bigger ones) affects badly my productivity.
My ideal run is 2x2h in the morning and 2.5h in the afternoon, split over two customers. This is also why if setup a project for a customer for 10 weeks of work, I always schedule it on a period of 20 weeks. On the long run, this provides extremely high quality hours for my customers.
Very simple TODO list. Working from home is hard because everything in the house can bring you out of your work. A simple todo list to just write down what needs to be done at home if it goes through my mind frees me to keep working. I do not need to keep in mind that I need to do X or Y after my work. It is on the list. The list is a simple paper list, yes a simple A4 paper on my desk. I have two of them, one for the at home stuff I do not want to pollute my mind with while working and one for the work.
Rough weekly planning. This is just to know when something needs to be done, the hard deadlines of the week, etc. Again, just a piece of paper for it to be simple and reduce the cognitive load of making it. Some weeks, it is nearly empty and this is good so.
This simple planning extends very well for your turnover. Suppose you want to achieve a €100k turnover per year and you charge 100€/h of work with 42 weeks of invoiceable time per year. This means 1000h of work spread over 210 days or 4h45 minutes of invoiced work per day.
So, if every single day you work, you put first these 5h of work for your customers, you do not have to worry, at the end of the year, you will break even and be happy.
Some Other Tips
Other things which helped me:
- Be sure to develop the habit of doing every single day some great work for your customers.
- Kill distractions during the working hours like a firewall preventing you to access social medias, news, etc.
- Keep your desk clean to keep your mind clutter free.
- Go to zero emails in your Inbox.