Friday, March 22, 2013

Super Simple (aka Ghetto) A/B Testing

Looking to test a couple variants of your landing page?  Sure there are a bunch of great tools out there, but that takes time/effort to find, register, and install on your site. 

If you’re just at the point (like I am) where you want an easy free way to test landing pages quickly.  This little PHP A/B tester is the simplest way to compare two versions of a webpage.  Here’s how it works:

  1. Save on your php enabled web server as something like test.php
  2. A user will go to yourserver.com/test.php
  3. test.php will randomly pick one of two webpages to send them to (ideally a form/google survey where you can collect output)
  4. test.php will record where the user was sent in data.txt
  5. At the conclusion of the test you can easy grab the resulting text file (in this case called data.txt).  Count the number of visits and compared to the number of conversions to get your rate.  The higher number wins!

Code below.  Happy Testing!

<?php

$filename = 'data.txt';
$somecontent = "Placeholder";

//this will pick randomly spit out 0 or 1
$path = mt_rand(0,1);

// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {

    // In our example we're opening $filename in append mode.
    // The file pointer is at the bottom of the file hence
    // that's where $somecontent will go when we fwrite() it.
    if (!$handle = fopen($filename, 'a')) {
         echo "Cannot open file ($filename)";
         exit;
    }
   

/*for the purpose of this test we’re just sending folks to google.com or microsoft.com.  Replace those URLs with desired content */


    if($path>0){
        //Write $somecontent to our opened file.
        if (fwrite($handle, "Google") === FALSE) {
             echo "Cannot write to file ($filename)";
            exit;
        }
        header("Location:
http://www.google.com");
    }else{
        if (fwrite($handle, "Microsoft") === FALSE) {
            echo "Cannot write to file ($filename)";
        exit;
    }
    header("Location:
http://www.microsoft.com");
}   
echo "Success, wrote ($somecontent) to file ($filename)";

fclose($handle);

} else {
    echo "The file $filename is not writable";
}
 
?>

Tuesday, March 19, 2013

How to Hire Great Developers

A recent conversation highlighted the challenge of hiring great developers.  It’s a tough market – demand for technical talent is exploding and the supply isn’t increasing to compensation.  As the talent war heats up prices increase, and even finding talent is hard since nobody good is every looking (they’re choosing between offers). 

Really, this boils down to a sales process.  There’s prospecting (find the people you want) and closing (convincing them to join you!).  While by no means the end-all in recruiting, here are some tactical tips and tactics that have helped me:

Prospecting

  • Friends – by far the best resource is friends and friends of friends.  Ask around the people who already know and like you to see if they have someone in their network they can connect you with.  If it’s a good fit everyone wins!
  • Presentations – there are a ton of opportunities to give presentations at local meetups and events.  This is a great way to get in front of a bunch of people and get them excited about your company  (which you should be doing anyways!)  The best networking will happen when people come up to you afterwards – talk about qualified leads!
  • Online Press – there are a multitude of online press organizations out there.  You should be active pursuing coverage in all of them.  Especially the locally targeted tech ones will be actively read by developers.  If you make a good enough pitch this will bring the most motivated team members through the door.
  • LinkedIn – last but not least!  Look around on LinkedIn for the talent.  See if you're connected, if not it’s worth buying the contact options.  People are usually quite responsive if you make a respectful pitch.

Qualifying

  • Portfolio – what has this developer done? One the job and on the side are both important.  Have the skills you need been demonstrated?  If not I wouldn’t make the hire. 
  • References – this should be obvious, but is often missed.  Ask past employers, colleagues, and just anyone you can about the person.  Will they be a good fit for your team culture?  Will they stick around?   How can you motivate them?

Closing

  • Have the whole team sell them.  Through in person meetings, 1:1s and group emails – make sure they feel desired by the entire team – not just a hiring manager.
  • Make a great offer.  People in general and technical people in particular are usually 1x or 10x.  The best are worth 10x more than average.  So take compensation off the table.  Make them an offer they can’t refuse (say 2x).  It’s worth it.
  • Sell the mission.  Most developers make more than enough money (and have for their entire careers).  They are good because they are smart and seek interesting problems and fun products far above anything else.  Talk about your past wins and future ambitions.  Show them how their work will change the world.
  • Learn to code.  Nothing is worse than a non-technical person trying to close a technical one.  It just doesn’t work well.  Even if you know a little it will help build the trust that you, to some extent, appreciate their talent.

Friday, March 15, 2013

How Powerful Are You?

At startups we often eschew the notion of politics and power. However, it is an inescapable reality of living as the social creatures we are. As I set on a class on exactly this topic: Power and Influence the professor highlighted the best yardstick for power I’ve heard to date:

Who comes to me for advice?

This metric is particularly effective because it neatly captures both dimensions of trust – Competence and Character.  In order to trust someone’s advice you need to believe in their competence (they will provide you with good data) and their character (they have your best interests at heard.  One without the other (ill intentioned intelligence or well intentioned ignorance) is misleading at best.image

Take a couple minutes to map our who trusts you. By these metrics what does your network look like?  How powerful are you?  And, most importantly, how do the people in your circle of trust map to your needs in the relationship (top) row of the Framework for Happiness?

Wednesday, March 13, 2013

A Framework for Happiness

The greatest enemy of happiness and fulfillment is minutia.  It’s all too easy to drown in the trivialities of life and lose sight of the light that is our true aspirations. In a prior post on Time Management highlighted the importance of having clear priorities in order to apply your time efficiency (importance>urgency).  Since they I’ve had many discussions about just how to go about establishing these priorities.   Over time this has evolved into a very simple one page framework:

image

This is designed to be filled from the bottom up – with each layer building on the one before it. 

  • Ethics - At the core is ethical boundaries.  What are things that you need to always or never do?
  • Motivations - Then think about your motivations and their result (your legacy).  What do you want to look back on at the end of your life?
  • Activities – What do you want to spend your time doing in service of your motivations and bounded by your ethics?
  • Relationships – What are your most important relationships that you need to nurture? What relationships do you need to develop to support your activities?

image

A book I’ve found invaluable in thinking about all of these areas is True North by Bill George.  A staple at HBS’s Authentic Leadership Development class.  The book includes interviews with a large number of the greatest leaders of our society and tells their stories in a series of vignettes. 

 

While by no means a complete roadmap to the rest of your life, this simple framework can serve as an invaluable compass.  When I have some time to myself I’ll think about my priorities in life and fill out the boxes.  Then I keep the framework on my wall and look at it every today to ensure that I’m spending my time on the most important things in my life. Not the most urgent minutia of the day.  That’s happiness.

Monday, March 11, 2013

Less Noise More Signal: Training your Brain

 

Let’s face it.  We’re all addicts. 

The brain naturally desires the path of least resistance  From YouTube binges to Facebook obsessions our inner Id is always trying to take the easy way out.  It’s the mental equivalent of eating cotton candy all day long.

All the digital activities the mind gravitates toward tend to utilize a minor percentage of your processing power.  The more time you spend engaged in this type of activity the more your brain becomes accustomed to operating at this low level.  The more you engage in passive activities the harder it is to snap back to doing more active mentally challenging tasks.

It’s not a respite – it’s a relapse.

The mind operate off of a baseline and resists any deviation for the better. Each time you indulge in the guilty pleasure you train your brain to get lazier.  However, over time, it’s also possible to train your brain to gravitate to be active and seek out stimulation. 

Furthermore, from my experience (admitted backed by no science)the minor use of brainpower is the most pernicious state of being.  You don’t progress (learn/grow/build) and you don’t rest (recover/reenergize).  It’s a no mans land of passive decline.

So what’s the answer? Clean living! Remove the passive engagement portion of your life.  Train your brain to work or rest.  Not muddle in between.  You’ll find you get more done, feel less stressed, and will increase mental acuity.

image

Some tools to help you on your way:

image BlockSi  - A pretty good parental control toolset.  Block your most addictive sites (youtube/hulu/netflix etc).  It’s not bullet proof (since you’ll know the password), but having to go in and un-block something or open a new browser type will help break a habitual activity (alt-tabbing to FB/favorites).

imageRescueTime – A great desktop app that tracks all activity on your computer.  It provides analytics that let you know where you spend your time.  This is your answer to ‘where did the day go?’.  Also – it will help you align your intended priorities with daily activity (how much time do you spend on email vs eclipse/powerpoint/excel?)

Dubious?  Try it for a week.  It will be hard to stick to it 7 days straight, but at the end you’ll be amazed at how quiet the voice of temptation has become.

Thursday, March 7, 2013

Boston Founders–Hadapt

The next stop on our tour of the Boston Founder ecosystem brings us to the Central Square offices of Hadapt where Co-Founder and CEO Justin Borgman sat down with us.  Their mission to build a SQL layer on top of Hadoop.  This was the first real enterprise startup I’ve had a chance to visit. 

I was quite tickled to see the evolution of big data since I was doing ETL and OLAP at Microsoft 7 years ago.  At this point the concern isn’t as much for what data can be processed – it’s all about how easy it is to access.  The easier it is the more people can use it. 

Hadapt is building the layer that will enable Hadoop to plug into the world of SQL – which enables all of the analytics tools built for a past generation to interact with the bleeding edge in parallel storage.

The Justin’s story was really a great and repeatable one.  At Yale in the hopes of getting a VC job he joined the tech-transfer office (they commercialize technology – every major university has one).  After looking at a few projects – he found the work of Dr. Daniel Abadi who was working on a new adaptive analytical platforms. 

Seeing the potential for this technology Justin worked with Dr. Abadi to build out a small team in New Haven.  After raising a around Hadapt’s talent needs moved them up to Boston where they are to this day.  While a seemingly straightforward story, Justin had plenty of wisdom to share:

  • Hire Great  people – In half a glance you can see the rockstar quality in the company’s board.  Justin clearly took the time to seek out and recruit the very best.  He also noted that it’s hard, but critical to be ruthless about building, maintaining, and protecting a great team.
  • Find mentors – It’s highly unlikely that you’ll be able to survive the learning curve on your own.  Finding a great mentor with CEO experience is the best way to give yourself a fighting chance to grow into the role.
  • Pitch to both coasts.  At worst the West can provide higher valuation deals you can shop in the East.  Competitive pressure is always good.
  • The first sale is key – Hadapt closed a Fortune 50 company very early in their lifecycle. And this was done through classic sales (whitepaper download –> call –> meetings) and took about 6 months.  This sale combined with a superstar board of advisors gave investors the confidence to bet big on Hadapt early on.
  • Be where the talent is.  Hiring in Boston is generally hard, but it has a disproportionate number of data folks.  Also, Hadapt has a Polish subsidiary that employs many of the talented graduates known by the Polish PHDs that worked for Dr. Abadi.
  • Enterprise is slower, more strategic, but less of a gamble.

Wednesday, March 6, 2013

Boston Founders–Crashlytics

Crashlytics Twitter Acquisition

Following the acquisition of Crashlytics by Twitter we sat down with co-founder Jeff Seibert to learn about their journey. 

Crashlytics wasn’t Jeff’s first time at bat.  Out of Stanford he started Increo – a document collaboration and sharing product. This idea started from the simple need for online document collaboration tools and evolved into an incredibly robust online document display technology that was acquired by Box.net

After leaving Box.net Jeff started Crashlytics in order to manage the massive and poorly structured crash reporting data generated by mobile apps when they crash.  He built on his professional experience as a developer to create a polished developer tool that all mobile devs need, but which nobody had the time to dedicate to fully solving.

What really struck me was the degree of care and production that went  into everything this company did.  From their website (shown below compared to the FB iOS SDK landing  page) to the slides Jeff showed us – every visible element of the technology demonstrated a true artisanal care:

image

Surprisingly, Crashlytics was built completely counter to the MVP methodologies.  Jeff candidly stated that they did very little testing.  The team relied on their personal experience as developers and personal taste to product a high quality product.  The stated purpose was to avoid design by committee – which often can lead to mediocre products (that nobody hates, but also that nobody loves).

Jeff was also kind enough to capture 5 tactical tips that every startup hopeful show keep in mind:

  1. Incorporate feedback before seeking funding

    • Investors are a great source of information.  Use them to learn and make your product better BEFORE asking them for money.  Ideally, by the time you hit them up for an investment they already love you.
  2. Balance Team

    • Engineers thing that if you build it users will come.  This magic doesn’t happen – there are just too many products in a super crowded technology market place.  Make sure you hire the people you need to make distribution happen.  For most startups today the go to market or customer  needs issues are the key uncertainty – not the product. 
  3. Time Your Fundraising

    • There are two types of investors – Vision Investors and Momentum Investors.  The former invests in a market/problem and a team.  Their hope is your good is big and you are smart enough to get there.  The latter invest in numbers – # users, growth, run-rate etc.  Pitching a prototype wins you neither of these investors.  Vision Investors just need a team and a deck.  So just pitch that.  Momentum investors need users and traction.  Which leads me to:
  4. Investors don’t dots they fund curves:

    • image
    • A curve is defined by three points.  Investors want to see your inflection at three different points while evaluating an opportunity.  I mapped this to the timing question.  Personally,  my goal is to  now have a meeting at the vision stage, prototype stage, and traction stage.  However, Jeff also mentioned that you can do this with less (Pitch to a vision investor with a mockup, customer requests, and prototype).  The caveat here is that Jeff is a proven entity – if you’re a first time founder you’ll probably need more.
    • Take investors out of the office.  Make your pitch in a casual environment (coffee-shop etc.).  And make it a real human interaction (where they are inclined to say yes)– not a pitch (where they are inclined to say no). 
  5. Maximize First Time Experience

    • This was a huge and really unique part of Crashlytics.  They essentially worked quietly for a long time on a great product and then released it.  There was no big  public beta or hopes that they’d fix issues in V2.  They made a big bet, polished every element to the nth degree and launched.  This resulted in a HUGE splash and customer WOW experience that drove the majority of their positive PR  (and acquisition). 

This visit to Crashlytics was easily one of the most surprising experiences I’ve had in Boston.  I was expecting a classic developer-driven lab that rolled out simple no-frills developer tools (Android I’m looking at you!). 

Instead, we found the Apple Computers approach to SDKs (no surprise Jeff worked there).  Simple, slick, and beautiful tools to give the cubicle warriors the same great experience in the office that they’ve gotten used to in their personal consumer lives.