Between Spaghetti, Pasta and Sandwich which one would you choose if you are writing and maintaining code, how it should be like? Definitely not the spaghetti right? I have come across  spaghetti code and detest it to the core.; but I have also observed that wrong understanding of OO or  TOO (too much object orientation) and obsession with modularization leads to pasta like code. This makes us go through multiple files and sections of code to understand simple functionalities. Cannot we translate most of the software requirements into code like how a well prepared sandwich can be nutritious and filling too?

I don’t have an answer to this question but my readings like Worse is better (talks about less and useful features) make me infer that like every person’s hunger can be satisfied with cost-effective, tasty, nutritious and simple to make food; most of the software requirements should also be delivered with simple to write and maintain code. Aesthetics, modularization and other bells & whistles should not come at a cost.

Clayton M Christensen’s writing on ‘How will you measure your life?’ made me have a re-look at my priorities. In the year 2010 I had been doing so much that I had never been so busy, stressed and tired ,eventually fell too sick. Yet when I recollect that year, nothing good stands out barring a few high points and most of the time I had spent trying to squeeze in more and more. On the contrary when I identified some core areas to work & concentrate; and try not to pack myself, I see a remarkable improvement in efficiency and my sense of well being.

I inferred Clayton’s writing as below

  • Get the priorities right and use the resources wisely, we have only 12-14 hours in a day. We should learn to amplify the effectiveness in the tasks we will be involved in every day instead of trying to cram in more hours. Keep revisiting the priorities as they change very often and one plan is never good for long
  • Avoid succumbing the temptation of this one time. Some positive habits are hard to catch on and difficult to follow. Have something like a Seinfeld calendar and make sure not to break the chain.
  • Stay away from the power tools both at work and the family. The best way we can win the confidence of others is to create a level playing field and help each other. Collective intelligence is far more superior than the sum of individual intelligence put together, team work will take us to new height even in a learning mode.
  • Every person we meet has something to teach us, right or wrong is always a perception. By being humble we will be approachable and people will readily share experience and knowledge to help us out. Individuals who act overly assertive or arrogant can leave a wrong impression of being successful, we should be careful not to follow them because mostly their arrogant behavior is to mask their shortcomings. They need to put someone else down to feel good about themselves.
  • Have simple rules and values by which we would leave our place lot better than what we found.

Clayton M Christensen is a professor at Harvard Business School. His work on which this blog is based on is available at HBR

Reader’s digest April month issue made a cover story on why multi tasking is inefficient and risky. I liked the way they presented their views, one example is to write A to Z and 1 to 26 in a paper; alphabets all at one time and numerals the second time. I clocked 20 seconds to do both tasks one by one. Next was to write A and then 1, B and then 2 and go on. This took me more than 30 seconds and I was not able to write as neat as I wrote in the previous attempt. This shows two simple tasks are inefficient when we switch contexts.

They then gave some examples people trying to multi-task and getting into car accidents or falling off the stairs etc (Mostly cell phone distractions). I have observed people who multi-task a lot to be more absent minded. My inclination is also to concentrate on one task at a time and for years I have been reading emails at the start of the day, lunch and end of day & switch off instant messengers at work. I like to compare working on a task to falling asleep, on an average it takes about an undisturbed 13 minutes for an individual to fall asleep; any disturbance before that is going to delay the onset of sleep. I can assume that a task that requires concentration at work will also need that undisturbed time (7 to 13 minutes) to settle into the mode and get going where the instincts take over the conscience (That is the point where I have been the most efficient).

Sadly the work places now are getting livelier and noisier, I mean it literally. Inviduals have begun to dive into multiple streams of work and often have to switch contexts. This leads to inefficiency and puts some individuals into a vicious cycle of coffee, long hours and lack of sleep until they go on vacations. If the environment is also micro management friendly then that adds more fuel to the vicious cycle of inefficiencies.

In my workplace I have observed people concentrate the most when they play a team game like AOE, where the only conversations are brief messages and status exchanges as the goal is to keep moving until you win. The work place core hours should be inclined that way to cut out not only literal noise but also disturbances which will make us switch contexts too often. Some rigidity in the schedule is required as it helps to get people into a rhythm, the schedule should also keep in mind the team’s composition to accommodate different individuals as they peak at different times during the day. Try getting your team and members work on a mutually agreed schedule of no meeting times and feel the difference it makes to every individual.