As a user, how often have you thought “I wish this web service was faster.” As a CEO, how often have you said “just make it faster.” Or, more simply, “why is this damn thing so slow?”
This is a not a new question. I’ve been thinking about this since I first started writing code (APL) when I was 12 (ahem – 33 years ago) on a computer in the basement of a Frito-Lay data center in Dallas.
This morning, as part of my daily information routine, I came across a brilliant article by Carlos Bueno, an engineer at Facebook, titled “The Full Stack, Part 1.” In it, he starts by defining a “full-stack programmer”:
“A “full-stack programmer” is a generalist, someone who can create a non-trivial application by themselves. People who develop broad skills also tend to develop a good mental model of how different layers of a system behave. This turns out to be especially valuable for performance & optimization work.”
He then dissects a simple SQL query (DELETE FROM some_table WHERE id = 1234;) and gives several quick reasons why performance could vary widely when this query is executed.
It reminded me of a client situation from my first company, Feld Technologies. We were working on a logistics project with a management consulting firm for one of the largest retail companies in the world. The folks from the management consulting firm did all the design and analysis; we wrote the code to work with the massive databases that supported this. This was in the early 1990’s and we were working with Oracle on the PC (not a pretty thing, but required by this project for some reason.) The database was coming from a mainframe and by PC-standards was enormous (although it would probably be considered tiny today.)
At this point Feld Technologies was about ten people and, while I still wrote some code, I wasn’t doing anything on this particular project other than helping at the management consulting level (e.g. I’d dress up in a suit and go with the management consultants to the client and participate in meetings.) One of our software engineers wrote all the code. He did a nice job of synthesizing the requirements, wrestling Oracle for the PC to the ground (on a Novell network), and getting all the PL/SQL stuff working.
We had one big problem. It took 24 hours to run a single analysis. Now, there was no real time requirement for this project – we might have gotten away with it if it took eight hours as we could just run them over night. But it didn’t work for the management consultants or the client to hear “ok – we just pressed go – call us at this time tomorrow and we’ll tell you what happened.” This was especially painful once we gave the system to the end client whose internal analyst would run the system, wait 24 hours, tell us the analysis didn’t look right, and bitch loudly to his boss who was a senior VP at the retailer and paid our bills.
I recall having a very stressful month. After a week of this (where we probably got two analyses done because of the time it took to iterate on the changes requested by the client for the app) I decided to spend some time with our engineer who was working on it. I didn’t know anything about Oracle as I’d never done anything with it as a developer, but I understood relational databases extremely well from my previous work with Btrieve and Dataflex. And, looking back, I met the definition of a full-stack programmer all the way down to the hardware level (at the time I was the guy in our company that fixed the file servers when they crashed with our friendly neighborhood parity error or Netware device driver fail to load errors.)
Over the course of a few days, we managed to cut the run time down to under ten minutes. My partner Dave Jilk, also a full-stack programmer (and a much better one than me), helped immensely as he completely grokked relational database theory. When all was said and done, a faster hard drive, more memory, a few indexes that were missing, restructuring of several of the SELECT statements buried deep in the application, and a minor restructure of the database was all that was required to boost the performance by 100x.
When I reflect on all of this, I realize how important it is to have a few full-stack programmers on the team. Sometimes it’s the CTO, sometimes it the VP of Engineering, sometimes it’s just someone in the guts of the engineering organization. When I think of the companies I’ve worked with recently that are dealing with massive scale and have to be obsessed with performance, such as Zynga, Gist, Cloud Engines, and SendGrid I can identify the person early in the life of the company that played the key role. And, when I think of companies that did magic stuff like Postini and FeedBurner at massive scale, I know exactly who that full system programmer was.
If you are a CEO of a startup, do you know who the full-stack programmer on your team is?
There are tons of startup events in Boulder. I get asked almost daily by folks what they should attend to get involved in the local Boulder startup scene. Fortunately, Tom Markiewicz (founder / CEO of StatsMix, a TechStars Boulder 2010 company) is now curating the Boulder Edition of StartupDigest. It’s a great resource for anyone that wants to know what is going on in the Boulder startup scene. Thanks Tom!
Standing Cloud, which makes it easy to deploy and run apps in the cloud, recently closed a $3m financing led by Rich Levandov at Avalon Ventures. Rich and I have known each other and worked together since the mid-1990’s and more recently have invested together in NewsGator and Zynga.
Rich has spend a lot of time in the clouds lately, including his investment in Cloudkick which was acquired yesterday by Rackspace. He got excited about Standing Cloud and their mission to “reimagine hosting” in the context of cloud computing. Shared hosting was a great idea back in 1999 but most users of Web apps today require more control over upgrades, better access to backups, ability to move applications across cloud providers, and extremely high reliability. In addition, deploying apps on most cloud providers continues to be unnecessarily complicated.
There are a huge number of solution providers out in the world who are specialists in any of the more than 70 open-source apps that Standing Cloud supports. For them, Standing Cloud is a simple way to deploy multiple instances of a single app across all of their clients, retain a high degree of flexibility and control over the apps, and not ever have to worry about hosting. These are folks who are helping businesses launch and maintain not only websites but the software they use to run and manage their business.
This week, Standing Cloud launched the Standing Cloud Partner Program for these customers. Becoming a partner includes free hosting for one instance of a single application for one year, volume pricing, and a listing of their services in the Standing Cloud Application Network, launched last week, which is gearing up to be the go-to place for end users and solution providers around Web apps. The program is designed to help grow the business of service providers who customize, support, and deploy online applications, ranging from CMS systems like Drupal, WordPress and Plone, CRM systems like vTiger and SugarCRM, and other business tools like Status.Net, and OpenVBX.
If you’re a solution provider looking for a better way to manage apps for your clients, you can sign up at Standing Cloud. And if you want to see how easy it is to set up any of over 70 open source apps in under five minutes, just select an app and click on “Use It Now.”
Periodically I promote the conferences we helped create with Eric Norlin – Defrag, Glue, and most recently Blur. If you’ve been to any of these conferences, you know why I get so excited about them – it’s a chance for me and my partners to spend two days immersed in a theme we are investing in while surrounded with some of the smartest people working in that area.
Blur is all about human computer interaction (HCI). We’ve done a bunch of HCI investments, including Orbotix, Fitbit, Sifteo, Oblong, and Organic Motion and we’ve spent a bunch of time exploring HCI as we believe the way we will use and interact with computers will be radically different in 20 years than it is today. As a hedge, we believe that if the robots are really going to take over, we at least want a hand in creating some of their software to improve the odds that they’ll be nice to us.
When Eric and I started talking about Blur, he said he wanted it to be a deeply hands on experience. The HCI stuff we invest and play around with is some of the funnest and most interesting tech. The conference should line be equally fun while giving a bunch of smart thought leaders around HCI a chance to collaborate on what each of them is working on.
For example, Kinect Hacks? Yup – a bunch will be there (the hackers and the hacks.) The history and evolution of multi-touch – did you know it was invented in 1982 the USPTO rulings not-withstanding? Want to play with personal robots? Do you know what neuroergonomics means or why it matters?
As with Defrag, the Ewing Marion Kauffman Foundation has stepped up with a major sponsorship for up to 15 people who are either founders of pre-Series A startups or students doing research around HCI.
Blur is happening in Orlando, Florida on February 22nd and 23rd. Early-bird registration runs through January 14th at which point registration is only available at the full price. Come play!
Want to see a robotic ball controlled by a smartphone? Take a look at the Orbotix Sphero Sneak Peek Video below.
My friends at Orbortix will be at CES in Booth #5422 North Hall from January 6th to 9th showing off real working robotic balls. So psyched.
I’ve been quiet since the weekend. It’s not because I’ve had nothing to say (that would be a first), but because I was absolutely slaughtered by the flu. I spent all of Sunday and Monday in bed. I managed to work yesterday and stay on top of the things flying around and today was more or less normal (with a long afternoon nap). But that was easily the worst kick in the ass I’ve had from a cold in many years.
I’d put together a string of three weeks of six days of running a week prior to getting sick so there’s some chance that I was a little fatigued from that, but I generally felt great after my week off the grid for my 45th birthday. I’ve gone pretty hardcore on food / diet as a result of reading Younger Next Year so my body might have been a little confused by that. Or maybe I just shouldn’t have spent so much time next to my partner Ryan after he was recovering from the flu.
Regardless of what it was, I don’t wish that one on any of you. Maybe this is the year to get a flu shot if you haven’t already.
Gist just released their Chrome extension for Gist in Gmail. Chrome is my browser of choice for Gmail and I’ve been anxiously awaiting this release. It’s just awesome.
It’s tightly integrated with both consumer and enterprise Gmail. It’s fast, light weight, and takes advantage of the huge amount of data discovery that Gist does via the cloud (rather than in-browser).
It’s been really fun to watch my friends at Gist really come into their own in the past six month. With the release of Gist in Gmail on both Firefox and Chrome, along with the Gist Gadget for Google Apps, they’ve got Gmail now totally wired.
If you haven’t tried Gist, give it a shot. And if you are a Chrome and Gmail user, make sure you grab the Chrome extension.
I recently sat through an annual CEO 360 review at a company that has been very serious about executive development since inception. It reminded me how powerful this is when it’s done correctly.
In this particular case, the entire board and management team had an hour-long facilitated discussion without the CEO in the room. The facilitator is not an employee of the company but has worked with the entire management team on executive development as they’ve grown over the past 5+ years.
This company is doing extremely well and the CEO is excellent. However, the fact that he’s comfortable enough with himself (and his team) to step out of the room and allow us (board and management) to have a candid, direct, confidential discussion is an important message to everyone.
Most interestingly to me was the value of the conversation. Even though this group has worked together for a long time, the company continues to evolve and the CEO knows he has opportunities to continue to grow. By having this type of a candid conversation across the team and the board, it creates real clarity around where the personal growth opportunities for the CEO are.
A minority of the companies I’m on the board of do this but this particular CEO 360 Review motivated me to rethink that and encourage it in more cases.
The latest Brad Feld Amazing Deal is online.
A few weeks ago I was approached by Sympoz, a company in Boulder that is excited about building online classrooms where anyone can take a courses in categories like Wine, Personal Finance, Cooking, etc. The have a nice looking site, and their classes are self serve, at your own pace, in HD. They have forums where you can interact with fellow classmates and teachers. Classes range in price from $39 to $99.
They asked me what I thought, and I told them I thought they should offer up some classes on my Brad Feld’s Amazing Deal Store. They agreed to give my readers a great deal. $19 for any class that in their inventory. And, I’m putting my money where my mouth is – I just bought (using my Amazing Deal site) the Wine Demystified course.
If you have a love of learning, or are looking for an interesting gift, give Sympoz a try by purchasing this deal. You could become an wine expert for less than the cost of a decent bottle.