Be lazy


From time to time I am amazed by how developers can be hard workers.
I can see developers create and change big xml files with notepad, replace value by value with CTRL +F or by open wide eyes and search for things with their eyes.
I can see developers do the same "browser routine" (open window, login, click here and their...) few times a day.
I can see developers do the same files routines (copy file, rename , delete) few times a day.
I can see developers see the same " key routine " few times a day.

We spent most of the day in front of the computer trying to create programs that will make human life easier , accurate and faster ,but when it come to us most of the time we work hard by doing the same and same other and other again.

In his book Programming Perl (O’Reilly), Larry Wall describes the three virtues of a
programmer as “laziness, impatience, and hubris.” Laziness, because you will expend effort to
reduce the amount of overall work necessary. I wish i was more lazy. I wish i will expand effort to
reduce the amount of overall work necessary. Most of the developers including me will do the same routine other and other before they will automate the process.

The main reason that we dont create shortcut to our routine is that we need to learn some tool in order to create a shortcut. Learning a new tool, language,framework required time and in most of the cases the time that will required to learn the replacement tool is more than the sum of the time that spent to do it several of time with the old routine.
Suppose that you need to replace few fields in a big xml file. You can open the xml in notepad look for the field and replace them. This will take you 2 minutes . As an alternative you can do it with powershell in single  line. In case that you are not familiar with powershell this will take you few hours (powershell is very simple, but still any new tool require some time to learn). From this reason most of the developers will stick with the old school attitude and will not learn a new tool in order to find a solution for these 2 minutes work.


As you can see in the diagram above any new tool has a learning curve and will take some time until we will get a better performance comparing to the old tool.

Eventually you do the same and the same routine and at the bottom line you pass the time that is needed in order to learn a new tool , so you do the routine more slowly and less accuracy and more boring than make them in an automating tool.

Neal Ford in his great book  - " The productive programmer " claim that one of the reason that some developers are seven time more productive than over developers is that they are using in productive tools that short tasks time. I don't know about this number , but i am sure that we all spent a lot of time by being too much " hard workers " and do things in the " old school way " and not looking for a tool that will do the job for us.

I am admire developers that don't touch their mouse and they environment is full with shortcut. You can learn a lot of quick and shortcut tip by watching how other developers organize their environment. Some time i am sitting with colleague on his computer in order to solve a bug and accidentally i pay attention to some clever organization or shortcut method. I wish the developer community has a show like Martha Stewart has that teach some clever trick and tip to our programming environment.

As i wrote above Neal Ford tried to do this in his book "The productive programmer" .The Productive Programmer offers critical timesaving and productivity tools that you can adopt right away, no matter what platform you use.

I will try to collect and add some of my own experience advice under "Be lazy" tag. If you have your own productive advice i will be great-full if you can send them to me (avihaimar@yahoo.com).




אין תגובות:

הוסף רשומת תגובה