Archive

Archive for the ‘google’ Category

How to manage a Programmer ??

January 21, 2007 anupj 2 comments

Programmer at work

How does one come up with an answer to this quandary ? To compose a definitive answer, let me elaborate the question first. I’m a full time computer programmer(part-time blogger) working for one of the best IT companies in India. I am generally happy with my job, but sometimes, I dislike the way my company treats me. I feel, they don’t see any difference between a sales-executive job profile and my profile. My question above can be translated as: How should an IT company effectively manage an IT professional, to get the most out of him ?

Why :

If you are wondering, why should we even bother ourselves with such a ludicrous question? Let me convince you otherwise. From my personal (and my fellow programmers) experience, I can see a doleful trend emerging in the behaviour of a typical IT organisation towards its knowledge workers. I am not targeting the current work culture, rather I’m trying to point out the prevalant fallacy in managing Computer Programmers. Coz a dissatisfied, frustrated programmer leads to a equally dispirited product with millions of bugs. There’s more to management of Computer Programmers than maintaining excel sheets and offering free Pizzas for staying back late.

Assumptions:

I have taken the liberty of presuming a Computer Programmer as a creative individual with a knack for solving problems. He’s a nerd, who gets excited everytime he sees his program execute successfully, and frustrated when it doesn’t. He is passionate about programming and spends(or would like to spend) most of his waking hours in front of his computer.

Here’s a guideline/tip to successfully manage a Programmer:

Entertain Geek Fashion:

A typical geek hates to wear formals. He feels suffocated, when he wears a tie. And a properly tucked-in shirt with striped/plain pants…Yuck. Geeks are more comfortable with informal-laid-back clothes like jeans, round neck T-shirts, unkempt-hair. This doesn’t mean, they’re trying to act rebellious or smart or something. The reason for their affinity of such attire is simple.They consider their profession as an art and want to be as comfortable as possible while crafting their code. If you give them the freedom to wear anything they like, to work, they’d really appreciate this gesture and might reciprocate by working harder for the project.

Give them Space:

This might not be as intuitive as the above tip, but it literally means “Don’t micro-manage them”. Don’t pester them by soliciting minute to minute update on the project. Don’t squander their time, by holding status meeting everyday (One status meeting in a week should suffice). Geeks absolutely detest micro-management. They just want you to give them the requirement spec, and they’ll get back to you with tentative deadline. Negotiate the deadline, if you can. But don’t bother them any further, trust them to complete it within the agreed deadline.

Blend Work with Play:

Google does this best. If you’ve seen pictures of Google offices around the world, you’d know what I mean. Google employees have a ball at work. They get free food, free massage, free hair-cut, they can play pool, tabble soccer etc , bring their pets along at work. So, Google gives its employees enough reasons to stay within it’s colorful office walls(Here’s GooglePlex in action). I’m not coercing you to go that far, but you can try to imbibe some elements of “Make Work Fun” philosophy in your current work culture.

Do not restrict their internet access too much. Blocking porn is reasonable, but blocking anything else is blasphemy. A quintessential geek likes to play games on-line, visit forums, solve Sudoku(or some puzzle), read tech-news. If you think, by restricting the internet access, you’d avoid wasting the programmers productivity, then you’re gravely mistaken. Give them freedom of choice, trust their discretion and they’ll turn in quality work. They look up to internet for inspiration, for information, for friends. To deny these things to them could be harmful in the long run. The biggest advantage of unrestricted internet access is, via surfing the programmer knows what’s hep n cool on the internet. What do the users like, what do they dislike, what works and what doesn’t. They’d understand their users more and keep track of the evolving trends on the Web, which in turn will help you and your organization to make/change strategic decisions on your up-coming product.

Flexi-working hours :

Probably, this tip would be the most controversial of all. Let the programmers decide their working hours. Today, almost all IT companies follow the 9-5 pattern, but this does not suit everybody. It’s like forcing everyone to wear the same size uniform, irrespective of their body size and width; The uniform will fit some people perfectly, it’ll be too loose for some or too tight for others. I’ve used this analogy to explain the dilemma of todays IT professionals. They are expected to show up at eight(ish) and leave at six( preferably late). The problem is, this paradigm doesn’t suit everybody. Some people feel that they’re more productive in the morning and would prefer to start early and leave early, whilst others might feel that they’re more productive at noon and would like to start late and leave late. Relax the rules on work time and it will eventually lead to rise in productivity.

To conclude, treat Geeks/Nerds/Programmers differently. They are artists( at least that’s what they’d like to think), and therefore they abhor restrictions. They’re inclined to be unhappy if asked to follow a bunch of company policy rules. Give them enough liberty, entertain their eccentricities, encourage their wild ideas and you’ll end up with a kick-ass product, created by a bunch of inspired, motivated programmers.

Chip in your comments and let me know if you agree/ disagree with my views on how to manage a computer programmer. Adios !!!

Beyond Google

January 7, 2007 anupj 2 comments

Bart uses Google

This NYT article about the “Race to Trump Google” made me think about the number of startups in the Silicon Valley who are struggling or hoping to grab a slice of Internet search market. It is obvious that Google is the Goliath and others are tiny Davids trying to out-seat Google from its top spot.This is not an easy job considering the fact that currently Google handles more than half of US Internet search traffic. Also, remember that Yahoo and Microsoft have been trying for a long time now. To topple Google, the competitors should be better than Google in the following areas:

1. Better Search Technology.

2. Better presentation of search information

3. Stronger and more powerful business model.

So I digged even more and found out about the following search engines which you may or may not be aware of.

Better Search Technology:

To overthrow Google, the contenders are perfecting two strategies a) Artificial Intelligence and Natural Language Processsing b) More people-specific search, against Google’s original PageRank algorithm.

Hakia claims to have better AI. I searched for “Who+killed+JFk” in both Google and Hakia and the results turned out to be more or less the same. But, Hakia doesn’t allow “Vertical Search” which means unlike Google you can’t search only for “blogs”, “videos”, “news”. So, Hakia still has a long way to go.

Digg and del.icio.us fall in the people -specific search category. The advantage is that you get highly filtered search. The disadvantage is, the searches are ranked on the basis of what most people find popular.

Better UI:
Snap and Microsofts Live Search have made considerable breakthrough in this directions. But, how does showing previews of the search result impacts user experience cannot be determined at the moment. Also, even if this idea takes off, it won’t be long before Google catches up with better way of displaying its search results.

The other criteria to look for is Clustering your results. To demonstrate what I am talking about, enter a search query in Clusty. This will return results clustered under various sections/tags. Infact, I found this feature very useful, since it restricts my attention to fewer search results. If developed and advertised properly, this feature can be a definitive edge over Google’s search results. But then I found SearchMesh, which is apparently Google’s lab graduate. SearchMesh has an interesting switch which displays only the headlines of the search results. It also classifies the search unders various verticals lke blogs, videos, wikipedia etc.

Better Business Model:

I can’t emphasize this point more, anybody who wants to go ahead of Google should not only focus on technology but should also try to develop a better business model. The technology improvements can be imitated by Google, but if you want to win this race, you’ve got to have a striking business model, wherein you link search results to something lucrative, something that adds value to both your company and your users. If you can innovate in this area, you can definitely have an edge over others. This ofcourse, doesn’t undermine the importance of “Better Technology” and “Better Presentation”. If they are the pillars of your company, a better business model will give you the Brand advantage, which Google currently enjoys.

I love Google, they are the best in the business now, but so were Microsoft. To Quote Randy from the NYT article:

“It is hard for me to believe that anybody thinks they can take Google’s business from Google,” said Randy Komisar, a venture capitalist who was once known as Silicon Valley’s “virtual C.E.O.” for his role as a mentor to scores of technology firms. “But to call the game over because Google has been such a success would be to deny history.”

The race to beat Google is definitely on.