Is Wentworth more entrepreneurial than Harvard and all of the UMass schools combined?

February 15, 2012

I was looking at the numbers today for the Boston Tech Talent Fair coming next Wednesday and was very excited: over 400 job seekers signed up and 30 companies committed to attend hiring for both internships and full time roles in business and engineering roles.  But what was interesting was when I looked at the numbers for which schools had the most signups…

BU – 81
Hult – 67
Tufts – 42
Babson – 36
BC – 28
MIT – 26
Northeastern – 15
UMass Boston – 12
Wentworth – 11
RISD – 7
Yale – 7
HBS – 6
Harvard – 6
MIT Sloan – 5
Suffolk – 4
Brandeis – 4
UMass Amherst – 4
UMass Lowell – 3
Brown – 2
Bryant – 2
BYU – 2
Emerson – 2

So a big high five to the folks at Hult International Business School, Tufts, Babson and home team, BU. But wow…there’s some serious under-representation at all of the UMass schools, Harvard, Suffolk, Brandeis, Bentley, and Olin...who didn’t even have one sign up…ouch!

So, if you go to any of these schools and know anyone you can help spread the word to…please do! I know Harvard, Suffolk, UMass and the other basement dwellers on the list have more entrepreneurial students than this! We all know at least one professor, student group leader or administrator at our alma maters we could pass this along to.

To make it easy, here’s a message you can use:

Hi <name>,

I wanted to let you know that there’s a big Startup Career Fair put on by the people over at Greenhorn Connect next Wednesday, February 22nd at the BU School of Management right at the Kenmore T stop.  If you or any entrepreneurial minded students are looking for an internship or full time job, this is a great opportunity to meet 30 growing Boston area companies!

<Your School> is way behind the leading schools in registration and I wanted to help show we have lots of great students interested in startups too!

You can learn more about the event and sign up here: http://www.greenhornconnect.com/careers/Boston-Talent-Fair

Thanks!

So consider this a little social experiment and request to help us pack the place on Wednesday!  If we want our ecosystem to finally fix our student retention problem, events like these have to be big successes and that starts by getting the students aware and out the door heading to them!

I appreciate all your help and the communities support to get us this far!


Continuous Deployment: Possibility or Pipe Dream?

November 23, 2011

For those in the Lean Startup world, the utopian version of product development is continuous deployment.  It means every engineer is deploying code multiple times a day, often even on someone’s first day of work.  It’s also exceptionally test driven, reducing risks of bugs taking down the entire system.  While many startups aspire to this, few have succeeded, which is why it was so exciting to have Brett Durrett of IMVU come and speak to the Lean Startup Circle Boston Thursday night.  Brett is VP of Engineering at IMVU, which coincidentally happens to be Lean Startup Guru, Eric Ries’s startup he spent many years helping build before becoming the movement’s biggest evangelist.

{Note: Brett’s presentation was awesome but hasn’t been posted yet. I’m embedding his Lean LA version as a reference until it can be posted.}

Continuous Deployment at Lean LA

View more presentations from Brett Durrett

In a nutshell, continuous deployment breaks down into 3 steps:

  1. Develop a feature
  2. Test it
  3. Deploy it

But why would you do continuous deployment?

The reason for using continuous deployment hits the core of lean startups: more iterations. Whether funded or bootstrapped, there’s a limited amount of time to iterate and nothing speeds iteration like getting new features, site tweaks and updates out faster. Continuous deployment forces you to break down all your features into bite size chunks which can save you building massive features when you can confirm it with much smaller steps. It also minimizes version control issues if no one is working on a long term project based on old code.

It also makes your engineers more efficient. Is it easier to find the problem with freshly deployed code that has 10,000 lines in it or 10 lines? Is it easier to get engineers up to speed on a system that expects them to write a micro feature or build a major piece of the system?  If everyone writes their own test code, you have greater accountability across the entire engineering team (you have to fix what you break) and you don’t have to hire a QA team stuck cleaning up everyone else’s mess.

The Continuous Deployment Process for Engineers at IMVU

After convincing us why it matters, Brett walked us through the process for an IMVU engineer.  Once an engineer has finished building their bite size feature, they walk through all of the following in less than 15 minutes!

1) Engineer runs the test in their sandbox.

To keep from clogging the deployment and testing systems everyone shares, engineers first run some basic PHP tests on their own system to ensure the code is ready.  (Note: they don’t do branches in the repository; the brand in the code instead.)

2) Engineer runs testing on main system

After passing the tests on their computers, they enter the queue for the main testing system for all over IMVU called Buildbot. They have tons of tests so you tag your code based on what parts of the system it affects and what it’s for. This optimizes the right tests to run and which can be avoided. (Running every test would take over 8 hours.)

On average, it takes about 8 minutes to run all the tests needed.  They’ve achieved this speed because they have 40-50 instances running just for testing.  They’ve also discovered that 12 minutes or less is the optimal time to have testing take and keep your engineers happy.

The most common slip at this stage is a missing tag, which means a needed test isn’t run.

3A) If all tests pass, the engineer now deploys the code. 

3B) If any of the tests fail, the engineer reverses their commit.

With the rate the whole team is deploying and testing, their’s no time to have people fixing while they’re in the system. Therefore, regardless of the issue, the engineer will reverse their commit and go back to fixing the problem on their machine and starting the test and deploy process from the beginning.

4) Deployment occurs in pieces

Currently, IMVU (with over 50 Million registered members) has 800 servers in use.  When they deploy new code, it starts out on just 35 servers. This ensures that if something goes wrong, it doesn’t take the entire site down.

5) Testing continues after deployment thanks to the Cluster Immune System

Even after deployment, they’re still testing, just in a different fashion. They’ve developed their own tool called the “Cluster Immune System” which monitors key site (speed, system performance, etc) and customer metrics (revenue, registrations, etc) to make sure there hasn’t been a dramatic change.  Even the best tests won’t notice an engineer accidentally made a blue button on a blue page; the tests will see the button is still there and works, but won’t realize a user can’t see the critical sign up button.

This system runs on those 35 servers they use as a live test bed. If anything goes wrong there, they prevent it from deploying to the rest of the system. If not, it’s deployed system wide to all 800 servers.

An audience member asked about “what if you don’t have massive traffic you can segment to test a new deploy?” Brett said it’s an advantage when you’re bigger, but until then, you may just run at Cluster Immune System to monitor a system-wide deploy.

The best news of all of this?  IMVU plans to open source the Cluster Immune System (CIS) soon.

6) If all CIS testing is passed, deploy to all servers, but continue monitoring

Even after deploying to all servers, they still monitor for anything unexpected. If they see anything alarming, they’ll roll back and remove the feature.

This entire process takes only 10-12 minutes.  Only one engineer can be in the Buildbot testing phase at a time, but as soon as you enter deployment (step 4, above) someone else can enter buildbot.

This process sounds great, right? But it seems so sophisticated…how do you get started? Brett covered that too..

Getting Started – How do you actually do this?!?

Getting started is a different process depending on if you’re an established company or just an infant startup with limited traffic, but either way, there’s great ways to get started:

  1. If you’re a small startup - Start with a sandbox for each of your engineers and just focus on pushing code quickly and in small chunks.  You can develop your testing as things break; that’s how IMVU built their system.
  2. If you’re an established company - Start with production (ie- the last step before deploying code) and automate that process. Start building tests for whether something should be deployed or not.  Work to get the automated tests as good as the human part of the process. Once you’ve accomplished this, keep working backward to continue to remove humans from the deployment flow.  At first, you should err on the side of preventing problems then clean up your tests to be efficient.

Whether big or small, the same key rule applies: Anything can break once. Then you have to make it so the same thing can’t happen again by writing a test for your mistake. This builds both accountability and builds only the tests you really need…one step at a time.

Pitfalls

Like any system, this isn’t perfect. There are challenges both with getting personnel buy in and in scaling this:

1) Philosophy- Blameless systems

It’s not “Ned broke this!” it’s “How did we let that fail get through our system.”  Brett really emphasized this important difference. It’s a philosophical buy in required to really make this work best.

At IMVU, they hold regular “Blameless Post Mortems” to discuss issues that slipped through.

2) Optimize your testing

As you grow, more tests will be required. You should optimize for which tests actually need to be run for a specific line of code (as they did with tagging) and purchase sufficient hardward to make tests fast. IMVU also found they could save a tremendous amount of time simply by optimizing the order the tests run, by running the slower ones first (a 22% time saving).  They also then built in dependency in the testing (ie- if Test B requires you pass Test A to work…make sure Test B runs second).  Finally, sandbox testing of high level issues kept a lot of code from entering their “1 engineer at a time” test system by having everyone be able to test it on their own machines first.

3) Outsourcing doesn’t work well

This sort of system requires a cultural buy in that IMVU found couldn’t be instilled well remotely. It also proved difficult to manage the testing system whenever some engineers were in a different time zone.

4) Complex fails are harder to find

Brett still occasionally finds issues don’t fail during the work day…and being VP of engineering it means he gets the 3am calls about such issues.  They also struggle with MySQL and memcached issues, which has led to separate systems being developed to deal with them.

The key principle in all of this is that continuous deployment is a constantly evolving system. It is not perfect. However, taking it one step at a time will help you build a formidable engineering process that allows your company to move faster than you ever thought possible.

Ready to try to bring continuous deployment to your startup?


My thoughts on #BetterMA: How to Retain Gen Y

June 8, 2011

Yesterday was the “Cultivating Talent: A Building a Better Commonwealth Forum” at the beautifully restored Paramount Center. The goal of the event was to discuss how Massachusetts can better engage and retain Generation Y. While I was expecting a lot of rhetoric and empty conversation, I was pleasantly surprised that the majority of the event had very productive discussion and moved past stereotypes and un-actionable obstacles (sorry, the weather isn’t changing and neither are T hours).

Attendees were encouraged to share their ideas after the event via their blogs, so I’d like to share a few of my thoughts:

Give the “Stay Here” program a facelift.

During audience Q&A, I asked Governor Patrick about the program and suggested they get a better name ASAP.  As a Gen Y’er there are few things less appealing than the command, “Stay.”  We’re an aspirational group and like to think that we’re all blazing our own trails.   Phrases like “Stay Here” run counter to that as it feels like our parents asking us not to go or just a group begging us to do something we’re not interested in (one tongue-in-cheek audience member proposed the change, “baby, don’t go!”).

So what’s the solution? (as the Governor rightly put me on the spot for my suggestion)

I like “Grow Here”, but “Develop Here”, “Be Here” and “Build Here” all work too (note: because of the overarching Mass, It’s All Here program, it has to end in “Here”). The key to me is that the phrase should be inviting and encouraging; I want to know there’s a great party going on and I’d be a fool to miss it. I would also like to know that you understand Gen Y and know that graduating college is just the first step in a career filled with growth and opportunity.  “Stay here” feels like that needy girlfriend you dumped when you went to college. “Grow here” and “Be here” feels like that experience you had at that awesome party you found on the second day in college and never seemed to truly leave.

The Simplest Solution – Give Us Fulfilling Jobs.

Diane did a great job in pulling the panel back from a downward spiral into the same, unlikely-to-be-fixed issues that have plagued many similar events – T and bar hours, cultural complaints and high cost of housing.  She reminded everyone that young people regularly happily cram themselves like sardines into tiny, overpriced apartments in NYC.  If we’re happy with our work and our immediate environment, we’ll happily make sacrifices in other areas.

As reported recently in the New York Times, “the unemployment rate for 16- to 24-year-olds is a whopping 17.6 percent.” If you included the number of people who have jobs unrelated to their majors, but are waiting tables or doing temp work, the number would grow even larger.  I refuse to believe that 1 in 5 (or more) of my fellow Gen Y members is a total unemployable loser.  The fastest way to retain our local graduates is to give them challenging, interesting jobs.

We have to find a way for these better opportunities to be as visible to students as those stuffy, entry level, soul-sucking jobs at finance companies and other conglomo-corp type companies. As I wrote in my contribution to Kirsner’s Globe piece…we need to Go to Them!

Smaller, more interesting companies obviously have less bandwidth, but that just means you need to get creative.  Leverage your existing staff to start with the schools they went to; they’re likely to know how to get around some of the dead ends in the schools career services department; even Northaestern, (where I went) #1 in job placement after graduation, has an ineffective career services department…it’s the co-op program that gets everyone their jobs. So also think about getting an intern or two. They’ll be cheap and a great way to test a young person’s talent before you invest in a full time offer.

There is great complexity in the challenge of motivating and retaining an entire generation. These are just 2 areas I think we can immediately improve.

How would you improve things for Gen Y in Massachusetts?


Why you may not want to talk to panelists after events…

February 16, 2010

As I’ve been out in the community going to events and spreading the word about Greenhorn Connect, I’ve seen my share of panel discussions.  One lesson I’ve learned from all those panels is that regardless of how the panel itself went or if you think you have a great idea, question or thought to share with a panelist, you generally don’t gain much by approaching panelists after events.

Every conversation with a panelist has generally gone the same. They’re tired. They just want to go home/run and catch their plane/get a drink.  They’ve heard a million pitches thanks to all the other panels they’ve been on and so they’re usually on autopilot in the conversation trying to just find the quickest way to the exit.  I totally understand this and respect this.

So what do I recommend you do instead?  If you have a great thought…make sure you share it during the Q&A. If you didn’t get to…use it as a conversation topic with other members of the audience. Anyone who doesn’t run up to approach the panelist is also likely to be more interested in making meaningful networking connections and share good conversation.

Please don’t take this as a jab at panelists. In fact, this is more of a recognition of the difficulties of being a panelist. It is rightfully tiring to be on a panel and usually if you’re part of the panel, it’s because you’re an influential/important person in the area of discussion, which likely means you’re insanely busy.  I also know that many people are dying to talk to you just so they can say they did or to dump their pitch on you or push their business card down your throat.  I never want to be that person and so I generally now make it a rule not to bother approaching panelists I don’t already know well.  I’d rather talk to a few more of the people in the audience that obviously shared my interest in the topic of the panel and make those meaningful connections that won’t just lead to the awkward “I’ll contact you in a month or two” and “sorry, I forgot my business cards” kind of discussions.

**Disclaimer #1** If you have something exceptionally relevant to discuss with a panelist and this is the only chance you’ll ever have to talk to them, then by all means, approach them. I think in general though, you’re better off working through your network to get an introduction to the person; this qualifies you and gives more context than “another eager audience member that wants to give me their card…”

**Disclaimer #2** If I’m ever on a panel, please don’t think this post means I don’t want to talk to you. Just realize that you should have more to say than “you should hear my pitch” or  ”I’d like to meet you.”  Is there something related to what I’m working on or something I talked about in the panel that’s particularly relevant to what you’re doing or a question you have?


Startup Weekend Report: Friday

December 5, 2009

I should be asleep right now….but I’m too excited about my team and our idea to sleep right now. I’m also inspired to share the experience for those of you that can’t make it:

Friday was a really fun night.  Pizza, beer and good networking started off the night.  After a healthy hour of that , we all sat down for some introductions by the founder and some key people in the audience.  Marc Nager, the organizer of the event, went through all the great sponsors (yes, Greenhorn is one…but the help I gave is nothing compared to the amazing donations by Microsoft, Sun,  and some others) and talked a little about how the event would go.  Then, he introduced us all to Shawn Broderick of TechStars and gave awesome State official, Jason Schupbach, a chance to speak. Jason was kind enough to give a plug to Greenhorn Connect as the resource hub for local entrepreneurs.  A lot of people approached me at the next open portion of the event, specifically because of what he said, so thanks, Jason! After all those intros, we got into the ideas…

It started with about 20 people raising their hands saying they wanted to pitch ideas, but by the end, 31 ideas were pitched.  We had everything from a yard/garage sale app to a meeting scheduling tool to plug in to emails to a custom, crowd-sourced label maker for alchohol to a video game, that according to the presenter, gets you “high”.  After all those pitches, we had to narrow it down, so we were given 30 minutes to go talk to those that pitched before “voting.”

In true entrepreneur fashion, we voted with our proverbial “wallets.”  Marc gave us each $2 we could put in any envelope(s) we chose (each idea had an envelope).  Money was then tallied and given to the pitchers.  With the money in hand they were congratulated for getting “your first investment.”  People were then instructed to find their team.  I started out talking to a team that had a couple of my friends and fellow Darties on it that was related closely to the interests of Greenhorn.  However, the lure of the idea that really stood out as the only one totally meeting my criteria was too much and I jumped over to work with them.

My criteria for picking the company to work with was very simple:
A) Clear way to make money from the start
B) An idea that could be broken down enough to create a nice demo/alpha in the weekend

So the idea that worked best for that I felt was the Media Release Date Aggregate. Their pitch was simple, yet brilliant: We all have favorite movies, artists and authors whose release of their work we anticipate greatly. It’s a chore to manage and stay aware of when those are coming out (I currently manually input them in a special google calendar, which is tedious).  So, their solution is a site that pulls it all together in one place. You just mark what you’re interested in and they let you know when it’s out.  Revenue can come from 2 great channels: 1) big studios and labels can promote their items on the site to targeted customers and 2) Users will be given links to buy their movie tickets, go to amazon and buy the book/cd, etc (landing a sweet referral fee).  Appreciating the simplicity and definitely being a potential customer has me sold.

Our team was on fire as soon as we met; we formed a team quickly and ran off to chat and eventually took over a white board and started ironing a lot out in just a little time.  We  have a great spread of talent too…4 developers, 3 business/social media people and a lawyer.  I can’t wait to see what we do.  As I write this, I just got a sample home page mock up from one of the developers. That’s when you know you have a great idea…you can’t help yourself but pour in ideas.

I’ll try to tweet out a few things as we progress tomorrow and write a report tomorrow night, so stay tuned. You can follow my tweets @GreenhornBoston and @Evanish.


Follow

Get every new post delivered to your Inbox.