Total Pageviews

Sunday, August 5, 2012

Troubleshooting.... Why is it so much fun?!!!

          I am always super excited to start working on new tools and building new stuff. Each time I build or work on something new with all that I know... more often than not it does not work the first time I build it. After the first few naive attempts I used to lose hope. But now.... I learned that troubleshooting  and getting things to work is the most exciting part of the whole building process. So from now on, we will refer to troubleshooting as "fun-hunting".
          The first thing to do in troubleshooting (fun-hunting) is to not lose hope, keep the spirit high and be patient. The next thing to do is to believe that we are definitely capable of making the impossible possible. The third and the most important of all. When in a team, DO NOT DISCLAIM RESPONSIBILITY or find fault with others' work. Because this is just a "fun-hunting" game and not an "ego-clashing" game. These  three things are just psychological. But when it comes to the technicalities of "fun-hunting", there are different ways of doing it and each engineer/technician has his/her own way of attacking the problem. Most of them are skills that are acquired over a period of time that come from experience. 
           But for beginners (which includes me) it requires a careful thought and perfect focus on what we are supposed to do. The first time I had to troubleshoot a model that I built, I was completely lost and felt as if I was searching for a light in a dark universe. The reason being... it is very hard to identify where the "fun" actually began because often the designs are humongous. Well, how should we go about this? For the first time we will definitely need some supervision.  Do not feel embarrassed or guilty of getting into that situation. But from the second time to avoid having to depend on supervision it would be a great idea to do it ourselves. Then we are back at square one. That's okay!!! Everybody has to through this phase. 
          To start with break the system into smaller parts and look at what each of the individual blocks is doing. This seems obvious and natural. But I realized that the "fun" is... these blocks behave perfectly fine individually. The "fun" is they are not compatible with each other!! The key is go back to basics and be patient. 
        When we learn stuff at school we often tend to skip detail because sometimes the focus is just on getting around the tough part and solving what is easier and quicker. But when it comes to making something work that simply does not work. The model or product that you build will force you to dig deeper to make it work. Here the evaluation is not the grade but the product itself that we build. The output of our effort is not any longer a letter or a number... it is real and visible. The world does not care for an awesome design as long as it is not working. The key is to not abandon something that you built. If you abandon it someone else is going to grab the chance to make it work. It's definitely not worth it!  (However, sharing work and experience is definitely worth it :))
        Remember that the history keeps repeating. So the mantra to master the skill of "fun-hunting" is to maintain a log of what we have learnt from a design that did not work. There is never a failed model. There are only teaching or training models. Thats how we learn!! :) Lets all crave for the immense satisfaction that a working model provides!!!!!