This tweet’s picture is my favorite picture and I have it as my wallpaper to remind me to improve constantly. You always have to have time to improve. Too often we just rush and don’t look few steps forward. And the truth is that often we are too busy. What should we do about it?
In the above Lego picture, it is obvious that two guys shouldn’t be that busy to not change square tires to round ones. But I think sometimes we are also in that situation. We think we will reach the goal in few steps and changing the tires would take too much time. But more often we just haven’t kept ourselves learning new things and we don’t know there is a better option.
Invest regularly in your knowledge portfolio (Andrew Hunt and David Thomas in The Pragmatic Programmer).
The most important thing for a software developer is his knowledge. And unfortunately, it will expire sooner or later if we don’t maintain and improve it. Sometimes expiring can be surprisingly fast. So we have to keep improving ourselves constantly.
But I am too busy…
“I have to finish this quickly and then I have to do that and…”. This is too familiar feeling: you need to get done at work. That is what you are paid for and for and what customers and boss are expecting from you. Customers won’t pay anything when you are learning and improving yourself.
In Finland, we have a saying “work doesn’t end by doing it” (“ei työt tekemällä lopu”). Practically it means that after you have finished one job you will have one or more job after that etc. Even if you try to get all work done you will never have time to improve yourself because there is next task waiting for you.
They spend all their energy trying to catch up and don’t devote enough time to developing the skills that could actually help them work more effectively (Edmond Lau in The Effective Engineer).
Some companies have wakened up to the truth that employees have to have time to develop their skills. Maybe you have heard about Google’s “20% time” policy. Even if that isn’t valid anymore in Google, I think many companies have taken “x% time” policy and that is good. To be honest 20% sounds too unrealistic but even few percent is better. For example, Gofore in Finland has “6% time” policy which sounds more realistic. And I am sure Gofore isn’t the only one.
It is recommended to carve that “x% time” regularly in small batches than one whole day sometimes. In the short run, you will probably decrease your productivity but in the long run, your investment will increase your productivity.
Your daily work should really be both delivering value AND improving the work (Håkan Forss in his blog).
Focus on the important and non-urgent
Edmond Lau has presented following matrix in his The Effective Engineer book:
Clearly, quadrant 1 is most important and we should put our main focus on it. But we shouldn’t forget quadrant 2 to develop ourselves (or the team or company). It is difficult because quadrant 2 doesn’t have any deadlines or short-term business values.
Think a moment about your quadrant 1 tasks. What are the root causes of some crises and too tight deadlines? Many times the root cause is an underinvestment in the quadrant 2. For example, constant high-priority bugs might be a reason for having too few tests. Then you should learn to write tests. If you just fix the bugs without tests, it won’t make any better result in the long run.
Work on the important and non-urgent. Prioritize long-term investments that increase your effectiveness, even if they don’t have a deadline. (Edmond Lau, The Effective Engineer)
- Hakan Forss’s Blog by Håkan Forss. “Are you too busy to improve?”
- The Effective Engineer by Edmond Lau. Chapter 2, Optimize for Learning and chapter 3, Prioritize Regularly.
- The Pragmatic Programmer by Andrew Hunt and David Thomas. Chapter 5, Your Knowledge Portfolio.