Things to do with your kids in India
I saw the telecast of the annual Republic day parade on DD, and it brought back fond memories of my childhood. The parade - and especially the armaments and arsenal on display - were grist to the mill of my bellicose boyhood fantasies. Today, it also reminded me of what a wonderful country India is, with tremendous diversity, and how lucky I am to live in "Punya bhoomi". I fear that my brats aren't exposed enough to the wonders of my country, and so I'm putting down a list on the fond hope that we'll do at least some of these some day soon. Please add your experiences to the list below!

  1. View the Republic day parade live, on site.

  2. See dawn breaking over mighty Khangchendzonga from Tiger Hill in Darjeeling.

  3. Go for an elephant ride during a misty morning at Kaziranga National Park.

  4. Watch sunrise or sunset from Vivekananda Rock in Kanyakumari.

  5. Chug up the hills of Darjeeling and Ooty on the heritage trains.

  6. Eat masala dosa for breakfast at MTR in Bangalore.

  7. Go snorkeling off the Andaman islands.

Hmm, seems quite small and humble! Hopefully this will be a growing list!

on (lack of) type safety in python
After programming primarily in C++ for almost 15 years, I switched to using python as my primary medium of code expression when I started my product search startup. After having written many significant pieces of functionality using python, I'm still not sure if lack of a type system is good.

The good

  1. Code is much more succinct

  2. Writing code is much more pleasant! I also write a little bit of stuff in java, and pretty much every time I make the switch, leaving out variable declaration is the first mistake I make! It makes me realize just how irritating and extraneous declaring the type of variables seems to be!

  3. lack of type safety doesn't really cause many errors after I've debugged the code for basic functionality

  4. Forced me to write unit tests to exercise all (or most) code paths to ensure correctness of both functionality and syntax.

The only bad that I can think of - I spend a lot of time ensuring that the code is written correctly, doing stuff I used to let the compiler catch in the c++/java world. Primarily, this is done using unit tests. Its made me wonder which language lets me develop quicker. I'm quite sure, though, that my code quality is much better because of having to do this!

What're your experiences?

Desi rock rocks
The weekend of 13th Aug was very interesting - and satisfying - musically. I love music - and basically like anything which is not bubblegum pop or electronica "dink chik". However, I am particularly fond of blues and bluesy rock. After moving back to India, I had been searching for good Indian bands for a long time. Well, "search" implies being active about it, but mostly, I was yearning for good, original music by Indian bands, not knowing where to look. For the longest time, I had to satisfy myself with great music from the venerable Bangalore Band, Thermal and a Quarter.

Something happened recently, leading to my discovery of a bunch of music which I really like! First of, the mallu rock band Avial. I found about them when human broom and hacker extra-ordinaire t3rmin4t0r tweeted about them. I found Avial's music on youtube and loved it - so much that I went to their concert on Aug 13th at St. John's college in Bangalore - and took the brats as well! It was great, and the kids enjoyed the music too! Best of all was seeing so many excited Mallus in one place - I never knew something other than political protest, toddy, and sex can get so many of them together and excited!! :)

The next band that I discovered and loved was Agam. They call their music "Carnatic rock" - its a really cool mix of rock and very melodic carnatic music. Many of their songs remind me of Shakti. I liked Agam so much that I got permission from the boss to see them during Freedom Jam at Kyra Theatre. I didn't realize that Freedom Jam had many bands playing short sets, but it was all for the good as I discovered some other great bands playing original music. First was No Safe Word, which sounded like a mix of punk and blues. I later found out that they're a Chennai (Chennai!!) band and call their style "koothu"billy. Great stuff, although the lead singer was trying his best to piss off the crowd. The other band that I liked a lot was the hindi rock band Vinapra - the lead singer looks like a bouncer, but has a great voice and vocal range. Their set was somewhat spoiled by bad sound settings, though. I liked one more band, which had someone from the north east as the lead singer, and performed just after Agam, but I couldn't catch their name!

Of course, there are the really cool bands, Swarathma and the Raghu Dixit projects - again, all original music, and some Kannada songs too!

In retrospect, when I realize what a long, hoary tradition we Indians have in music, its no surprise that so many new good new acts are popping up. I have a few gripes, though - I would like to buy some of their songs, but Avial seems to be the only band selling mp3s. Vinapra apparently has an album, but damned if I can find it anywhere! India is crying for an itunes equivalent. Also, discovery of these bands is *really* tough - radio is doing us a disservice by only playing cinema music. And last - where are all the female singers???? There are some very talented female artistes in the traditional musical arts, as well is in cinema music playback, so its surprising how male dominated these bands are.

Why is Yahoo floundering?
Paul Graham, lately of YCombinator fame, has a very interesting and insightful article on why Yahoo is not as successful as it should have been. According to him, it boils down to two things - first, Yahoo! was lulled into a false sense of security with respect to the way it earned money, viz., display ads, which was a bubble waiting to burst. So, it did not realize that the *real* money lay in search. Second, he says that Yahoo! lacked a hacker culture, didn't try to hire the very best programmers money could buy, and let the "suits" have too much of a say over company matters compared to the hackers. I choose to interpret Paul Graham's second point as being that culture plays a very important role in the success (or failure) of a technology company, and I completely endorse that point of view.

Here's my take on this subject. As someone who worked at the Yahoo Bangalore office for a long time, the second point initially surprised me. As to the first, the value of search, it wasn't just Yahoo who missed the boat on search - pretty much everyone did, and by the time Overture figured out a way to monetize it, Google had the traffic to cash in. Yahoo did seem to try to diversify revenue streams, such as Wallet, it just was not successful at it. I think that culture was again the root cause of these failures.

I mostly agree with the second point, that Yahoo was a tech company which didn't try hard enough to be one. Before I joined Yahoo, I had worked at a storage startup called Zambeel. The first few days at Yahoo were a culture shock to me. I had worked with some very smart, experienced engineers at Zambeel, who were extremely particular about software development processes - design, test coverage, performance testing, checkin and build practices - and led by example. At Yahoo, these things seemed ad hoc at best, with chaotic code and development practices, leading to a lot of unnecessary, unproductive side effects.

In the Bangalore office where I worked, we were initially *very* conscious about having a very high bar for hiring. I was something like the 30th employee when we joined, and we were pretty much all engineers. The state of software companies in India being what it was in 2002, we had our pick of the best grads from local collages. So, we definitely did hire some of the best hackers India had to offer at that point in time. I remember the first 2 years or so in the Bangalore office - it felt like a tech startup, with lots of energy, enthusiasm, and ambition. People were always hacking on new ideas, and trying to get them adopted by the business teams in the US. Alas, there were almost no successes.

At first, I thought that it was an India/US power struggle. While that probably had some role to play, I have come around to think that the real issue was that Yahoo did not encourage, indeed did not know how to take advantage of, grass root innovation. Also, after leaving and starting my own company, I've also come to realize how naive we used to be at Yahoo. We assumed success for new products just because we were Yahoo. We did not know how to promote a product effectively, about how to listen to users and ensure that we were building the best product for them. All this, to me, screams company culture.

I hope things are changing, and that its not too late for Yahoo.

(no subject)
My company, WisdomTap, has been trying to hire a few very sharp engineers. There are a lot of really nice articles out on the web about how to hire great people for your startup, so this stuff shall (mostly) skip all that, and concentrate on the stuff relevant to a technology startup in India.

The first thing to do is getting the word out that you're hiring. I have the good fortune of knowing some really clever, well respected technologist friends, and that's always my first starting point. You might even get lucky and get one of them interested in the job. So, pester your friends, especially the ones you respect technically, and you'll start seeing good network effect in action. You've got to be persistent, though, and keep following up with and reminding your friends.

Make sure that you have a page on your site describing these positions. This page should be easy to find (in the footer, for instance, and a big callout on the "about us" page). My preference is to optimize the jobs page for search engines - I mean, are people really going to search for "facilities ninja" or "office boy jobs"??

Next, post your job on various free job sites and technology specific mailing lists. For instance, if you're searching for a python developer, bangpypers is the place where Bangalore (and all the good Indian) python developers hang out. FOSSJobs is also a good place to reach developers using open source technology. An added bonus posting on these places is that the jobs are picked up by various job sites, and appear all over the internet - even better for getting found on search!

If you're a member of LinkedIn, they currently allow job posts on groups. This is a great way to reach niche technology communities.

Finally, I highly recommend posting on Naukri - job postings are quite cheap (INR 2000 per posting or so), and their reach is very impressive. We've got tremendous response by posting on Naukri. The good thing is that candidates don't need to search - Naukri's resume match alerts candidates about new job posts.

Now that you have good distribution, and the resumes start hitting you, you come face to face with the great Indian rope trick - the disappearing skillset! You get this resume of this guy who's designed the large hadron collider, all on his lunch break, and when you screen him, you discover that oops! - he only visited the LHC site while it was under construction! If I had a rupee for every resume where the developer lists all the achievements and skills of the *entire* project and, screening is a huge problem. Phone screening is time consuming and disrupts your workflow. I highly recommend a new screening site called InterviewStreet - you can create a test by selecting questions (and soon, adding your own questions), get your candidates to complete the test, and review them at your own convenience. This has helped us a huge deal - I would estimate that at least 90% of the candidates have been eliminated without much effort on my part. Finally, some resume screening observations - candidates with long resumes, and those who've mostly worked in IT services organizations using various java typically are not hire worthy.

Some phone screening tips:

  1. Be very clear about minimum qualifications you'll test during the screen, and how you will gauge them. We have a question bank on various topics like algorithms, data structures, programming languages, etc.

  2. Make sure that you ask enough questions which pushes the candidate out of their comfort zone. I've been burned many times by people who know what they've done very well, but completely fall apart when they are problems in areas they don't know much about.

  3. Be ruthless about minimum qualifications. I've never encountered a case where the candidate was kind of ok on the phone, but was a hire after the actual interview.

Good luck with your hiring! And, of course, if you think that any of these jobs at Wisdomtap look interesting to you, please do apply to us!

Facebook - walling the web?
At the recent f8 conference, Facebook announced an audacious initiative to route all user interactions with web sites through Facebook. People attending the conference were stunned at the scope and ambition of the announcements.

Facebook announced new tools, widgets, and APIs for web sites to enable social interaction on that site. People can "like" objects, and find out what their friends "liked" on those sites. Further, sites can mark up the objects which people like, to provide information which could be used semantically. In return, the web site is enabled socially, powering things such as better personalization, engagement, brand building, and traffic via Facebook.

As All Facebook says, this move gives a leg up to Facebook in building a semantic search engine. Other commentators point out that it allows Facebook to know about what its users consume all over the web. This sets up Facebook to become a big gateway to the rest of the web. There is also evidence that Facebook is already very influential in deciding the news people consume, and it will only get better as web sites and users embrace the new platform.

Most web site owners know that Lord Google controls who finds you. You've probably spent hours following arcane SEO rituals from sects and preachers all over the web in order to propitiate Lord Google into disproportionately noticing you and rewarding you. Surely, some competition is long overdue into making them more open?

The BIG problem with Facebook is that they are a walled garden. Google built its search engine based on data which anyone else could access, viz., html with hyperlinks. That's what allows search engines like bing to compete with them. However, Facebook controls all this new social interaction data, and is a very jealous possessor. When someone tried to crawl publicly accessible information about people and their connections, they were shut down by Facebook. Basically, information created by Facebook's users - their identity, their interests, their connections - is off limits in an aggregate manner to anyone but Facebook. With the new platform, Facebook is effectively building a huge wall around certain portions of the web, and controlling ownership of some very powerful information, namely, how people are consuming media across the web. If successful, they can become unassailable to their competition.

What does Google - and by extension, the rest of the web - do now? I think that Google, especially, has been very neatly corralled. Their various attempts at building social products - i.e., put a real identity to a user - have faltered. Even Yahoo is not as good in this as Facebook.

I think that the only non-legislative solution for the rest of the web is through adoption of open standards. Brad Fitzpatrick, the brilliant maven who gave us LJ amongst other things, took a crack at this problem by automatically creating the social graph of people by leveraging existing information. It doesn't seem to have much traction, though, perhaps because it relies too much on data being marked up semantically. Another interesting proposal to keep an eye on is open like, which, unfortunately, just sends data to the walled garden of your choice.

As more and more people realize that they've given up control of a very core aspect of themselves, namely, their identity and real world connections, to a corporate entity, there is bound to be backlash. At the least, I would demand greater portability of *my* information.

All in all - a game played well by Facebook, but with very scary repercussions both other companies and people like us.

The world's conscience?
Have neither Google nor the US government heard of the proverb, Physicial, heal thyself? Why is such a hue and cry being made about "human rights violations" in China, when so much is rotten at home? Special interests are killing democracy, Guantanamo Bay is still operational and its ok for a top ex government official to openly proclaim that he's proud of torture! Google - knowingly or otherwise - violates privacy and is not exactly a paragon of virtue.

Why pick on China? Of course, the Chinese government is far from perfect, but which country is? Surely, the Chinese government has the right to frame rules of engagement for any business in its country? Colour me cynical, but somehow, its difficult to think of a for-profit organization doing this solely to engineer social change for the greater common good. I wonder what the real motivations are.

Recommendation - Never Back Down
I recently saw Never Back Down on one of the movie channels. I was attempting to reach a lower state of mind, akin to mush, and initially, thought that I'd hit the jackpot. Angry young man with a dark secret! Mind fucked, evil, controlling villain! Hero loves villain's girl! Cool fights! Defeat! Grasshopper finds Master Po! Revenge! Except, somewhere along the way, it veered from mindless Van Dammesque c-flick to a movie with quite a positive message about anger. The fight scenes were still cool, the good guy wins in the end and all that, but the bad guy doesn't really lose, and its not a bad thing. Ended up enjoying it quite a bit!

IPL3 First Thoughts
Disclaimer - I made the notes for this post immediately after the first RCB and CSK matches. I'm quite surprised (yes, that's false humility) at how prescient I am.

Yay, IPL 3 is back in India, and there goes my sleep schedule. Here are my thoughts after 2 of the semi finalists, RCB and CSK, crashed and burned spectacularly in their first outings. There were some glaring tactical mistakes by two of the best captains in the game, Kumble and Dhoni. Why open the innings with Goswami, when Pandey was around? And why open the bowling with Kallis, when he had batted through the innings, and Steyn was available? Quite baffling. As for MSD - asking Tyaagi to bowl in the death, when the experience of Kemp was available?? Come on guys.

Bangalore will do better, though, its just a matter of time before Kohli and Pandey start firing, and the vets look in fine nick. I think that they can afford to play Vinay Kumar and Appanna in more matches, instead of Praveen Kumar and someone else.

The Chennai bowling looks very iffy indeed. Murali is nowhere near his best, and that means there is no real wicket taker in the side. With every chance of Hayden fading, it will be a miracle if CSK makes it 3 semis in a row.

KKR looks good, and can only get better with the arrival of McCollum. They need to hold their nerve, though, if they lose a few, but I think that they have the right combination of coach and captain. Dada does look very iffy with the bat, though - and it must be asked - could he have held his place in the team if he wasn't the skipper??

Some other things which stood out - pace is quite useless up front, as there is not much movement. Quite a few pitches are slow and I predict that spin will be more important. Also, batsmen need to take their time to gauge the pace of the pitch, and not just close their eyes and swing from ball 1. Murali Vijay and Pandey, are you hearing this?? Of course, if your name is Yusuf Pathan, you can do whatever the hell you want, whenever the hell you want. Welcome back, we missed you!

Requiem for a dream
Let's say that you are, like me, a software engineer who's primarily worked in American product companies. You've had more than your fair share of exposure to open source, and the Silly valley dream of hitting it big in a tech startup. You also think that you're the cat's meow, because you're able to configure apache to serve three domains from the same box, or some such equivalent technical ability. You're also probably frustrated with the management/product/sales/marketing guys at work - why don't they do stuff faster? Why are they letting all these cool technology companies kick our butt? And why are they paid so much more than you? So, you naturally decide that you'll start a company, and because you're this tech whiz, it will be easy. You'll just code something up, and architect things elegantly to scale up the wahoo when you're hit count starts going hockey stick on you.

Ah, poor fellow engineer, this post is to disabuse you of all such notions. A techie is pretty much a nobody in the tech startup ecosystem. As Dave McClure says, designers, product managers & [technical, analytical] marketers are usually WAY MORE IMPORTANT than coders. I was at the Nasscom product conclave recently, where one of the CEOs on a panel on marketing proudly mentioned something to the effect of "oh, engineers and algorithms, we didn't have any of that for the first year". Let's face it - we're just code monkeys.

Sure, there seem to be many examples where the technology defined the company - Google, Paypal, etc. - but they are few and far between, and the full story is not told or not understood by us techies. Almost all startups - including the technology heavy behemoths which caused you to dream this way - are successful because they have found their market and scaled their sales. This has been a big learning in starting my company, WisdomTap. I thought that I was walking into it with eyes wide open, that I knew that cool technology was not what mattered. But its a very seductive trap to fall into.

The new mantra of customer development as propounded by Steve Blank says that most startups fail because they don't find their market, and proposes a methodology to find your first paying customers. Great stuff, and IMO, a must read for new entrepreneurs.

So what's a code monkey with startup dreams to do? Especially if you're in India, where you can get to know the entire "startup ecosystem" by attending one conference? I feel that THE most important thing one can do is find a sales/marketing person as a co-founder. This DNA will make your company that much stronger, and hopefully, provide the necessary impetus to focus on finding your product market fit. I feel that the tech startup scene in India is suffering because not enough business people are starting things. The founders are too heavily weighted towards the tech side. Here's hoping for a change!


Log in