Mentorship

The opportunities to be a mentor or, as Jack Donaghy would say, a mentee, are few and far between in the world of web development. On one hand, few potential mentors want to sacrifice the precious, precious time on junior developers who will likely be gone in less than a year. And then there are the developers who scowl at any attempt to share knowledge believing that to be a mark of showing off.

Besides spending your own time and being a showoff, there’s another mentorship prevention layer: the direct management of junior developers and tight deadlines. A developer once asked me to show him how to do something, but as I was explaining, I could see my other co-worker in a neighboring pod getting more an more frustrated. After 5 minutes, as I was getting into a little more detail, he piped up – well, let’s not confuse […] there — just tell him what he needs right now, Michael.

Some mentorship styles are harsher than others. Here’s an excerpt from most excellent “Coders at Work” about the schooling that young JWZ received from some dude named Skef:

“Like the guy who was sort of our manager—the one keeping an eye on us—Skef Wholey, was this giant blond-haired, barbarian- looking guy. Very intimidating-looking. And he didn’t talk much. I remember a lot of times I’d be sitting there—it was kind of an open- plan cubicle kind of thing—working, doing something, writing some Lisp program. And he’d come shuffling in with his ceramic mug of beer, bare feet, and he’d just stand behind me. I’d say hi. And he’d grunt or say nothing. He’d just stand there watching me type. At some point I’d do something and he’d go, “Ptthh, wrong!” and he’d walk away. So that was kind of getting thrown in the deep end. It was like the Zen approach—the master hit me with a stick, now I must meditate.”

Or here’s a passage about the concept of “nusumi-geiko” that is still alive in Japanese culture:

“The cabinetmaker’s training usually began in his early teens. In the ensuing ten years of apprenticeship, he endured a great deal of sweeping and menial tasks, but was also exposed to the work of the master craftsmen around him. The term nusumi-geiko refers to what actually took place in cabinetmaker’s training and many other trades. It means “stolen lessons,” alluding to the fact that the apprentices were not instructed so much as they learned the requisite skills by sheer determination through observation.”

I am very thankful to the people who took their time to show me the ropes: Lothar Krause, Bill Cunningham, Dan Tepper. They spent a lot of their time explaining things to me.

Deadsticking

Let me tell you about web development and fishing, my two great passions. Here’s a fishing story. When I was a kid, i fished off the long piers in the Black Sea. I did not catch all that much, and I mostly thought that was because of my lack of skill and resources: I though if I could cast further, have a better fishing rod, or be able to go out on a boat, maybe I could catch more. Then I noticed that one fisherman was catching huge quantities of fish.

He had an interesting technique. Instead of using a single rod and switching from a place to a place, he’s bring ten. Each one was cheap and simple bamboo rod. He’d bait them, and drop the hook in shallow water in clear water, where the sea floor was covered with concrete blocks with holes used to stabilize the sand. I tried fishing near those holes before, but never caught anything. He’d set up his ten rods, and then just wait. An interesting thing happened: after about an hour the fish started biting, and were mostly just catching themselves: all he had to do was walk from rod to a rod and take off the fish. Sometimes just a single hole would be producing, then he would take that rod and catch fish after fish from the same place.

This technique is called deadsticking: you leave the bait motionless, and thus exposed to the fish for much longer periods of time. Most fish grab the bait and run: you don’t even need to set the hook, the fish catches itself. When on the boat the same technique often works. Having a number of rods fishing all the time gives you two benefits: it shows you the hot spots and exposes your hooks to more fish.

I see this again and again: a company redesigns a website, changes the core technology used to build it, spends a lot of money, and then the traffic and search rankings fall, and thus revenues fall.

I am pretty sure I know the cause of this: broken links. Any redesign of a website of just about any complexity, especially when technology changes breaks a lot of links. Search engines are like fish: they do not like things moving from a place to a place in an unnatural manner. A fisherman once told me: hey, do you think a Tautog (a kind of fish) ever seen a dead fiddler crab jump three feet up and down? Fish do like movement, jiggling the bait often entices them to bite. But the important thing is, the jiggling can’t be too vigorous and take the bait out of the view! Google likes to see changing content, but if the location of the content darts around – you betcha boots you are going to see your Pagerank take a hit.

The best thing to do when faced with with less traffic from Google is not to redesign the site again, but to dead stick: fix all the broken links, keep the site stable, and better yet, bring in more rods – build more sites.

In my time I’ve seen a large number of websites and careers that were set back by CMS switches and redesigns.

Further reading: The Russian Tea Room Syndrome and Deadprogrammer’s Hierarchy of Web Needs.

A Recipe for Disaster

Have any of you seen an episode of The Simpsons where Lisa becomes a vegetarian? If you haven’t, too bad, because it has a lot to do with my first paid review on this blog.

Lisa: They can’t seriously expect us to swallow that tripe.
Skinner: Now as a special treat courtesy of our friends at the Meat Council, please help yourself to this tripe. [Class cheers and runs to table loaded with tripe.]
Lisa: Stop it Stop IT! Don’t you realize you’ve just been brainwashed by corporate propaganda?
Janie: Hmmph, apparently my crazy friend here hasn’t heard of the food chain.
Uter: Yeah, Lisa’s a grade A moron!
Ralph: When I grow up, I’m going to go to Bovine University.

Joel Spolsky has his underpants in a bunch because spoiled grade A… I mean, A-list bloggers are currently being showered with fancy laptops, all expenses paid trips and other goodies by PR agencies. Next thing we’ll see is the Webbys attendees start getting Emmys-like gift baskets. It’s a widely known fact in the entertainment industry: if you want the A-listers to attend your crappy awards show, you better give them some stuff that they can buy with their pocket money.

Since I am not an A-list blogger, nobody is trying to bribe me with a drool-inducing HDTV TIVO or a shiny new laptop, so if I want to shed some of my credibility, I’ll have to do some work. I decided to try out the very controversial http://www.reviewme.com.

The deal is simple: an advertiser asks me to write a review on my blog, and if I do, I get some money. I do have pretty good pagerank and a decent amount of readers (aka blog juice), so after a month or so of waiting, I got my first paying reviewee, chefs.com. They want me to review their recipes. Fine. Off to http://www.chefs.com/recipes/default.aspx I go. I do like to cook, and I do use recipe sites all the time.

The last time I searched for a recipe I was looking to do curry. See, I purchased this really awesome Maharajah Style Curry Powder from PENZEYS Spices. It’s pricey, but unlike curry powder that you might find in a supermarket, it’s made out of the best and freshest ingredients with a pound of Kashmir saffron for every 50lb of curry.

So I type in “curry” into chefs.com and sort by cook time (a seemingly useful feature). What do I get? 133 results overall, which is not stellar, but a number of curry recipes that take 0 minutes to prep and 0 minutes to cook. A boon to a busy web developer and blogger like myself. Just to think that I was using Joe Grossberg’s How to Make a Simple Curry “Anything” that takes whole 15 minutes!

Ok, so the supefast curry recipe turned out to be just a case of bad data, a lazy developer and a company (it could be that it consists of that one lazy developer) that does not use it’s own product(or does not care about it).

Moving on. Some time ago I had to look up a recipe for another exotic delicacy, Ä°ÅŸkembe çorbası. It’s a Turkish soup made of tripe. I have it regularly at a Turkish restaurant near my house, and it’s extremely delicious. Tripe can be very tasty when prepared right.

So I type in “tripe” into chefs.com. Here’s what I get:

To my disappointment, the first result, “Lighter Fresh Applesauce in Puff Pastry” does not contain any tripe. Neither do the rest of them.

From what I know, recipes are not really copyrightable. Because of that, it’s possible to get a couple of cds with recipes from somewhere or just scrape the web and start your own site. For instance, the recipe for “Lighter Fresh Applesauce in Puff Pastry” shows up on different websites with the same phrasing down to “Bake puff pastry shells according to package directions.” One of the sites even has nutritional info, but also omits the source of the recipe.

To conclude my review, chefs.com has reviews available elsewhere with one of the buggiest search interfaces I’ve ever seen. The owner of the site probably used some Bovine U-trained developers, and not that the site is generating pretty good revenue, is looking for a way to improve the search engine positioning. He or she has no clue about web development and marketing. I could provide that clue, but it’ll take a bit more than the $50 I should get for this review.

Ze Paul Frank

In my career as a web development I’ve seen a lot of brilliant and competent people, as well as a lot of utter incompetents, on all levels of the corporate ladder and working at all levels of productivity. Basically, if I were to make a competence scale, it would look something like this:

– <–10-9-8-7-6-4-5-4-3-2-1-0-1-2-3-4-5-6-7-8-9-10–> +

Let’s say user data release by AOL would rate at negative 7; setting out to rewrite Netscape from scratch at negative 9; changing all the links of an established website in the name of SEO at negative 5; writing tons of spaghetti code that nevertheless functions and serves users at positive 1; coming up with PageRank algorithm and implementing it — at positive 10. There are also those who come into the office and do nothing at all – that’s 0. Ase we all seem to notice and remember negative things better than positive, sometimes corporate life seems like one big orgy of incompetence and bad ideas.

I’ve long had a theory, why even with so many negative contributions, American companies mostly prosper and thrive, despite incompetency. To explain it, I usually use an ant metaphor. See, when ants are carrying a bug or a caterpillar back to the nest, they almost always succeed. But the thing is, they do not cooperate very well. They all have different ideas about which way to pull, and some, instead of helping, actually climb on the cargo or collide with other ants. Others just watch from the sidelines and generally mill about. But even though ants pull in different directions, the resulting force vector generally leads to the nest, and the caterpillar gets there eventually.

Recently, an article about a designer Paul Frank caught my attention. He is fighting his former business partners who jettisoned him from the company bearing his name. He came up with the design ideas that made the company what it is, as well as lent it his name. The business partners accused him of not contributing to the daily business grind, bought out his shares and either fired him or drove him to resigning (depends on whose story you listen to). It’s getting nasty:

” “Those guys are saying Paul Frank is not a person,” says the designer, whose given name is Paul Frank Sunich. “I hear they’re all wearing T-shirts that say ‘We Are Paul Frank.’ Well, you’re Paul Frank Industries. You’re not Paul Frank.”

I’ve seen the monkey design that Paul Frank is so famous for, but did not know that it was a multimillion dollar business. Apparently it’s very popular – and I definitely do believe that both the business partners that made this quirky brand into such a powerhouse and the guy who conceived it made positive contributions.

What I have the issue with is the person who’s running their web department. It’s not even the unusable obnoxious flash-ridden websites that don’t work in Firefox. It’s the fact that this person apparently never did something very basic – typed in “Paul Frank” into Google. Because when you do, you get this as a first result:

I don’t have a problem with the programmer who used a stock client detection script from somewhere. We all do that. But putting “Client Detection Script” as the title of the first page of your site is rather idiotic. And nobody at the company even searched for “Paul Frank” in Google, even if to see what other Paul Franks there are out there!

Getting back to my ant theory, squabbles, badly designed websites and all those people who prolifically do bad things are balanced out by things done right. The website may suck, but the brand is so good that people will put up with it. Individual ants might be doing stupid and counterproductive things, but it all gets balanced out. The caterpillar gets dragged into the nest, whether it wants it or not.

The Russian Tea Room Syndrome

 

“Man told me,” He said, “that these here elevators was Mayan architecture. I never knew that till today. An I says to him, ‘What’s that make me– mayonnaise?’ Yes, yes! And while he was thinking that over, I hit him with a question that straightened him up and made him think twice as hard! Yes, yes!”

“Could we please go down, Mr. Knowles?” begged Miss Faust.

“I said to him,” said Knowles, ” ‘This here’s a research laboratory. Re-search means look again, don’t it? Means they’re looking for something they found once and it got away somehow, and now they got to re-search for it? How come they got to build a building like this, with mayonnaise elevators and all, and fill it with all these crazy people? What is it they’re trying to find again? Who lost what?’ Yes, yes!”

“That’s very interesting,” sighed Miss Faust. “Now, could we go down?”

Kurt Vonnegut, “Cat’s Cradle

The Russian Tea Room, once a popular restaurant created by ballerinas and danseurs (aka male ballerinas) of the Russian Imperial Ballet for themselves and their friends. Later it became an expensive restaurant for the Manhattan high society. In 1996 the new owners closed it down for 4 year and $36 million renovations. In 2002 the restaurant closed, and the owners were bankrupt. In the aftermath, one of the chefs, M.D. Rahman, can be found on 6th avenue and 45th street selling some of the tastiest street food in Manhattan. I bet he’s making more than he did back at the Russian Tea Room now with his little cart.

In the parlance of the Internet this is known as a “redesign” or a “relaunch.” If you are making a living out of web development, like I do, chances are that you participated in a vicious cycle of web site redesigns. They usually happen like this: managers decide to do it and get funding, a lot of meetings follow, specifications are written (or not), arbitrary deadlines are set, designers create graphical mock-ups, then coders swarm and engage in what’s referred to as “death-march.” Managers change their minds about the look and feel a few times during the death-march for an extra morale boost. Finally, a redesigned website launches. Managers start planning the next redesign right away.

In the olden times the CEO’s nephew often got the web design job. Well, these days the nephew grew up, he has a consulting agency. “This is old and busted, let me redesign this mess and you’ll get new hotness” – he says. Pointy-haired bosses everywhere nod and say – “yes, yes, new hotness”, and the cycle keeps on going, redesign after a redesign.

There are a few different types of redesigns. Firs of all, there’s changing the look. In the simplest and best form, this is a very quick deal, especially if the site is properly architected for quick changes. It’s like taking your plain vanilla cellphone, buying a snazzy faceplate, one click – instant new hotness. I have nothing against this sort of redesigns.

The only thing you have to look out for here is what I call the “Felicity effect.” A television show Felicity had a famous redesign failure – the actress Keri Russell cut her trademark long hair. One might argue that she is hot no matter what, but the show suffered a huge drop in ratings. You have to keep in mind that a new look rarely attracts new customers, but often upsets the old ones. For instance, I like Keri’s new look, but I would not start watching that show.

The second type of a redesign involves changing the underlying technology of the site. One might change the content management engine, database engine, rewrite the site in a different language, make it run on a different web server, different operating system, etc. These usually turn out to be the most disastrous and costly of redesigns.

Joel Spolsky wrote about “… the single worst strategic mistake that any software company can make: … rewrit[ing] the code from scratch.” In the web publishing world these kinds of rewrites cause a lot of grief and devastation. A huge technology change always requires a lot of debugging and fixing afterwards, and as soon as most of the bugs are fixed, a new redesign comes around, because, see, ASP.NET 2.0 C# is “old and busted” and Vista Cruiser Mega Platform D## is “new hotness.”

I am not talking here about replacing a technology simply because it does not work or is dangerous. But redesigns are rarely aimed at fixing things – they are done in search of hot technologies and hot looks. By the way, amongst pointy-haired web execs fixing things is less glamorous than perusing new technologies, and that is less glamorous than changing the looks.

A building superintendent I know was in a middle of a huge project – repairing three old and unsafe elevators as well as fixing the crumbling facade of the building. Although the repairs were crucial, they did not earn him the love of the tenants that the old superintendent enjoyed. The old super, instead of fixing broken things, engaged in an almost constant painting projects, changing the color of the paint every time just a little bit. And when he wasn’t repainting, he would leave out the paint bucket and a brush on some rugs in the lobby.

The web execs often go for the best of both worlds – equivalent to changing the foundation of the building (and not the old one was sagging), as well as painting it a new color at the same time. The full Monty web redesign is what the pointy-haired want.

Let’s take a look at the sense that such redesigns make from a capitalist point of view in an area that I know well — web publishing. Web publishing businesses work just like any other. You take some money (aka capital), you spend that money to produce something and you hope that that something makes you even more money one way or another. In economics this is known as Marx’s general formula for capital: Money-Commodity-Money.

Another thing that I faintly remember from my economics class is a rather disturbing concept called “opportunity cost“. See, when you invest money in something you instantly incur this cost. Why? because you can’t invest your money twice, and there always seems to be something you could have invested in that would give you a better return. Let’s say it’s 1995 and you are an editor in, oh, Random House or HarperCollins. You have a budget to publish some children’s books and there’s a pile of proposals on your table. You pick a few. They make money, win awards, etc. Yet, the opportunity cost on every one of those books is about a kajillion dollars, as in that pile there was a certain book by a woman named Joanne Rowling.

In theory, any web executive’s first objective should be to make, and not lose money. Also they should look to minimize the opportunity cost whenever possible. This is of course not the case for many of them. They are thinking: hey I have this fat budget – I can do a big redesign, or …. hmm, what else can I do with that money so it will make me more money?

So how would one go about increasing profits? In the web publishing today content is once again king because of the maturing web advertising, vast improvements in hosting costs and google-inspired web indexing and searching. This was not the case in the earlier days of the web, but now you can directly convert “eyeballs” into profits. The process is rather simple: you create web pages, users visit them, you show users ads (for which you are paid). The relationship is linear – more users = more ad impressions = more money.

So, first of all, you might produce more pages. With search engines like Google, even pages that are hidden in archives of your website will still produce pageviews. The more pages you add, the more revenue you’ll get. In fact, pages with useful information, once placed online become something very dear to a capitalist’s heart – an income generating asset, the very thing that the author of Rich Dad, Poor Dad is so excited about. They are like the geese that lay golden eggs.

The cost of producing more pages comes from three sources: the cost of content – you need to pay someone to write, take pictures, etc; the cost of placing it online – “web producers”, the people who write html, create hyperlinks and optimize images draw a salary; and the cost of hosting/bandwidth – if you are hosting huge videos you costs might be more than what you can get from advertising, but if it’s just text and pictures you are golden. As you surely don’t expect the Spanish Inquisition, there’s the fourth cost: the opportunity cost of showing this content for free, instead of asking for subscription money. The main thing to remember, once the content/feature is created, the costs to keep it online and generating money is trivial.

Besides producing more content, there are other ways of making more money. One might improve the relevance of ads on your pages. If you have a third party ad system, you are pretty much can’t do that. But if you have your own, you might create mechanisms for serving super-relevant ads. Sometimes you might add e-commerce capability to your content website. For instance, if you have a gadget review site, injecting opportunities to easily and cheaply buy the gadgets that you are writing about will likely bring in more more money than machine generated dumb ads.

One might create content that is more valuable to advertisers. For instance, keywords such as “mesothelioma lawyers”, “what is mesothelioma” and “peritoneal mesothelioma” generate ridiculous costs per click on Google’s AdSense. If creating content about “form of cancer that is almost always caused by previous exposure to asbestos” that is so popular with lawyers is not your piece of cake, you can create content about loans, mortgages, registering domain names, etc.

Then we enter the murky waters of web marketing, and especially “SEO” – search engine optimization. In short, if you get other websites to link to your pages, you will get more vistits, partially from those links, and even more importantly, because search engines will place your pages higher in their results. The hard, but honest way to do this is to produce unique, interesting and timely content. No body’s interested in that. Encouraging the readers to link by providing urls that never change and even “link to us” buttons is not in vogue: most web execs prefer non-linkable flash pages. Another way is to pay for links – in the best case for straight up advertising, in the worst case – to unscrupulous “link farm” owners that sell PageRank. Then comes the deep SEO voodoo – changing the file names, adding meta tags, creating your own link farms and hidden keyword pages. At the worst, there’s straight up link and comment spamming. Unethical methods of promoting your business work: Vardan Kushnir who spammed the entire world to promote his “Center for American English” had enough money for booze and hookers, but not many people shed a tear for him when he was brutally murdered (maybe even for spamming). In corporate world the equivalent is the PageRank ban from Google.

So, you could spend your money on all of these things that I described, and hopefully make more money. On the other hand, redesigning a website from top to bottom to make it “look good” or “more usable” will not bring in more “eyeballs”. A redesign of a large site takes several months for the entire web staff. The possible positive aspects of the redesign are these:

1) Faster loading pages
2) Easier to read text
3) More straightforward navigation
4) Cleaner look
6) Bug fixes
7) Switching from a more expensive software and hardware to cheaper

Existing users will probably like you better, but will new ones all of a sudden descend onto the redesigned site? Not likely. In fact, some think that the ugliness of MySpace design is an asset rather than a drawback. People want something from websites. Be it news, funny links, videos, naked pictures, savings coupons or product reviews, design does not matter too much to them. If they can click it, read it and (for the valuable geeks with blogs and websites) link to it – users are generally satisfied.

Here’s an example of a well executed major redesign of a high profile website, the New York Times. NYT always had a well designed website, and the new one is pretty nice too. But is there a lot of new traffic? Here’s an Alexa graph.

At the worst redesigns bring:

1) Broken links (sometimes every single url changes and all links from outside break)
2) Heavier graphics, proliferation of Macromedia Flash
3) Slower loading pages
4) Loss of features and content
5) New bugs
6) New software and licensing costs, more expensive servers

Often this is all that they bring. Broken links hurt the search engine positioning. New software costs money. It takes a long while to work out the bugs.

Here’s an Alexa graph of another major redesign on a website, which name I’d like to omit. Just as the traffic recovered after a big redesign in 2000, a new one hit in 2003. It seems to be recovering again.

The thing is, many businesses are very robust and the disastrous effects of web redesigns do not kill them. Pointy-haired bosses make their buddies rich, while getting kudos for the redesigns. Everyone stays busy, and software companies get to sell a lot of server software.

Looking At The Things Flashing By

Lj user saltdog reminded me of something from the not so long gone era of dotcoms. Back then there was a tremendous proliferation of web development companies that called themselves “agencies”. I worked for one back then.

These companies behaved kind of like bacteria in a pool of agar-agar. At first they multiplied. Razorfish, iXL, Scient, Viant, Sapient, Agency.com, Organic, Xpedior, Proxicom. Then they tried to enlarge themselves. Some by what they called “organic growth” which is like when a bacteria that grows more cells. If I remember correctly Razorfish tried doing that. Others engorged themselves by swallowing smaller companies like some corporate amoeba. A prime example of that was iXL. Then there was a type of companies that multiplied by cloning. Scient, Viant and Sapient even had cloned names.

Clients that wanted websites (agar-agar) were plentiful, but coding monkeys (minerals) were the growth limiting factor. The agencies spent much of their profits on advertising to lure in potential employees. One of the more creative ways I’ve seen at Sapient (I think, it could have been some other -nt clone). They rigged their website to detect referrals from ip addresses that belonged to other agencies and present a customized front page that presented top reasons to leave that agency and start working for the clone.

A magazine ad (I think from Silicon Alley Reporter) that stuck in my head and what lj user “saltdog” reminded me of was rather unique. It was just a copy of a ticket. A real ticket given by an MTA cop to some codemonkey at some now defunct agency. It was a little hard to read and probably not very eye catching. In the memo field of the ticket it said something like this: ” MTA police officer [Cop’s name] encountered [Codemonkey’s name] riding between the cars of the [some letter or number] train. When asked about what he was doing [Codemonkey] answered, that he was “looking at the things flashing by” “. The ticket was for $25 or $50 dollars, or something like that. The copy below the ticket invited people who like “looking at the things flashing by” to go work for that agency.

Yeah, that in itself was the epitome of the dot com era. Looking at the things flashing by. Then the amoebas, multicellular scum and clones ran out of agar-agar and began to merge, become swallowed by more evolved corporations and die.