Posts

Showing posts from 2006

Handling attrition in SME

I have come across a few instances where a large number of employees from a division quit within a short time. Though I didn't face the problem myself as a boss, I was part of the group that quit once - just once. The reasons range from better job market to low morale. Here are some thoughts on what the management can do about it. 1. When a key person or more than one person from a team quits, stop; think if you are doing anything wrong. The person might be leaving for any reason - the management needs to take the employee's reason with a pinch of salt. Rarely employees tell you what is wrong with you. They tend to be nice and usually lie. 2. Some of the mistakes that management end up doing are - share the work done by the employee who left among the remaining ones, putting more pressure on these members to complete the work and pressurizing HR to recruit more. Sharing work is fine as long as the time allotted for completion is extended appropriately. Giving pressure ...

Technical Writing and all such talks

Technical writings and software documentation It seems Naveen, Ari and Shivan won't get to a conclusion. For relatively small SME projects, following a good coding habit is the most essential requirement. The cost of documenting the project could be too prohibitive for the SME. Consultants can give a value for the money by just following standards as per the language and environment. This makes it imperative for the developers to be disciplined on whatever they are doing; that doesn't come right away when you work for small projects. It is like a circle, where bigger projects bring in discipline - developers have to gain experience with smaller projects to enter bigger ones - smaller projects need discipline (more than bigger projects where minor deviation from standards here and there won't matter much). Tough cycle to break; but will try that!

Traffic lights coming down in city

Traffic lights coming down in city Chennai added a large number of traffic lights and cops in the last 12 months - An indication that we are becoming less considerate to other road-users!

Tips for reading other person's code

Tips for reading other person's code More from a maintenance guy's experience. 1. Concentrate on code and take the comments with a pinch of salt. Often you will encounter comments that were not updated when code got updated. 2. Try writing down your understanding of the code, taking one chunk at a time. A chunk typically consists of a program construct like if...else block, or a loop or a function. This way you can reconstruct the algorithm, especially if the code wasn't structured.

Hype about IITs

IITians, do something for Indian education is right on target. There is no doubt that the students who enter IITs are the smartest ones in the country. The question is, what value does IIT add to these students during the best part of their life. Success stories of IITians becoming entrepreneurs and good scientists typically have chapter where the person spent 2 years at Stanford or MIT or Harvard or other great universities in US, after their B.Tech at IIT. IITians when they come of out their B.Tech often have an air of justifiable superiority complex that prevents them from being normal. This gets normalized when they go to US, see that there are others including Indians from other schools who are at least as smart as IITians are. In addition to getting into serious competition with Chinese and other Asian universities, IITs should also get into research in education, humanities and basic science.

Google: Gmail - Calendar Integration

You have reasons to be paranoid on what all Google does with your email. I was having an email conversation with a contact to schedule a meeting. I used Gmail. As the email thread grew, on the right side navigation Gmail shows links to add this to the calendar. When I clicked on the link, Google had pre-filled some of the fields like date, location. If I had used a different time format, Google would have picked that one too. It is nice to know that Google does so much for better user experience. At the same time, I am a bit uneasy with the parsing of my mail content. I guess Google WILL parse the email for ad-sense and such money making features. Is there a way I can tell Google not to parse my mails or show context sensitive ads on the right side?

Differing views of managing software requirements

I hope this is doesn't become a habit that I bitch about non-technical people, though I may have intentions to do so. Coming to the topic of my opinion, there are two views of software development. i. Build the perfect system handling extreme cases though the extreme cases will not be encountered for the next couple of years. Consider a service aggregation where multiple service providers sign up. Users can choose the services that they are interested in and pay for it. If the business is not yet ready to bring in multiple service provider for the same service (say payroll), it makes no sense to build the software up-front to handle features like the priority, pricing etc., The business must be a very powerful one to get such multiple service providers sign up with them. If that is the case, why should the software be designed for it up-front. When the business spends the efforts to rope in multiple providers, the logic for the priority and pricing will have to be reviewed ...

Technology Companies - Do you need technical sales executive?

I come across employees with non-technical role, in a technology organization who are not even slightly technically inclined. Some examples: - One executive is responsible for sales through some specific pages on an e-commerce site. Being a sales executive, he found no reason to be technically inclined. Every time, I ask him to open the page, he will go back to an email (no google desktop used here) to locate the mail and go to the page. He gets doubly confused between a QA Server and a production server URLs. - A Manager banned IM for his team as he was not comfortable using IM. I prefer IM for short 2 line conversation. If a conversation extends beyond two lines, I would pick up the phone or walk up to the other person and discuss. - Another executive who was responsible for product merchandising and accounting of sales needed a techy to do the formula for her monthly reports in Excel. She wouldn't sign up for classes and took the easy route to the solution by asking for h...

Joel on Software

Joel on Software Agreed for most part. Except that the restart button is essential. Even with a restart option I wait nervously every time I need to reboot the server in Virginia remotely from Chennai, India.

Outsourcing Software Development

No, we are not getting into the debate on offshoring or bangaloring a job. Let's talk about the quality of consulting companies in general. I had worked on either side of outsourcing. It is common for consulting companies to bid low and jack up the cost as the project progresses. It is like the Chennai auto guys demanding more when you are nearing the destination. The Biz Dev team doesn't care about correctness of estimate just as the developer does not care about the correctness of code. I come across problems that could have been nicely sorted out had the developers been a bit enterprising in looking out for solution in search engines. Because of such a quality of developers, both the parties face loss. The consulting company's loss is low billed time as against the actual time taken by the developers to solve the problem. Customer's loss is on lost opportunity or on living with non-optimal systems. Consulting companies have a tight grip on Internet access and ...

Google Co-op - Custom Search Engine

Google Co-op - Custom Search Engine Looks like Google is going over-board on Search integration just like MS did with their OS integration with IE. Somehow I get a feeling that this is similar to the failed ideas like Active Desktop, push technology, HTML like interface for desktop folders etc., Google involvement in every aspect of the web can soon become a pain and a number of such initiatives are bound to be failures. I just hope Google doesn't become a web equivalent of MS. Monotony can be just as bad as monopoly.

A farce called "Local Body Elections" in Tamil Nadu

The election started peacefully. All rich people of my locality decided to stay in-doors. I fished out the identity cards from a pile of junk in my book-shelf. Armed with the power of identity cards, my wife and I went to the polling booth. No video coverage for our visit to the booth as we are not celebrities yet and we had no intention of creating news there. There were some 10 people in front of us, none of them seem to be from our area. They obviously are impersonating someone in our area. The agents of the candidates were sitting in a corner of the room, obviously aware of the impersonations happening on each party's behalf. The staff manning booth didn't ask for identity cards for any of the impersonators. My wife and I questioned the officers on why they allowed those with no identity cards. We didn't get a reply. They probably were too scared to ask for them. When coming out of the polling station, a lady from our area was complaining about the presence of...

No Silver Bullet:

No Silver Bullet: It is obvious for someone like me who spent a good part of his career on programming. We can take just one aspect of programming - type safety. We start with C, get worried about the lack of type safety. C++ didn't help much in that part, but allowed for encapsulation for modeling objects. Java went over-board on the type checking and became a pain for simpler operations. For some thing as simple as a Http post, there may be a need to create a few objects and their inner objects and so on. My conclusion is, choose a language that will allow you to do what you want to do. This means, the decision maker has to have good knowledge on the strengths and weaknesses of the languages and platforms. I still come across non-technical managers who want a design that can accommodate everything. For example, my boss wants a DB design that will allow for storing detailed information of products and also have a general solution. He suggested something like a place-holder ...

Google Docs & Spreadsheets

Google Docs & Spreadsheets Hmmmm - What else is remaining? Presentation? Not really as it is not that commonly used application. Online Image Editors - It is probably in the pipeline. With Ajax it should be cool to develop such applications. My personal wish would be an online accounting package for home and small business owners.

The disconnect between reality and marketing...

We had another round of discussion on sending newsletters aka spam. This will be followed by a few rounds of discussion on why some newsletters get into the Spam / Bulk mail folder and some don't. I ran out of energy to explain the marketing, sales and other non-technical people on why these mails land in the Bulk folder. Little do they realize that there are people smarter than them writing good programs to read the intention of the mailer. While email is a cheap and effective mode of spreading news about product information, promotions etc., depending upon emails to change the sales pattern is plain stupidity. Having a web site with good navigation, tools to easily search for products, a good fulfillment process are the keys to the a successful e-commerce site. Spam mails are not. I get newsletters from eBay and I always hit the delete button. I wonder if any of our sales guys think on how they deal with the newsletter mails they get.

Jataka Tales of Modern Times

World's 18th largest shoe maker Supreme Shoes Inc decided to outsource an important software development project to India's 23rd largest consulting company You Pay For It Tech. It took a few months to get past the initial contract. The investor of Supreme Shoes was away on vacation and then he went on a business trip before getting all the facts and costs of the project cleared up. You Pay for It agreed to do the project for $10K. The contract allowed both the parties to revise the cost, scope on a set of agreed parameters. Top techies from You Pay For It visited Supreme Shoes factory to do a system study. Techies from Supreme Shoes visited You Pay For It to explain the project further. At the end of one month, a new Project Manager assigned for this project at YPFI said, that it would cost close to $18K. The techies from SS where shocked and asked the YPFI to review it. Senior techies from YPFI intervened and settled the price at $12K, hoping that SS would agree to it...

Bannerghatta National Park Vs Bannerghatta Road

I recently visited Bannerghatta National Park and went for a safari ride in an enclosed van. Everything was perfect, it was sunny, the animals were visible and we could take a few good pictures of the animals. Towards the end of the safari, the van splutted and stopped. The driver's attempts to restart the engine caused the van to shake but not start. We were in the middle of some 6-7 grown up tigers. One of them was white. The tourists began giving advices - that reminded me that everyone is getting used to the Windows way of life. Restart. After sometime, the driver picked up some courage, stopped one of the vans that passed by and jumped into it. His task was to arrange for alternate transport for the stranded tourists. Slowly the folks in the van began losing patience. The tigers got a bit curious and came close the van. All of a sudden the sunny weather felt very sultry. Kids started crying; mothers and grandmothers began panicking. Other vans passing by, had tour...

UI Design

I began reading Joel's article on great design . The question is, who can do a good design for a software. There is this argument that techies are the worst UI designers. I feel non-techies are no different. To prove the point, here is a frustrating argument I had with a business head on usability and relevance of messages. He wanted a descriptive message on every error user makes in data entry. In a user registration page, if the user entered an email address without an @ sign, we were giving a message as 'The email address isn't valid.'. The same message would be shown if the validation fails for the standard pattern matching for email address. His argument was, if the program knows what is incorrect in the value, why the hell can't we give a more helpful message - like 'You missed the @ sign in your email address.' He wanted a message that is similar to the following one. 'The email address you entered is invalid. The reasons could be one of more of...

Google Pack

It is a common problem that Google tries to solve . The solution is probably not a high-tech one, but no doubt it is useful. Sometime last year, there was a hard-disk crash on my computer. I began restoring the OS and other basic software; then I realized how much of a problem it is to keep your computer up-to-date. Without the latest service packs, firewalls and anti-virus software, it took lessthan five minutes for a trojan to get to my machine. I ended up spending a few nights on cleaning up my machine, download require software and their service packs. I pride myself as someone fairly informed on the problems and solutions on a Windows system. I used to think that it must be a terrible experience for a non-computer savvy person to keep a computer up-to-date in this age of trojans and viruses. I hope Google Pack would help such technology challanged people.