Are You in a Bubble?

Many people are talking about IPOs and bubbles, because it sells. Let's jump in while the water is warm.

I see the question "are we in a bubble?" asked pretty often these days, and I think it's the wrong question to ask. It's like asking "are we in Ukraine?" which I can answer easily for myself: [waiting for location... ] no, I'm in the US. Are you in Ukraine by any chance? привіт to you :)

 Of course, bubbles always exist. Some are big, some are small. They are all unique, like precious snowflakes. I rode the dotcom bubble, and luckily I got a little bit more than a lousy t-shirt. That one was pretty big, and when it popped the effects could be felt in other sectors of the economy. I do see an obvious bubble now, but it is much smaller: the Facebook ecosystem.

Bubble

(from flickr)

Why is it a bubble? I'm not going to get into what Facebook is worth, or should be worth. No one can say. The more important issue is that Facebook is now flush with cash, and in a race to justify its valuation. That means desperately exploring ways to monetize its (almost maxed out) audience by building / buying new technologies. The buying part is where the bubble is: this is why Instagram could be acquired for one billion dollars, and why Pinterest is valued at more than that. Anything that Facebook may want to buy is likely overvalued now. Notice that I'm not saying that Facebook won't justify its valuation one day, what do I know. I'm just not optimistic about it.

At the same time, there are lots of tech companies creating sustainable businesses while flying under the radar of the tech press (possibly because of the Facebook hype). Tech in general is not a bubble for sure. IT is evolving, cloud infrastructure is here to stay, Software-as-a-Service is becoming prevalent, etc. Take GitHub as an example: those guys are a bootstrapped company, providing a service that's extremely valuable to businesses around the world. There are rumors that they are raising capital, which is what I would do in their place; they can set themselves up to be a big player in the enterprise space, where the big bucks are. I would bet some chips on GitHub any day if I could, and I wouldn't touch Pinterest with four pairs of latex gloves.

As an aside, this is why I'm more optimistic about niche social networks like LinkedIn: they make a ton of money from their hiring solutions business. As long as enough industries are doing well, LinkedIn will make money from recruiters. Of course the global economy could collapse, in which case we're all screwed (that reminds me: I need to stash some canned tuna, fresh water, and zombie repellent in the basement). 

On the other hand, the Facebook bubble could pop any day. Most of the world would barely notice, and LinkedIn would still get business from other growing industries. Disclosure: I own LNKD shares.

Parting thought: some bubbles are self-referential. Because nobody knows what a growing industry should be worth, enough people believing that we are in a bubble can spark fear and uncertainty. This in turn could cause a panic-based sell-off. From this little soapbox of mine, I kindly ask the tech press to keep things sane by doing responsible research.

By the way, I searched videos for "bubble" and found this movie trailer. Now I want to watch it.

Hacker News submission for this post if you're interested.

 

The Real Problem with Facebook

The Facebook IPO went fine and dandy. Facebook raised 16 billion dollars. So the millon dollar qu... I mean the ONE HUNDRED BILLION DOLLAR question is what they are going to do with that treasure chest.

Facebook is a unique phenomenon in the history of humanity. Never before, a single service controlled by one company had close to a billion users. As impressive as that sounds, the question is what is means for a business.

So far, Facebook has defaulted to the laziest of all revenue models: ads. It is clear that Google is the king of ads, and this is because intention beats behavior. As someone who was sold search for many years, I can tell you one of my strongest selling arguments: when people search on your site, they are telling you exactly what they want at that time. For a large number of people on this planet researching purchases online has become routine, so there will be times when you know that a person is looking to buy stuff. If you can match a buyer and a seller, you're golden. That's eBay's business, and it's worth 50B. Google is bigger because of the sheer volume of queries it processes. Most of them are not about buying anything of course. However, Google ads really work for those precious "monetizable" queries.

The problem is that Facebook doesn't have real search. So far they've bet the farm on guessing what people want, and not making them think about typing anything into a search box (I know this first hand). However, they haven't cracked the code of behavioral ads; nobody has yet. Can it be cracked? Would it be enriched by adding spices? No one can say.

Fbads

Even if ads worked for Facebook, the potential for growth is very limited. Google has been trying to diversify their business and create another significant revenue stream for years. No dice so far. Twitter seems to have given up on that too, and they are betting on ads as well. So where does that leave Facebook in terms of justifying a 100B (or 90B, or whatever ultra-high) valuation? Will they start making hardware like Apple? Selling things like Amazon? BTW, Amazon is worth about the same as Facebook and they RULE E-COMMERCE (not to mention the growing contribution of their cloud infrastructure business).

Obviously Facebook's asset are its billion or so users. The big bet is that some of those users (a tiny amount obviously) will some day pay a lot of money to Facebook. For what? Well, thanks to the hype generated by the IPO now they have 16 billion dollars to find out. I for one will stay out of this one, and watch from the sidelines. Welcome to the Popcorn Valley!

If you found this post interesting, please comment on Hacker News.

The End of a Seven-Year Cycle: Leaving LinkedIn

Gentle readers, the time has come to pause my usual sarcasm and dry humor until my next post. Hope you'll understand!

Warning: this post is very personal. It may be very uninteresting to others :)

In 2005 I started a search consulting business named Flaptor, which would later become known as IndexTank. Needless to say, we were not an overnight success. Like every small company we had our rough patches. These seven years have been the most intense of my life, and the intensity did not stop when we joined LinkedIn. Transitioning from a small startup into a successful, rapidly-growing public company without missing a beat is not for the faint of heart!

Before I go into the reasons I'm leaving, I would like to talk about what made this decision really hard. For starters, I have an immense amount of respect for Reid Hoffman despite not having interacted much with him. Having experienced the company from the inside, I know how much determination and drive it would take to build something of LinkedIn's magnitude. Ditto for Jeff Weiner; my interactions with him have been spirited and thought-provoking. I have met several CEOs throughout my career; none of them were as persuasive and charismatic as Jeff. I am usually a very skeptical guy, so that speaks volumes about his ability to challenge points of view. He's a phenomenal leader.

Unlike many other companies, LinkedIn is in a position to have a huge positive impact on the world. I was a teenager in a middle-class family at the dawn of the PC era. During that time companies like IBM, Microsoft, and Apple made my life better. Affordable hardware and software made it possible for me to learn about computers, and to develop a career in software. I believe LinkedIn can go beyond that, and improve the lives of people who were born much less fortunate than I (and most of my fellow nerds reading this).

Speaking of fortunate, I've been lucky to work with amazing people over the past few years. I greatly enjoyed my time with the Search team at LinkedIn; not only are they extremely smart folks, but they are also caring and fun to be around. I'll miss them, and I hope we'll remain in touch. Leaving this team was the most difficult part.

So, why am I leaving? I abhor clichés, so I'll get to the point: I am exhausted from seven years of almost nonstop work, and I need a break. Over the years I've become accustomed to performing while tired, and I keep plowing through it while my body suffers. It's a matter of time before that catches up with you.

It should be noted that LinkedIn is a great workplace: fast-paced work, cool products, tons of open-source software, great vision, meaningful mission (and even fantastic food!). While some may think it's boring when compared to Facebook or Twitter, that's just false. I wasn't bored for a second at LinkedIn, and I have the attention span of Guy Pearce's character in Memento. For example, LinkedIn has unique data about the world of work; one of the best teams of data scientists on the planet (led by my friend Daniel Tunkelang) is doing awesome stuff with it. I look forward to learning from their public work, as well as to seeing them at industry conferences.

I am very bullish on LinkedIn, and I will definitely remain a cheerleader as well as a shareholder. Of course the company has room for improvements, like any other workplace. As Jeff has said, there are tons of challenges that come with hypergrowth. LinkedIn has a strong set of core values that guide people's decisions. Having read Tribal Leadership, I know how fundamental this is for any company. Zappos is an example, LinkedIn is another.

Change is always a mixed bag. I really liked managing an awesome group of people, but I know I need to take a break before thinking about the future. My plan for the coming weeks is simple: I'll take a few naps, listen to music, eat well, catch up with my reading. I'll try to keep writing interesting stuff here.

One final thought: my time at LinkedIn has inspired me to try to improve this world. I'm a cynical guy, so I don't say that lightly; LinkedIn has a humanitarian side which is not common in the  corporate world, or even in the tech industry. I'd never worked at a company like that before. Technology has improved my life in countless ways, and I'm inspired by its potential to improve the lives of others. Here are a couple of videos that touched me recently:

Or I may end up working on a Google Killer someday, assuming they don't kill themselves first. You never know :)

 

I'm a Small-Time Investor

I hate the phrase "angel investor." I hate it with the fiery rage of one thousand Betelgeuses. There is nothing angelic about investing. In my mind, the phrase conjures images of wealthy patrons of the Renaissance who supported talented but destitute artists. In return, these patrons would obtain the erstwhile equivalent of karma points, Klout or whatever. Perhaps even a flattering portrait (your face with the "Brad Pitt" Instagram filter applied to it). Whoever coined the phrase "angel investor", I want to have a few words with you. Hint: the first one starts with an f.

The problem is that I fit the definition! I like to occasionally make small-time investments (low 5-figures) in seed-stage startups with the following criteria:

  • I really like the founding team. I enjoy chatting with them, sharing experiences, feeling like I'm playing a minor role in their potential success.
  • I have a decent understanding of what they are trying to do (e.g. things that I've had professional experience with such as search software).
  • They know what they want, and won't be easily steered by professional investors.
  • They have a very strong sense of ethics, and believe that what they are doing will add value to the world somehow.
  • Needless to say, I believe that there is an expectation of a positive return on my investment. This is no charity. I don't wear a halo.

That said, I refuse to be called an angel investor. I'm just a dude who got reasonably lucky, and now can afford to play fantasy VC. I'm a has-been who probably would get sick if he tried to start another startup. I'm fat and happy playing the nickel slots. I'd love to say I was an early investor in Twitter, even if I'd invested $100 and got $4000 out.

Silicon Valley is more similar to Las Vegas than many people would have you believe. The main difference is that in Vegas most people gamble on games of chance. In Silicon Valley we believe we have an edge. Do we really? I don't know. But the fact that we believe it is what makes it fun.

In short: I'm a small-time investor; I'm in the right place for it, and I have a few chips to play a fun game of luck and perceived skill. But if you call me "angel investor", you're asking me to go all Ezekiel 25:17 on you :)

If you didn't hate this post, please discuss it on Hacker News :)

 

A Relevant Tale: How Google Killed Inktomi

On March 20th, 2000 Inktomi had a market capitalization of 25 billion dollars. As a relatively early employee, I was a multimillionaire on paper. Life was good. In the next year and a half the stock went down by 99.9%. In the end, Inktomi was acquired by Yahoo for 250M. What happened? Among other things, Google. Grab some popcorn and enjoy this story.

Inktomi was the #1 search engine in the world for a while. When I joined we had just won the Yahoo contract, and were serving search results for HotBot (there is still a search page there!) At first I worked on developing crawling and indexing tools written in C++. Our main goal at the time was to grow our index size, and at the same time to improve relevance. It became clear that as our document base grew, relevance would play a more important role. For ten million documents you may be able to filter out all but a handful of documents with a few well-chosen keywords. In that case any relevance algorithm would do; your desired result would be present in the one and only result page. You wouldn't miss it. For a billion documents however, the handful would become hundreds or thousands. Without a good relevance algorithm, your desired result might be on page 17. You'd give up before getting to it.

At first we were using a classic tf-idf based model, enhanced by emphasizing certain features of pages or urls that correlated with "goodness." For example, yahoo.com is probably more relevant to the query yahoo than yahoo.com/some/deep/page.html. We thought shorter urls were better. Of course this query was very popular, so spammers started creating pages stuffed with the word Yahoo. This was the beginning of an arms race that continues today. Back then we were the main target because we processed more searches than anyone else.

 
Inktomi_mug

Enter The Google

Yahoo had been complaining to us about not being result #1 for yahoo for a while. We fixed that special case, but we couldn't do the same for many other sites or pages. In 1999 Google was gaining popularity because they were solving exactly this problem. We didn't perceive them as a threat yet, but we did realize that we had to do our own version of PageRank. I was assigned to that task.

My small contribution to improving our relevance was coming up with a simple formula to take into account the occurrences of words in links pointing to pages. The insight was realizing that this followed a power law: at the time Yahoo.com had about 1M instances of the word yahoo in links pointing to it. Nobody else came close. Other Yahoo properties had an order of magnitude less, and then came a long tail of other sites. I decided to use the logarithm of the count as a boost for the word in the document. This wasn't as sophisticated as PageRank (we'd get to that later), but it was a huge improvement. Our relevance got much better over time as other people spent countless hours implementing our own link analysis algorithms. We had a clear mandate from the execs; our priorities at search were:

1) relevance
2) relevance
3) relevance

Doug Cook built a tool to quickly measure the relevance effects of algorithmic changes based on precomputed human judgments. For example: it was clear that Yahoo.com was the definitive result for the query "yahoo" so it would score a 10. Other Yahoo pages would be ok (perhaps a 5 or  6). Irrelevant pages stuffed with Yahoo-related keywords would be spam, and humans would give them a negative score if they showed up for that query. Given ten results and a query, we could instantly evaluate the goodness of the results based on the human rankings.

We had a sample corpus of links and queries for which we could run this test as often as we wanted, and compare ourselves against Google. We did this for months until it became clear that we were "as good as Google." Our executives were happy.

Relevance Is Only So Relevant

Despite our relevance being so great, there was one huge red flag: engineers at Inktomi were starting to use Google as our search engine. Our executives tried to stop us from doing it, just like Bill Gates reportedly banned his kids from using Apple products.

I thought about why I was using Google myself, and I'm sure it's obvious to everyone now: the experience was superior.

  • Inktomi didn't control the front-end. We provided results via our API to our customers. This caused latency. In contrast, Google controlled the rendering speed of their results.
  • Inktomi didn't have snippets or caching. Our execs claimed that we didn't need caching because our crawling cycle was much shorter than Google's. Instead of snippets, we had algorithmically-generated abstracts. Those abstracts were useless when you were looking for something like new ipad screen resolution. An abstract wouldn't let you see that it's 2048x1536, you'd have to click a result.

In short, Google had realized that a search engine wasn't about finding ten links for you to click on. It was about satisfying a need for information. For us engineers who spent our day thinking about search, this was obvious. Unfortunately, we were unable to sell this to our executives. Doug built a clutter-free UI for internal use, but our execs didn't want to build a destination search engine to compete with our customers. I still have an email in which I outlined a proposal to build a snippets and caching cluster, which was nixed because of costs.

Are there any lessons to be learned from this? For one, if you work at a company where everyone wants to use a competitor's product instead of its own, be very worried. If I were an executive at such a company I would follow Yoda's advice: "Do or do not. There is no try." If you're not willing to put in the effort to compete, you might as well cut your losses (like Google did with Buzz, for example).

Of course, this is not the whole story of how Inktomi failed. There was a complicated web of causation that involved timing, bubbles, lack of focus, departures of key executives, etc. That would be a book that might sell three or four copies at best :)

Inktomi1

If you liked this post, I'm happy. Follow me somewhere, or don't :)

If You Use Comcast DNS Servers, You Cannot Read This

[Edit: I changed the CNAME record for the root domain to be an A record pointing to the Posterous IP address (currently 184.106.20.99)This seems to be fixing the problem. However, I don't like that solution because if Posterous changes its IP address then everything breaks. Also, I feel a bit stupid but I'll leave this post up because it may be useful to someone else.]

A few months ago I decided to point diegobasch.com to my posterous blog, which used to be located at dbasch.posterous.com. As instructed by Posterous, I changed my Namecheap dns settings to look like this:

Diegobaschcom

I use Google's DNS servers, and I've never had a problem accessing my blog on Posterous. I went ahead merrily and kept dumping my thoughts, dry humor and sometimes vitriol into my blog. In the months since, I had a few blog posts that went somewhat viral on Twitter and Hacker News. Interestingly, I received many comments from people who tell me "your blog is down" or "I'd love to read your posts but I cannot access your site."

At first I thought it might be temporary glitches on the part of Posterous or Namecheap, but I confirmed independently with both that everything works as it should.

Yesterday I asked Twitter to help me diagnose the problem. It turns out that the problem seems to be with Comcast, and perhaps other ISPs. Says @cavorite:

@dbasch It seems that the problem is with Comcast's DNS servers, "dig @75.75.76.76 diegobasch.com" yields SERVFAIL.

I started researching Comcast DNS servers on my own. 

Diegos-MacBook-Air-2:~ dbasch$ nslookup - cdns02.comcast.net
;; Got SERVFAIL reply from 75.75.76.76, trying next server
;; connection timed out; no servers could be reached

Diegos-MacBook-Air-2:~ dbasch$ nslookup - 75.75.75.75
Server: 75.75.75.75
Address: 75.75.75.75#53

** server can't find diegobasch.com: NXDOMAIN

Interestingly, www.diegobasch.com works just fine:

Non-authoritative answer:
Address: 184.106.20.99

WTF COMCAST!!!

If you read this post, many people complain that Comcast seems to be hijacking requests for non-existent domains to show whatever they want. However, I changed my domain months ago. Comcast should have taken notice by now.

Two conclusions:

1) Comcast DNS servers are broken.
2) DNS in its current form is broken as well. It wasn't designed to be used by the current internet. Furthermore, a particular ISP can decide to use its DNS servers as a mechanism for censorship.

I believe that OS makers should give people an option to choose among several DNS servers during the installation process, and explain why.

Interviewing Engineers? Enough with the Whiteboard Coding!

[Originally posted on July 25, 2011 on the IndexTank blog, now down. Reposting it here so I don't lose it.]

If you are reading this there is a chance you may not know who Steve Vai is. In my opinion, he’s the owner of the most gifted musical brain in the world. You may not like the style of music he plays or his guitar pyrotechnics. However, there is no question that most bands would kill to have someone like him on stage. David Lee Roth and Frank Zappa surely agreed with this statement. Here’s what Steve himself has to say about his audition with Zappa:

Now imagine for a minute that this audition had taken place in an office, and that Frank had told Steve: draw this song on the board and explain to me how you’ll play it. Well, you get my point.

There’s a lot of superstition in engineering interviews, and here’s where I need to pull my credentials. I’ve been interviewing software engineers since the 90s. I’ve interviewed hundreds of them if not over a thousand. One thing I can say with 100% certainty is that making someone code on the board won’t give you any information that you couldn’t get from a phone conversation. You won’t learn if the person is awesome or if he/she could build anything to save their lives.

The point of an engineering interview is to figure out if you want to hire a person or not. Obviously you want to minimize false positives and false negatives. Many companies tend to focus on eliminating false positives at the expense of having too many false negatives. This is because hiring the wrong person could be extremely damaging to a company. This is all well and good in a market where there is an abundance of qualified candidates. What if your system yields 80% false negatives and you can get one interesting candidate per month? Not hiring anyone is also extremely damaging. For a startup especially, not taking risks means dying.

The holy grail of interviewing is to remove noise. Ideally you want to evaluate a person’s capacity to perform their expected duties. Now, think about the last time you wrote code on the whiteboard at your current job. In my case, let me think… NEVER! Diagrams, architectures, design, etc. Code? F-NO!

Today, here are the things that I look for in a candidate:

1) Did he ever build anything? A Github account (or any other public code) is a plus.
2) Can he communicate? I want to see a blog and/or a Twitter account.
3) Does he live in the past? A good LinkedIn profile is worth 1000 resumes.

Past that barrier, of course I want to see for myself. I’m not saying that a software engineer candidate shouldn’t code at an interview. Far from it.

When you come to an interview with IndexTank, bring your laptop. Be ready to sit down and create working code. You don’t have a laptop? That’s a handicap, but not a big deal. You can use one of our Macbooks. Let us know if you want vi, emacs, Eclipse or even TextMate on it. Java, Ruby, Python and C will be available.

One thing we won’t do is ask “aha” brainteaser questions. Sure, being able to get four dudes across a rickety bridge is a proxy for a high IQ. Big deal. I know lots of people who are awesome at chess, Sudoku, etc. but will never hack for 48 hours nonstop because they are dying to see something working. Join the Triple Nine Society for example and you’ll meet some of them (there are great coders there too).

Over the years software companies have developed a cargo cult of interviewing people for raw intelligence and the ability to think quickly on their feet. People, get with the times. Teach your engineers how to run an interview, because it’s not trivial. Remove noise. If you don’t do all this, do not complain that it is a tough market for hiring engineers. Also, do not make fun of people who are not good fits for the job.

At this point I could go into many colorful anecdotes (e.g. my terrible experience interviewing at Netscape in the summer of ’98) but I won’t. One final word:

I sincerely apologize to the people I interviewed in the past five years who had to code on the whiteboard. It’s not happening again :) Come chastise me on Twitter

 

Should You Do a Startup? I Have No Idea

I just read this platitudinous article about a keynote given by the founder of Evernote, in which he says that *you* shouldn't do a startup:

I’ve narrowed it down, really boiled it down, to one core piece of advice. If I can only say one thing, and I don’t know you any better, it’s: don’t. Don’t do it. Seriously.

My first thought was: "who is this guy to tell me what I should or shouldn't do?" This sounds very disingenuous to me. It seems to me that Phil Libin thinks he's got the right stuff, so he did a startup and he's doing well. The rest of us probably don't have what it takes, so we should go work for the man or whatever.

You won't find any advice in this post. It's just one of my usual rants. As you may know, I've done a startup. A successful one, by all measures that matter to me. We built a product, we had a great team, happy customers. We had a good exit and we made a fair amount of money. I like money. Money is good. Do you like money too? We should hang out some time.

Still, startup life mostly sucked. Making money is nice, but it's neither necessary nor sufficient for having a fulfilling existence. When people ask me if they should do a startup, I tell them that I have no idea. What the hell is a startup anyway? At this point it's become of those diluted, subjective terms like "freedom" or "happiness."

Do you want to change the world? In that case what you want is a revolution, not a startup. Good luck with that. Do you want to be rich and famous? There are a plethora of ways. Do you want to build cool stuff? You can do that while working for The Man, or as a hobby.

I personally never liked working for big corporations, and that's the reason I started my company in 2005. I'd worked for a few BigCos in my time, and it sucked. Come to think of it, it sucked even more than running my own startup later on. Still, I don't know if I'll ever do a startup again. If it do it though, it will be for the thrill of the game.

Phil says the only valid reason to do a startup is to "change the world." Ok, in that case we'd all love to see the plan :)

If you didn't completely hate this post, please upvote or comment on Hacker News.

How to Be a Horrible Boss

I've been working in the tech sector for over two decades now. That means I've had more bosses than I can remember. The ones who left an indelible impression in my brain were in the extremes: either great or horrible. There are many books written about how to be a great boss, for example Managing Humans. Today I'm going to take the contrarian position, and tell you how to be horrible at it.

Why is this useful? I don't know, perhaps you were such a great programmer that you were promoted. You reluctantly accepted your role as a manager, you hate it, and you want out. Of course you could figure it out with your superiors, but let's assume you're an introverted nerd with zero social skills :) Seriously, here is a list of things that would make you a horrible boss. Do not try these at work!

Talk a lot, do not listen much. This trait would make you an annoying person in real life. You know the guy or gal who cannot stop talking about his/her own world: "enough about me, now let's hear what you think about me." As a manager, this is a cardinal sin. Why? Because unlike your friends, your direct reports won't usually call you on it. You will have a self-reinforced view of what's happening to them, and they will grow alienated from you. "The boss is out of touch."

Be patronizing. Tell people how to do their jobs, and explain the obvious many times. If you were promoted to manage an awesome team, there surely will be stars who know more about their jobs than you do. The tech industry is not an assembly line with lots of turnover. For example, you may be managing a senior software architect with ten years of experience. If you ramble about how it's important to "remember to design for scalability" or to "always consider security," it will reflect poorly on your ability to trust him. My father-in-law was a successful manager for a pharmaceutical company for most of his career. He puts it this way: people become what you expect of them. If you treat your direct reports like children, that's how they will act.  On the other hand, if you place lots of trust in them from day one, they will be compelled to prove that they deserve the trust.

Be as cryptic as possible, never direct. Another cardinal sin for a manager is to not tell people what she expects from her reports. Expecting people to read your mind or learn things by osmosis is a terrible idea; to make things even worse, criticize people for not doing what you knew you wanted but never expressed. If you want to take it up a notch, go behind people's backs and talk smack about them to your peers or superiors. At that point your reports will have no recourse, because you are their proxy to the upper strata of the organization.

Encourage bureaucracy, and demand visibility into everythingIf you're a horrible boss you probably don't find too many people worthy of your trust. Never fear! The solution couldn't be easier or more time-consuming: ask them to document every little thing they do. If they ask why, the answer is "because I need to know." What if a senior executive asks you about the current status of the Lisp rewrite of FizzBuzz, and you don't know it was delayed because there's a temporary shortage of odd numbers for testing? Obviously you'd look like a clown if you said: "I don't know, but I'll ask my team and get back to you in a few minutes."

Show them who's boss. If there is one thing that's proven to demoralize a team, it's a boss who constantly reminds them he's in charge. There are limitless ways to do this, for example:

  • Tell people to do things without explaining the rationale for them.
  • Have weekly status meetings even if there is nothing new to say, or if it can be said over email. In Peopleware,  Tom DeMarco says this about weekly status meetings: "though its goal may seem to be status reporting, its real intent is status confirming. And it’s not the status of the work, but the status of the boss."
  • Punish people with menial tasks ("hey senior engineer, go make copies of these handouts because my time is too valuable"). Bonus points if you do this in front of others.

Don't learn about management. After all, you already went to school for programming or whatever it is you do. It is obvious that your experience doing X qualifies you to manage people doing X. Why waste time taking classes or reading books?

At this point many of you may be thinking "hey, you're describing my boss to a tee!" in which case you should be updating your resume and your LinkedIn profile.

I'm lucky to work in Silicon Valley, where these types are relatively rare. There are not very many Bill Lumberghs or Michael Scotts around here these days. In other industries, they are probably still the norm. However, there was this one time of rapid growth in the late 90s when the rising tide would lift all types of idiots into management. I'm not going to talk about these characters and how they destroyed companies, morales, and souls. Instead, I'll re-read this post. Then I'll go back to think about how many of the above sins I have committed in my career, and keep this post as a checklist. If you report to me and you see me doing any of these things, please call me on it. If you let me get away with it then I will end up like Bill Lumbergh, and my life will suck as much as yours:

Idea: Driving Time Predictor

When you live in a sprawled suburb like the Silicon Valley, it's sometimes hard to predict how long it will take you to drive from point A to point B. For example, my one-way commute time from Mountain View to San Francisco has ranged between 45 and 120 minutes in the past few months. 

Of course the travel times are somewhat predictable. I know that if it's a nice day and I leave SF at 10 am, the odds of time(travel) < 50 are high. Maybe once a week or so there is an accident that sets me back 10-15 minutes. Friday afternoons are different, coming back from Mountain View usually takes patience; I know that if I leave around 6 pm I probably be in the city by 7:30.

The obvious question is, what if I need to be in Oakland for a 5:30 pm meeting for which I just cannot be late? Google says it would take me 50 minutes if I left now. It's 3:55 as I write this, if I were driving away this second I would arrive at my destination by 4:45. However, it's raining outside. What are the odds that there will be an accident somewhere along the way? How much does traffic fluctuate during this time of the day, on a Tuesday? The point is that when I have an important appointment tens of miles away I have to make sure to pay attention to the clock since much earlier, which is distracting. What I would like is for Google (or whoever) to tell me when I need to leave A order to be at B before time T. Also, I'd like two modes: 

  • 80% confidence: I probably will be on time, but if I'm late it's no biggie.  
  • 99% plus: most likely I will be early, but a high chance of being on time is worth the extra 20 minutes or whatever.

This could be done analyzing historical data, real-time traffic, and weather conditions. I would want to run the query in the morning, and have the service send me an update (SMS, email) any time my suggested departure time changes. Would I pay for this? Possibly, but I'd have to try it first.