Performance Monk and the Deadly Duo

Alik here. Following great feedback on our last post we decided to continue sharing ACE Team members’ insights with the online community. This time Bani shares how he is finding his new temple by changing his religion (from UNIX to Windows). He also shares fantastic tips and resources on how effectively to do so – to become high performing performance consultant. Here we go again!

Bani, what is your expertise?

My expertise is mostly in non-MS stuff, the world of UNIX. I worked on this for first 6 years of my career. But now I am learning the Windows ways.

What’s you passionate the most?

By religion I am a performance investigator. I actively look for it and try to investigate into performance problems by getting into the root. The journey to the root is not smooth, I face many challenges. But I am proud to have challenges, I perceive these as the learning opportunities in disguise. I am passionate  about tools like debugger/analyzer.

What’s the current challenge you are dealing /coping with?

I am trying to cope with the world of .NET and winDBG, the deadly duo, which will rule the planet one day.

How do you approach the challenge? How are you coping with the deadly duo?

There is no single way of approaching a challenge. It depends on the type of the problem. I do a short analysis before choosing a prudent strategy. For production issues, I normally look for the event logs and performance counters and try to find some early signs of the performance problems. Sometimes these two are enough to get a good picture; if it’s not, then I take help of theses deadly duo, of course in the context of .NET apps.

To answer the second part of your question: I need to understand the .NET framework essentials, the design anti-patterns. I read a lot and try to practice a lot. Some of my favorite books are: Debugging .Net applications by John Robbins, CLR via C # by Jeffrey Richter etc. Apart from these Tess’s blog is a very good resource for the debugging purpose.  Recently, I was working for an internal project and I found CPU spikes for particular transactions. To really get into the root  and understand the context I used WinDBG for the first time - Processor spikes in the web server; find the rouge process/thread. Tess’s blog helped me a lot for this exercise.

What’s your biggest secret of successful consulting?

When a customer asks for a help, try to read between the lines and interpret the unuttered concerns. We often miss the big picture and try to solve the small problem. But this is kind of a temporary solution. It’s quite common that the area from where a problem surfaces is an indication only, the real problem stays somewhere miles away within. Just resolving the surfaced problem is like giving temporary oxygen aid to a heart attack patient who badly needs bypass surgery. The secret of success is to figure out the need of bypass surgery and convince the stake holders the danger of not doing it.

How your service can save your customers money?

Once I worked on a production issue of one of my customers, he was kind of happy with my service. This step was like building trust with the customer. After sometime he asked me for some guidance only. I offered my guidance but also I chose to help him by sharing some of my knowledge (read performance awareness) among his developers/testers. My goal was to enable them so that they can do some part of our repetitive job among themselves and ask for my help only whenthis line of their defense fails. It’s a win-win situation for both of us. Customer can save money for some “monkey” tasks for which we use to charge them whereas I could concentrate on more serious problems with the long-term impact a.k.a. the big picture.

What’s your advice to make it through the economy crisis?

Using my judgment I can try answering this. Part of this can be addressed by the last answer. Plus, I have to be prudent enough while suggesting a solution to a customer. I can ask these questions to myself.

What is the real problem?

To resolve this what is the financial impact from the customer’s perspective?  Is it too high for him at this hour?

Can there be a budget solution to keep him run the business?

What are the risks of this budget solution?

I will prepare, communicate the message and show how much I care for each penny my customer is going to spend.

The last but not the least, I will keep in touch with him. Once good days are back I may get more business.