What Makes a Great Engineer?

I have hired a lot of engineers. In different locations, in the US and globally. Men and women. Super experienced or straight out of college. I’ve learned that the best engineers don’t conform to any specific demographic (gender, age, race or ethnicity). 

Hiring is really hard. To be successful, you have to have a solid strategy that absolutely includes technical questions and demonstrated ability to code (yes, I know some people don’t like this, but if I’m applying for a job as a car mechanic, it seems reasonable that I have to demonstrate I can, ya know, work on  an engine.) Even with the best strategy, a hire can turn out to be average, or even below average. 

There are three key traits that are found in the really great devs:
  • Aptitude - Fearless because they have the ability to quickly learn new concepts, programming language(s), tools, environments, operating systems, etc. 
  • Self motivated - Internally driven by the desire to solve hard problems. 
  • Integrity - Transparent, even when the news isn’t good. Tells it like it is.

All you have to do is interview people and hire the ones that have all three of these traits. Easy right? Actually, it isn’t easy at all. If we drew a quick Ven diagram, it would look something like this

Depressing but accurate in my experience. I sometimes joke that the intersection on the diagram means that about 5% of the world has all three of these attributes and that seems to be about right.

Joining First Round Capital's Expert Network

I started working with First Round Capital in July 2015 as part of their Expert Network.

As many entrepreneurs have discovered, finding strong advisors can be a difficult proposition. The goal of the Expert Network is to reduce the friction that happens all to often when entrepreneurs attempt to find an advisor to help with a specific need:

The First Round Expert Network is a carefully curated community of over 100 experts across domains — like product, design, engineering, marketing, finance, business development, and human resources — who are available to advise First Round companies to help solve their biggest problems, today.

This is different than the work I do with StartX as a Lead Mentor in several ways — most notably that while StartX takes no equity in any company, FRC has invested in all the companies that take advantage of the Expert Network. Additionally, StartX is an incubator whereas FRC is a venture capital firm.

In the first six months, I have had two main areas of focus:
  • Advisor to CEO - advising CEOs in areas related to engineering, hiring, culture, financing and scaling a business
  • Technical advisor - advising CEO/CTOs in areas related to mobile, cloud computing and global scale
Time commitment is always a big concern of mine - domain specific advisory roles keep interactions focused and productive. FRC gets a definite “thumbs up” on this one!

If you are interested in learning more FRC’s Expert Network, head over and sign-up

Juntos Wins the BASES Social Entrepreneurship Challenge!

Last week, Ben Knelman and the team at Juntos won the Social Entrepreneurship Challenge, part of the BASES $150k Challenge!

Big congrats to the team - as one of their mentors at SSE, I've been continually impressed with the progress the team has made in the last several months.

Their Demo Day presentation is next week, check it out if you are attending the sessions!

What Startups Are Really Like - Paul Graham

Paul Graham has posted a new "essay", entitled "What Startups Are Really Like". He aggregates feedback he's received from some YCombinator companies and created a list of 19 "surprises" people encountered when starting a company. I saw Paul discuss some aspects of this list a month or so ago at the fbFund offices and thought he had some great insight into startups.

His list (and some of my commentary):

  1. Be Careful with Cofounders
    Couldn’t agree more – it is like a marriage so choose wisely.
  2. Startups Take Over Your Life
    As much as you let them anyway; somewhat counter-intuitive, but I think the 37 Signals guys are onto something with their “do less” mantra. Working hard is a requirement, but don’t waste time on nonsense features.
  3. It’s an Emotional Roller-coaster
    Absolutely – the IPO process at iPrint and the Microsoft acquisition process at Messagecast had huge highs and lows. As did every round of venture we raised. It is really important to try and buffer the highs and lows by keeping some perspective.
  4. It Can Be Fun
    Why do a startup if it isn’t?
  5. Persistence Is the Key
    You have to be the biggest believer in your startup – if you aren’t who will be? If I had a nickel for every time someone told me that a bunch of companies had already done ‘x’ and we wouldn’t be successful…
  6. Think Long-Term
  7. Lots of Little Things
  8. Start with Something Minimal
    Especially in today’s world of constant iteration. I know a company that was run straight in the ground because they wouldn’t release until they could be better than a competitor that had released a year ahead of the them. They never did find that killer feature and actually ran out of money before they ever launched.
  9. Engage Users
  10. Change Your Idea
    Or put another way, evolve your idea – constantly. Strive to be a voracious consumer of feedback. Seek out what people think and pro-actively address. This really is a never ending task.
  11. Don’t Worry about Competitors
    Can’t say I really agree with this one; I think only the paranoid survive.
  12. It’s Hard to Get Users
  13. Expect the Worst with Deals
  14. Investors Are Clueless
    If you expect a venture capitalist to know how your product works down to a detailed level, you don't understand what it means to invest in a sector. No one will know more than you do about your product. It is in your best interest to seek out investors that can help move the ball forward, but be realistic in what you expect them to know.
  15. You May Have to Play Games
  16. Luck Is a Big Factor
    Maybe, but I wouldn't say Google, Yahoo, eBay or Facebook were "lucky". They were all smart, committed people that worked extremely hard. I can't think of any companies that were successful because they were "lucky".
  17. The Value of Community
  18. You Get No Respect
    Perhaps this is true on the East Coast, however, in Silicon Valley, I find it to be quite the opposite. Risk-taking is not that unusual as even the mainstream press reports on startups on a regular basis.
  19. Things Change as You Grow
    You will probably have a ton of hats to wear when things get rolling. If the company grows, you will want to/have to give up some of these hats as more people are hired and the responsibilities of each hat grow. Do yourself (and your co-founders) a favor and try to anticipate when you need to hand-off something; if you miss the signs it might be painful for everyone.

Sign Of The Times

Another data point/observation on the current state of things, courtesy of Jason Calacanis' latest [Jason] post (email only, sorry no link)

We're interviewing for sales people in Los Angeles right now andI'm shocked at the quality level of folks on the market. Tyler interview 30 folks and I got to sit down with the top 12. Of those 12 I would say 10 were hires. Of those ten half of them were the kind of folks that just don't normally come on the market (you know, the folks that are recruited from job to job). It was totally shocking for me. In 15 years of being an entrepreneur I've never such a dense pool of such of talented people--something is VERY wrong with out economy. Also, the last two trips/four times I've been in the airport it's been a ghost town. Very strange to go from long lines and packed flights to short lines and people laying across the aisle sleeping.

2002 was something like this - lots of high quality people available. The contrarian in me says this might be a good time to start a business.

Here's hoping to 2010 is better ...

Dialogs and Asynchronous Calls in Facebook

(Cross-posting to the BaconMarathon blog)

One feature of BaconMarathon's Top3Clicks Facebook application allows users to construct free-form item searches. The search queries are augmented and are used as we attempt to find items that are relevant to the user. To make this work, lots of things are going on in the back-end. The UI output is a list of items displayed in the rotator.

Like any application, we need to make this process as fast as possible, while providing the user visual cues to let them know the application is working quickly to provide a result. One of the strongest pieces of feedback we have had is in this area - and something we've tried to tackle in several different ways.

Our design goals were as follows:

  • call the back-end asynchronously
  • provide cues to the user via a UI dialog
  • tear-down (hide) the dialog when the back-end has completed its' tasks and refresh the UI with the latest information

Yesterday, we rolled out our latest iteration (shown below), which utilizes FBJS and Ajax. 



Using this post as a basis, we made a number of tweaks, most notably the ondone function of the asynchronous call (via ajax.post) handles the form submission and actual tear-down of the dialog. Implementing it was non-trivial as the FBML Test Console didn't seem to like any ajax.post calls we made. Unfortunately, the onerror function does not provide any information about the cause of failure. Firebug was a large help -- make sure to use it if you are debugging FBJS.

Our current implementation looks something like this:


function showItemDialog() {    var title = 'Add Item'     var ok = 'Cancel'     //create dialog     var dialog = new Dialog().showMessage(title,add_dialog_fbml,ok);     var ajax = new Ajax();     ajax.responseType = Ajax.FBML;     ajax.requireLogin = true;     //ondone function, called when post returns     ajax.ondone = function(data) {         frm = document.getElementById(searchForm);         if (frm) { frm.submit(); }     dialog.hide();     };
  //onconfirm actually does nothing     dialog.onconfirm = function() { };     //grab input value and use in ajax.post call     var item = document.getElementById('item').getValue();     var params={'item':item};     ajax.post("http://www.yourdomain.com/index.php",params);


<form method="get" action=http://apps.facebook.com/yourappname/search.php name="search" id="searchForm">  <input type=text name=item id=item>
<fb:js_string var="add_dialog_fbml">  <div id="add_dialog">    <div class="dialog_loading">      <img src="http://ec2_75_101_197_150.compute_1.amazonaws.com/top3clicks/images/ajax_loader.gif"/> Retrieving item info ...    </div>  </div></fb:js_string>
Try it out and let us know what you think!

3 Good Books for Facebook Developers

(Note this is cross-posted to the BaconMarathon blog)

If you are building an app for Facebook, good information can be hard to find. The Developer Docs do a decent job at getting you up to speed, but don't dive too deep.

A few of my favorite books at the moment are:

1. Facebook Application Development - most heavily used book in my collection. Solid examples, minimal errata.


2. Facebook Applications - Good sample app in the last third of the book that goes beyond simple implementation.



3. Facebook API Developers Guide - Great kick-starter, super quick read. Doesn't dive deep, but lays it out in a readily consumable fashion.

One overall issue - I haven't found a book that uses anything other than PHP. As we're using Java for our BaconMarathon apps, we've had to do a bit of "translation", but it hasn't slowed things down much.

Redfin: The Cost of a Startup

The CEO of Redfin, Glenn Kelman, has a fantastic guest post on Guy Kawasaki's blog.


Glenn provides an incredible amount of visibility into the costs of a startup, providing side-by-side projected expenses vs actual. In particular, I found his comments on the business side of things (lawyers, accountants) to be great advice. Many entrepreneurs (esp. ones that are R&D oriented) aren't aware of the requirements placed on the company when taking outside investment.



Tags: , ,

Peak Energy Demand/Market-based Pricing

California has been going through some rough times the past few days. We've hit a major heat wave that is breaking record highs left and right.

Yesterday, the California Independent System Operators (ISOs) actually called a Stage 2 Power Alert. The power grid delivered more electricity at peak (50,270 megawatts)than had ever happened previously. Apparently the amount of power consumed was forecast to occur in 2011, not 2006! (A Stage 3 Power Alert means that there is more demand than there is power. To keep the system up, the ISOs perform "rolling" blackouts, where different areas have a 100% power loss for a period of time.)

I have a simple solution to this problem. I'm sure I am not the first person to think of this, but then I haven't seen a lot of discussion about it either.

Introduce market-based pricing to energy consumption.

If there is low demand for power, the price of power from the grid should drop. If there is high demand, the price should rise. No more pleas from the Governor of California to reduce power consumption. You can bet that people won't be doing their laundry when the price of running the dryer is double. Businesses will curtail consumption.

A no-brainer if there ever was one.

p.s. Sounds like an opportunity for the right entrepreneur

Aha! I'm not the first person to think about this - good :-)

Tags: , , ,