Gates & Jobs: More alike than Not

Posted by Kevin Merritt on June 26th, 2008

There’s much in the press these last few weeks about the end of the BillG era at Microsoft. If you haven’t seen it, I found this pictorial narrated by Gates to be one that portrayed him in a very different light. The transcript of this internal memo and this one also provided some clues into how he thinks and communicates.

People like to contrast Apple with Microsoft and correspondingly Steve Jobs with Bill Gates. The more I think about it though, the more I think the two are more alike than different.

Both dropped out of college for the right reasons. Both have made a huge mark in not one, but two industries. Jobs in computers and animated movies. Gates in software and philanthropy.

What strikes me about each though, is how instinctual they are in business, how huge their dreams are, how clearly and directly they communicate with the people in their organizations and how deeply involved they are in the smallest of details. We’ve all heard that each has tendencies to be controlling and harsh. Yet neither organization suffered from turnover. So clearly, people put up with it. Why is that?

Nobody wants a bunch of f-bombs dropped on them in front of their peers, much less in private. That behavior by Gates and Jobs was tolerated because the audacity of their vision and the clarity of their communication inspired people in ways that resulted in the world actually being changed.

So for me as entreprenuer the lessons are clear

*) People really will unite behind a vision of changing the world so be bold and courageous to frequently focus the team on these grand aspirations.

*) Communicate directly and clearly even when the message won’t initially be welcome. It’s better to err on the side of saying what needs to be said with a suboptimal delivery than to not say what needs to be said because you can’t find the right words.

*) Every seemingly unimportant little detail adds up to make a huge difference. Don’t settle. Demand the best.

blist Updated

Posted by Kevin Merritt on June 19th, 2008

A day or two ago we deployed some new features in blist that many of you might find useful. In addition to a number of bug fixes, we introduced the following new capabilities or features:

new_dashboard.jpg

Try blist Without an Account

The first change we made is less a feature and more a philosophy. Now you don’t need to sign up to try blist. You can come in, wander around, search for blists, see what other people are using blist for and even create a non-permanent blist without telling us who you are or giving us your email. The point here is that blist is easier to explain by demonstration than with words. How better to show you what blist is than by letting you experience the benefits without signing up? Of course, when you’re ready to create a blist that’s permanent, we need to know who you are.

contacts_groups.jpg

Groups and Contacts

You can now create groups and can explicitly associate with contacts, which makes it easy to share blists with others. Previously you would share by entering the recipients email address. You can still share by email address but you can now also share with groups and with contacts by using their blist username.

Other New & Improved Features

We’ve had a “Date” column type since day one. We’ve extended it to support date + time. So if you want to log an appointment for precisely at 2:00 p.m. on a specific date, you can.

We continue to improve native Excel import as well as CSV import. We’ve made it faster and more robust and improved the preview, so you can better see how your data will look once it’s in blist.

These enhancements are good, but we’re not done. We’re continuing to focus on making blist better, faster and stronger.

Jump the Line – We’re Ready for an SDET

Posted by Kevin Merritt on June 12th, 2008

I haven’t posted this on our careers page yet nor have I posted it on any job boards. You saw it here first. blist is looking for its first software design engineer in test – SDET.

In case you aren’t an SDET but think you might know of one, let me describe what an SDET does. An SDET gets paid to break otherwise functional software. She inflicts discipline (a.k.a. serious pain and suffering) on software engineers, making sure edge cases are treated like common ones. She writes code to exercise other code. Have you ever been to Ikea and seen that wooden fake rump that simulates someone sitting down over and over again on a chair? Up. Down. Up. Down. That’s the kind of code an SDET writes.

But wait, there’s more.

An SDET promotes and instills a culture of test driven development. She ensures that the code written by a software engineer has unit tests. The SDET spends a lot of her time performing code reviews – sitting side by side with the programmer reviewing the algorithm, code quality and unit tests. A good SDET can help with remediation and performance tuning.

The SDET builds continuous integration servers and test automation systems. Essentially that means that automation fetches the latest code from the source code repository and compiles it. If any component fails to be built successfully, it emails developers to tell them about the failure. If all of the components and the application are built successfully, the test system kicks in performing thousands, even tens of thousands of test plans to ensure that the new code didn’t introduce an undesirable side effect. A defect caused by an undesirable side effect is known as a regression.

An SDET ensures the right quality metrics are being captured and analyzed. At blist, software quality is important enough that quality metrics are included in the nightly metrics report, which is generated automatically and emailed to all blist employees and its board of directors. At blist an SDETs work is important and has broad visibility.

So an SDET helps ensure quality through engagement, interaction, mentorship and automation. She isn’t solely responsible for quality. No SDET can keep up with a team of engineers who don’t take pride in producing quality software to begin with. But a good SDET dramatically raises the bar.

At blist, an SDET is a first class role of the same prestige and esteem as a software engineer. SDETs and software engineers usually have similar educational backgrounds. A degree in computer science is common. The key difference that I’ve seen is that software engineers like assembling things and SDETs like disassembling things.

They’re scarce and valuable. A good SDET is hard to find. If you are one or you know of one let me know. We’re ready to raise the caliber of the team and the quality of our software. You can reach me directly at kevin dot merritt at blist dot com.

Hiring Trends

Posted by Kevin Merritt on June 10th, 2008

Today a new software engineer joins the blist team. Like a couple of other recent hires Matt joins us from Amazon. But more interestingly Matt is a graduate of Harvey Mudd College in southern California. Three of our software engineers are Mudders. The school of just 700 students has only 9 majors and produces only about 125 graduates per year. So how can a startup in Seattle have a quarter of its employees and half of its engineering team from a tiny university more than 1,000 miles away?

It’s deliberate.

Sure, like Stanford, MIT, CMU and UW, Mudd is a fantastic university producing some of the finest engineers, scientists and mathematicians in the country.

But more importantly, by assembling teams with deep connections beyond work you have a greater chance of creating a bond and chemistry that produces phenomenal results at work.

If you aren’t familiar with Mudd, I highly encourage you to peruse what Harvey Mudd stands for. Oh and by the way, do you see that bearded young man taking a self-portrait in the photo roll on Mudd’s home page? That’s Jonathan. He’s a recent Mudd graduate now earning his PhD at UW. He’ll be joining us next week.

Nerd Fests this Friday & Saturday in Seattle

Posted by Kevin Merritt on June 9th, 2008

With all this gray weather in Seattle, it’s good to look forward to good talks and events indoors. Two events coming up this Friday and Saturday look to be good if you’re into database internals and/or Internet scale computing.

On Friday the 13th at 11:30 the Northwest Database Society will be hosting a talk by visiting MIT associate professor Sam Madden on column store architectures. The talk is in CSE 605 at UW. Here are some details of the talk, forwarded to me by UW professor Dan Weld:

ABSTRACT:
Vertical partitioning is a well-established technique for improving query processing performance in relational database systems. Surprisingly, the database community has recently unleashed a flurry of research projects (C-Store, MonetDB) and startup companies (Vertica, InfoBright, ParAccel) proposing “column-oriented databases”, which appear to be nothing more than a conventional database with a fully vertically partitioned storage system. In this talk, I will describe how our work on the C-Store system goes beyond simple vertical partitioning. I will begin with an overview of column-oriented technology and its applications and then focus on the unusual aspects of the design of the storage system and query executor. I will also describe a series of experiments that show why vertical partitioning in a conventional database does not perform as well as a system designed from the ground up to support columns, showing that our academic prototype can achieve order-of-magnitude performance improvements over a commercial database on a recently proposed data warehousing benchmark.

BIO
Samuel Madden is an Associate Professor in the EECS Department and CSAIL at MIT. He is a specialist in networked data management and database systems. As the author of the TinyDB system for sensor network data collection, the co-creator of the CarTel mobile sensor network system for automobiles, one of the architects of the C-Store database system, and a co-founder of Vertica Systems, a database startup commercializing column-stores. He has published articles in top computer science conferences, including SIGMOD, SenSys, and OSDI on data acquisition and processing, database optimization, query planning, and distributed databases. Madden received the NSF CAREER Award in 2004, the Sloan Fellowship in 2006, was named on of Technology Review’s Top 35 Under 35 in 2006 for his work in data management in sensor networks, and won best paper awards in VLDB 2004 and 2007 and MobiCom 2006.

On Saturday June 14 Google will host its second annual Scalability conference at the swanky W Hotel in Seattle. It’s an all-day event starting at 8:30. If it’s anything like last year’s event, it should be fun and informative. There’s also a bonus reception mixer on Friday evening (the 13th) from 4:00 to 6:00 at Google’s Fremont office.

Look for other blist colleagues and me at either event. Don’t be shy. Come say hello.

Why I Never Talk Anyone Out of Quitting

Posted by Kevin Merritt on June 4th, 2008

Recently there was some interesting news that online shoe retailer Zappos offers new hires $1,000 to quit at the end of their first week on the job. In that same spirit, I think companies would be better served to gracefully accept resignations without trying to talk an employee out of it.

Early in my career as a manager, if a key employee came in to my office to tender a resignation, I would try to talk her out of it. I would try to understand the motivations behind her decision, and combat each point with a counterpoint for staying. Sometimes I was successful, but only in the short run.

Over time I’ve learned two things. First, when an employee resigns I’m at least six months too late in starting to create an environment where the employee can succeed and wants to stay and contribute. Second, talking someone into staying never works in the long run. You’re better off dealing with the pain as quickly as possible.

In the last few years I’ve seldom been surprised by a resignation. I’ve seen it coming early enough to either change the environment or the individual’s workload in ways to stimulate and reinvigorate the employee, or to recognize that the person (and maybe our company) would be better served to move along.

Talking someone out of quitting is a bad idea. By the time they walk into your office and hand you their resignation letter, they’ve already processed the idea thousands of times. They were emotionally checked out long ago. I’m sure some of you will ask “but what about the person who quits or takes another job offer as a means to force a discussion about a raise?” I’ve only seen that tactic used a couple of times in my career and in 100% of those cases , I was better off without those individuals. The outstanding employees I wanted to keep never needed a resignation or a better offer as fuel for such a conversation. I guess what I’m saying is that top employees usually have the full package, including knowing how to manage their own careers without having to resign in order to demonstrate their value.

Finally, as a good manager we need to plan for the occasion when a top employee will move on. Succession planning – ensuring that business continues as usual after someone departs – is part of what defines a manager as a leader.

The First 10 Programs I Installed on My Mac

Posted by Kevin Merritt on June 2nd, 2008

On Friday I switched from a Thinkpad to a MacBook Pro and over the weekend I pretty much installed the core applications I need and configured it to meet my needs. I’m not new to the Mac. I have an iMac at home. It’s fine, not great. I’m not an Apple fan boy. I think of computers and operating systems like user interfaces; the best ones get out of your way and just let you get things done.

My motivation for switching was primarily hardware, not software. Regrettably the keyboard on my Thinkpad has been awful for the entire 9 months I’ve owned it. Sorry to say this, but Thinkpad’s are worse since Lenovo bought the business unit from IBM. I’ve owned 5 Thinkpad’s and the latest (T61) is by far the worst. The two most important keys – the spacebar and the tab key require serious pressure (pounding) to register. I’m fairly confident that I can have the keyboard reseated by an authorized Lenovo service provider. That process requires keeping my laptop for a day or two. That’s not very realistic, unless I have a backup computer. So, I figured I’d try the MacBook Pro and have my Thinkpad repaired. If I don’t like the MBP, I can always switch back.

By the way, I find the external Mac keyboard greatly improves the whole Mac experience. Having functioning [home], [end], [page up], [page down] and forward delete keys is a big improvement. Along these same lines, it would be nice if the MacBook Pro had some kind of docking station.

The secondary motivation was that XP is getting a little old and I’m going to need to upgrade to some other operating system before too long. We have folks in the office running XP, Vista, Leopard and Ubuntu. They all have their strengths and weaknesses. I decided that a platform with good VM support was the best way to go to meet all my needs, not to mention it makes it great for testing various combinations of operating systems and browsers for compatibility with blist.

I’ve been using the MBP for about 72 hours now. In general, I’m happy. The keyboard is excellent, although the absence of home, end, page up and page down is annoying. I love the feel of the keyboard.

A couple of the guys in the office asked what I’ve installed so far. One commented that you can learn a lot about someone by what they install first. Maybe so. Maybe not. Sometimes it’s just a function of installing the applications you need right away. Regardless, I took the bait and shared my list. So here are the first 10 applications I installed on my new MacBook Pro:

*) Firefox 2.0.

*) WideMail. Candidly I probably couldn’t switch to the Mac without this software. It adds some features to Mac Mail that make it feel more like Outlook. For example, it adds multi-line preview and a right/bottom preview pane.

*) MacVim.

*) twhirl.

*) Cisco VPN client.

*) Adium.

*) Growl.

*) VMWare Fusion with XP and Office installed. This is mostly so I can run Excel with VBA support.

*) Skitch. Very handy screen capture tool.

*) iWork ‘08

And there you have my base setup. I’m not done. I still need to install an SVN client so I can do local checkouts and builds on my laptop. There are also a few programs I want to try – OmniGraffle and Quicksilver soon as well. I’d love to hear your thoughts and about your MacBook Pro environment.