[Note: I have quoted everyone verbatim.]
Do you need analysis and logic to write software?
Many years ago, I was interviewed for a software developer’s job at a firm in Bangalore. The interviewer asked me why, with my degree in Architecture, I got into software programming. I explained that I was always fond of Mathematics and brain teasers—using formulas, analysis and logic. Therefore, I had figured that I would enjoy programming, and I had got into it—and I still enjoyed (and enjoy) it.
He smiled at me dismissively and said, “No, no. Logic, analysis—you see, all that not necessary. Just if you know Java architecture, more than enough”!
Logic proportionate to qualification?
There was a developer, Seema [name changed], reporting to me on a software project. She was rather proud that she had a Master’s degree in Mathematics.
One day, she kept staring hard at her code—she had an ‘OR’ condition in it, and she was trying to figure out why the program was never going into the second condition of the ‘OR’ statement. I looked at it and explained to her that the first condition was always being met.
“But I have given second condition also, no? Then why it is not going there?”
I explained to her, “Computer systems follow what is known as lazy evaluation or shortcut evaluation. If the first condition is met, there is no need for it to waste precious processing power to check if the second condition is also met. Of course, if the first condition is NOT met, it has no choice but to check the second condition. Likewise, with an ‘AND’ condition, if the first condition is not met, there is no need for the system to waste its time checking for the second condition.”
She looked both enlightened and puzzled. Then she said, “Tell me, I have M.Sc in Maths, and you have only Bachelor’s degree, that too, in Architecture. In so many years, I never knew this. How you know all this? Something is suspicious here.”
Well, what could I say?!!
What is an estimate?
The same Seema, apart from not knowing the computer system’s logic, proved to be extremely slow at her work. I had asked her to create a form with about 10 fields and validate them (text not blank, from date earlier than to date, etc.), expecting that she would finish it in a couple of days.
Three weeks passed. In fact, three months passed, and she was still nowhere near done. The only progress was that she was pregnant. One day, when I walked past her machine, I asked her to show me what she had done. She had a few job search sites and her certification exam material open. She had not even opened our project application—the sole task assigned to her, and the last update she had made was over two weeks earlier.
I told her, “Seema, I have no problem with your preparing for the exam, and I also think it is perfectly OK for people to seek a job change. It’s just that the work should not suffer unduly. It has been three months now, and the form is still incomplete. How about you spend four hours a day on your job search and your certification study, and four hours on the project? Does that sound fair to you?”
She glared at me and then started to cry. She said, “How dare you look at my screen? It is none of your business what I do here. And that too, with my condition [pregnancy], you are causing me trauma”!
I replied, “I do not go around looking at people’s screens. I was forced to observe your activities because you have not been delivering anything. Anyway, what’s done is done. Now, can you please give me an estimate of when you can finish it?”
She looked at me nonchalantly and said, “Estimate? Whatever time it will finally take me to finish it, that only will be the estimate”!
Incidentally, her husband was in the HR department of India’s best-known IT firm (maybe he still is; I don’t know). I wonder if she faithfully reported to him the conversation I had with her, and what he had to say about it all.
: A couple of weeks later, when there was still no progress, I told Seema to get out of the project. When I explained my decision to my boss, he replied, ‘Yes, I know she is lousy. But poor thing, if we give her a poor review or hike, she will feel bad, no? So that is why we have given her a hike all these years, just as we have given all the other developers. Nobody else wants her; that’s why I gave her to your project.” [Gee, awfully nice of him! And this was the same guy who gave me a poor review for being an “uncooperative salesperson
“.] Anyway, a new COO came along and sacked her.
Seema soon joined a huge-name firm, where she is now a senior developer. I really want to pin a medal on the person who is able to get some work out of her!