Sunday, April 25, 2010

Old advice comes true, with complications

One of the truths we are told at job search clubs and interviewing workshops is: find out what problem a company is facing at the moment, and suggest ways to solve it. Getting them to see you as a solution to their problem may be the key to hiring you.

For a long time it sounded presumptuous to me. First of all, how would you know what problems the company is facing? Do they shout about their problems from the rooftops? Do they post them on the front page of their website? (That would do wonders to their stock price! :-)) Or am I supposed to have a high-level buddy in every company I interview with? Someone who would grumble about his work problems at our weekly golf game? Is there any hope for someone who is not in the ole' boys network?

When you are applying to be a junior level, rank-and-file coder at some corporation, as I did 11 years ago, wouldn't it be awfully arrogant of you to suggest that you are a solution to the company's problems? At best you can hope to be considered a peg of the right shape to fit a hole in a corporate board game.

But later I see this advice coming true more and more often, and you don't have to be in the ole' boys network to make use of it. Companies WILL tell you their problems. They might tell you this at a job interview, where they bring a list of features they want to be implemented in their application. Or they may tell you their pain as you stop by their booth at a career fair -- even if you don't necessarily have the skills this company has said it needs. This has been my recent experience. This one company originally said it needed Java developers, but when I started talking with their CEO (who is also a developer -- it's a small startup) -- he said they were considering switching to a different platform, because Java was too much pain. They have not even been able to set up a development environment in Java that would work consistently. (According to the guy, this is because Java is an open-source language, and you have too many different open-source components for it to work; and they are often incompatible, or require different versions of the same library, or some such.)

So yes, there are companies out there who are open about seeking someone to ease their pain. However, the kind of problems I personally heard about seemed big enough that I didn't feel confident to take them on. Working at a job for 10 years, like I did, can shoehorn you into a limited role where you do pretty much the same things over and over -- unless you are very strategic about diversifying the tasks you do. So I don't know. Maybe if I worked a few contract jobs, writing different kinds of software, maybe then I could become the kind of person those companies seek. As it is now, some of those jobs companies are desperately seeking to fill sound like a devil's bargain.

Saturday, April 10, 2010

SXSW 2010: Coding for pleasure (or martyrdom?): Developing Killer Spare-Time Apps

The "Coding for pleasure" panel's synopsis, "Every startup origin story is about a couple of developers who abscond to a garage and end up building the Next Big Thing. But money and fame don't need to be your end goal. You can significantly improve your life -- and impact others' lives--by coding for pleasure in your spare time," was rather more optimistic than what the panel was really about. I caught only the second half of it, so perhaps I missed the part where they discussed how you significantly improve your own life by coding for pleasure. Well, there is the obvious -- you hone your programming skills, have something to put on your portfolio, and perhaps attain some visibility in the tech community. But if the audience expected advice how to attain fame or lucre by developing spare-time apps, they would have been disappointed. In fact, most of the panel was spent to caution the wide-eyed would-be garage entrepreneurs NOT to expect worldly goods, or even too much acknowledgement to come from it.

Realistically you can expect that maybe in 6 months someone will mention your application on a popular blog, and its web site will get lots of traffic. So don't build it for money. Instead, build it for yourself -- write an application you will use every day, or one that's useful for your career. Gina Trapani says she developed her application (she didn't say what it was called, or maybe I missed it) for 9 months before it got noticed. Even if your creation starts getting paying users, don't expect that it will ever make more money than what's needed cover web hosting (about $100 / month), says Adam Pash. That's what is considered success in the world of spare-time projects, unlike the world of commercial software that thinks in terms of 100 million dollar projects.

(I would hope that there is a long tail potential in this -- a few lucky and hard-working hobbyists may be able to make a living writing niche software that no big company will bother with, because its revenue won't be even a blip in its budget.)

How do you get users, asked a guy from the audience, who admitted he was the only user of about half a dozen of his apps. Matt Haughey replied that it was a difficult topic, worth an entire panel of its own. "Integrate them into whatever you do to communicate," suggested Haughey somewhat vaguely, and explained: "We made badges for personal blogs." Badges... hmm... I remember there was a time when many website had Flickr or Twitter "badges", but I haven't seen them too many of them lately. Other than that, the panelists didn't have many ideas on attracting users, except to mention your app on Twitter, and pester your friends to use it. I'm guessing, as with all things, for your app to find an audience, it needs to be useful first.

Matt Haughey, Adam Pash, and Gina Trapani

Matt Haughey, Adam Pash, and Gina Trapani at the Coding for pleasure: Developing Killer Spare-Time Apps. More pictures from SXSW 2010 can be found in my photo gallery.

Not only there are no shortcuts to making money or attracting users, but there isn't any panacea to finding time for working on your pet project either. "The first thing that needs to go is television," said Haughey, not leaving much hope to those us who, like me, don't watch any television. Then there is common sense advice that most programmers probably use anyway, like reusing code, e.g. Javascript libraries and plug-ins that exist for all imaginable computing tasks.

Thus, a coder-for-pleasure faces the same dilemmas as any artist who has to work at a day job while finding time for his / her art at night, without any guarantees that anybody will ever be interested in it. So was there any advice specific to coders, and preferrably non-depressing?

Maybe this: programmer, don't try to also be a designer. Because let's face it, you are probably not artistically inclined, and your website design will look awful. (Ahem -- if you are anything like me. Or if you are lucky, it will merely look amateurish. :-))

Since you can't afford to pay a designer, trade work with him or her. That's what Gina Trapani does. In her experience, every web designer wishes he or she could program something. If you do some free coding for your designer, they'll design for you.

Is is a good idea to open-source your application? Surprisingly, even at SXSWi, in a context that preaches all things open and progressive, the answer isn't automatically "yes". Open-sourcing your application requires enormous amount of management. Matt Haughey says he's had horrible problems with open source code management. As everywhere, there will be personality conflicts here too. There will be issues of control over code, and petty disagreements. You may find yourself, like Haughey did, with 15 people arguging about a newspaper photo engine.

Tweets from Coding for pleasure: Developing Killer Spare-Time Apps: #codingforpleasure

Thursday, April 08, 2010

SXSW 2010: Clay Shirky on monkeys with internet access

Among notable speakers on internet culture at SXSW, Clay Shirky gave a talk "Monkeys with Internet Access: Sharing, Human Nature, and Digital Data".

For starters, Clay Shirky made fun of the notion of "decade of the millennials". It's about as valid as designating a year to be a year of the donkey, or rooster, or dog, etc., as in Chinese horoscope. It's as if a particular animal, or particular generation to which a decade "belongs" to, brings something substantial into it, that's supposed to affect you deeply. But in reality human nature changes very very slowly, says Shirky.

Three kinds of sharing

So slowly, perhaps, that the "monkeys" in the title of the talk suggest that Clay Shirky thinks our fundamental mentality hasn't changed much since we were apes. He calls up results from primate behavior studies to explain the types of sharing people do on the internet, which are no different from the ones primates engaged in since time immemorial. There are three types of sharing.

Imagine you're walking down the street, and you see an old woman walking towards you. You would feel different if you thought she was going to ask you for money, than if you thought she was going to ask you to help her cross the street. The former -- a request to share the goods -- triggers a feeling of stinginess, even if you later overcome it; the second -- a request for services -- leaves people more amenable to share, even if the time they invest in providing the service is worth more than money. And if she asked you for directions, you would feel even more inclined to help. Sharing of information -- the third kind -- is the easiest. It comes at little to no cost to you.

In the world where music was always shared as goods or services, says Shirky, all Napster did was made it possible to share music as information. This means music industry was freaking out that we didn't voluntarily withhold something that was at no cost to us. What do you call withholding something that comes at no cost to you? The word for it is spiteful. Music industry was shocked that we weren't acting spiteful!

Humans being social primates, sharing of information is our natural drive. It follows that privacy is not a binary on/off concept (this ties in with to danah boyd's keynote speech of privacy). For example, as much as we are determined to keep our medical information out of the hands of insurance companies, there is an equally strong drive to share relevant details with selected audience -- for example, other sufferers of the same diseases. This can have a greater purpose than just patients' mutual self-education: patients' symptoms are data that researchers may be able to mine to come up with cures faster. This kind of sharing actually changes the environment. It's co-creation of public good.

More pictures from SXSW 2010 can be found in my photo gallery.
Clay Shirky speaks at SXSW 2010

Another example of internet collaboration leading to public good can be Facebook groups -- yes, those pesky Facebook groups that promote various causes. Sometimes they do succeed in attaining their goal, as did the group Clay Shirky talked about.

A Hindu fundamentalist organization, known for beating up women who were drinking in bars, issued a threat to attack any woman who was out with a man on Valentine's Day. So Indian women started a Facebook group, Association of Loose, Forward, Pub-going Women. (I recall many of my female Facebook friends joining this group in solidarity.) The women in the Facebook group mailed pink panties to the head of the fundamentalist organization for Valentine's Day. The effect of this on Indian politics was quite remarkable, says Shirky. Once it became clear that women, as a group, were going to stand up to attacks, Indian authorities arrested the members of the fundamentalist organization, and there were no attacks on Valentine's day. The Facebook group demonstrated that there was constituency that cared enough about this issue.

Someone asked Clay Shirky in what domains does public sharing and collaboration have the greatest potential. He answered that the greatest "points of inflection" for sharing or colaboration are ones where no one is looking closely. (I suppose it's trivially true -- if people could predict where the next successful idea will come from, they would be pursuing it already.) But Clay meant it in a more pessimistic way. "The minute everybody understands that something is important to everybody, all progress stops," he said. (Audience applauded). As an example, there is still no single standard interoperable instant messaging platform. Yahoo, AOL and other instant messaging platforms never agreed on a single standard, because each of them wanted to be the one to set a standard.

Thursday, April 01, 2010

Anti-search engines: they don't exist, do they?

As I said in my previous post, an idea of an anti-search engine -- one that scrambles your search results, making you unfindable -- made me think of some strange things search engines might do, or why they are not doing them.

Obviously, no matter how much you wish to stay hidden, you can't make someone use an anti-search engine instead of a real one. But what if you could convince search engines to hide you? Companies now pay for higher placement in search results, but what if you could pay to be placed lower? Specifically, if you don't want certain web pages that mention you to appear high in search results -- for example, if they say something unflattering about you, or have ugly pictures of you -- you could pay the search engine to place them so low that most searchers will never get to them simply because they don't have time to wade through a hundred pages of Google results. Most of us probably have something on the internet we don't necessarily want someone important (like a prospective employer or a date) to see. Yet I never heard of search engines engaging in a practice lowering the rank of certain search results. The more I think about it, the more potential issues I see with it -- many more than paying for higher placement in search results. The two concepts are not symmetrical.

There may be a conflict of interest between an individual who wants to lay low, and a website (which does not belong to that individual) that wants to maintain high rank. For example, you, Joe Smith, might want all web forums that say you're an idiot, to appear very low in search results based on "your" keywords (just what exactly are "your" keywords, is another thorny issue). The owners of those forums, however, don't like to rank low. How would a search engine resolve this conflict of interest?

But maybe there is not always a conflict of interest. If a site ranks low based on "your" keywords, it won't necessarily damage the site's rating in general. Unless you are a celebrity, the site has probably achieved its high rank based on other keywords than your name. Your name is not what drives traffic to it.

What if you are a celebrity, and the site has achieved its high ranking precisely because your name is on it? Maybe people flock ot the site to see a paparazzi picture of you with a double chin and no makeup. You don't want the public to see that picture, but if the search engine pushes the site's rank down, it will harm its traffic. How should a search engine resolve this? By auctioning off the relevant keywords (such as your name) to the highest bidder? If you really want it to rank low, you'll pay more than the site can afford to pay to keep it high? If you are a celebrity, you may also be rich, and thus able to afford a betting war or a court battle.

And a court battle may be your only recourse if, despite being neither rich nor famous, you find yourself exploited by a website that contains damaging information. Maybe it's one of those vicious college gossip forums where students speculate about other students' sex lives and openly name names. Posting rumors is entirely the point of such sites' existence, so of course they would not agree to be lowered in search results based on one victim's name -- otherwise all victims would request the same. But if there is a court battle, how does the court decide what the relevant keywords are? Would the victim's name be enough? Or should the keywords also include all the email addresses the victim has ever used, or also his/her profession, and cities he/she has lived in? E.g. "Joe Smith web designer Austin Texas"? That's tricky.

In the days of the dotcom "land grab", people and companies battled over who had a right to a particular domain name. Courts had to decide whether Joe Smith the individual had a higher right to than, say, Joe Smith Trucking Inc. They usually ruled in favor of companies. But complexity of such decisions pales in comparison to complexity of deciding which keywords a person is entitled to.

Considering all this, it's probably a good thing that no search engine, to my knowledge, provides a service of pushing your search results down. Though I have to wonder how many of them have thought about it.


Hmmm, I could have spun this post off as an April Fool's joke. But no -- my analytical nature would ruin any attempt at humor. So you, dear reader, are safe. :-)