Wednesday, June 20, 2007

Getting through JEE

Even though it is more than 10 years since I wrote JEE, even today i get questions like "how do you prepare for JEE", "give me some tips/guidance for effective study" etc. Since it is such a long time i no longer remember the main things that i did/strategies that i used to prepare etc. So I have to resort to generic bullshit like:
  1. Work systematically to cover everything
  2. Write a lot of state/country level tests
  3. Do what you like, don't try to get through JEE and into engineering just bcos there is peer pressure.
  4. Plan well, experiment and find out what works best for you etc etc
If someone had asked me the same question when i was studying, i would probably have had a million specific things that i used for preparing. Once you are through you usually forget what actually contributed to that and start resorting to obvious things like the above...

If I had a (b)log of what all i did back then, I am sure it would have been valuable now. If we had similar logs for say the top 100 ppl in their respective fields (say ppl who start startups, ppl who had significant social impact, ppl who invent things...) I wonder what we will learn from their logs rather than from listening to what they have to say about how they did it.

Friday, June 15, 2007

7 years at work

Does not seem like such a long time after all :).

Wishful thinking

One of the favorite methods of solving tough situations in our industry is "wishful thinking" :). It is surprising how often even otherwise sane people will say stuff like "Oh, we should ship faster and be more agile, maybe we should follow scrum" !!

How will you know something will solve your problem if you are not even sure what your problem is:
  1. Is it lack of specs and vision? Maybe you really never specified what you wanted to do, so all sorts of random things are getting done?
  2. Scope - did you scope the project so that it has a chance of getting done on time with the resources you have?
  3. Talent - do you have a bunch of asp.net programmers trying to write kernel code or vice versa :)
  4. Managing change - did new things happen to which you have to react?
  5. Learning from mistakes - did you ever have a honest post mortem? Did you learn something from it?

How the heck will any of the above problems get solved by following a different process or by asking for status mails more frequently?

Friday, June 01, 2007

Error handling

Imagine you are building an application/sdk. Let us say every time an error happens in your app/sdk you give the following helpful error: "An error has occurred at sometime due to unknown reason" and give guidelines that if an end user should see this kind of an error they should enable tracing in their application config and restart their application and repro the problem again so that they get more useful errors in "traces".

What should be the reaction of your customer?
Right! they should come and kick your ass :)

As tragic as this seems, this seems to be the default error handling strategy of one of the "change the world" platforms!