Hiring, Communication and Investors: Takeaways from Jack Dorsey Interview at Oxford University (Video)

I recently watched a good Q&A with Jack Dorsey at Oxford University. The video is a bit long and includes some history about himself and founding of Square and Twitter. I scribbled down some key takeaways (starting from around 45 min into the video).

  • Instrumentation is important. Twitter didn't have any in the early days. It was a major problem, especially when things broke and the site went down. When they eventually added instrumentation (dashboards and better system monitoring), it made a huge difference. They could now point to the issues (instead of guessing) and actually fix them. Sure enough, when Jack started Square one of the first things he coded was a dashboard to track the system.

  • Twitter had some serious internal communication problems in the early days. Kind of ironic for a company that builds a communication platform. Apparently it was so bad that the Operations group and Engineering didn't speak to each other. As Jack puts it, "Any organizational difficulty eventually manifests in the service itself". In other words, users will pick up on it and the service will suffer. It's super important not to let this happen and a great product/service starts internally.

  • Hire great people who share the same purpose and vision. And let them go when they don't. Jack shares one of his mistakes/regrets from the early days of Twitter (he was CEO at the time). Twitter's technology lead at the time clearly had to go. He was a problem and a**hole to work with, yet Jack was in a pickle because he was the only guy that could bring the site up when it went down. After 6 months of deliberation, Jack finally made the tough call and let him go. He was crying. The team was crying (they were at 7 people at the time). But he said the most remarkable effect from making that decision, was that it allowed other leaders on the team to emerge in the absence of the problem guy that left.

  • At one point Jack says, "If you take money from someone, it's kind of like hiring someone you can NEVER fire." That really resonated with me. He says that when he looks for investors, he does not just look for the popular or well-known VC firms. He looks at the people in those firms and determines whether those are people he'd want to work with. In his case, he looks for people that have actually used his product or service (e.g. Square and Twitter). Interestingly, he added the almost always says "NO" to investors that go straight to a term sheet. The reason being that if they do not ask tough questions upfront or during the pitch, they are not going to ask the tough questions at the board meetings when it matters most. So next time you are thinking about taking money from someone, you have to think "I'm adding this person to my team."

  • When it comes to the product, Jack says "If we constantly react, we are building someone else's roadmap instead of our own vision." It's something to be mindful of especially from influential stakeholders like investors but also applies to customers and sales.

  • How did the brand 'Twitter' and the word 'Tweet' come about? Jack says originally a tweet was just called an 'update'. Also, the name was originally 'Twtrr' (see Jack's first tweet ever). The service was designed around the constraints of SMS (text messaging) so that it could be accessible to anyone in the world with the most basic device like a flip phone (a principle that still holds true to this day). When 'updates' would go out, it would make people's phones buzz. They wanted a name that exemplified this 'buzzing' behavior, so some of the ideas they came up with were 'jitter' and 'twitch'. But those had a negative connotation. One of the guys at Odeo (the incubator Twitter started at) looked in the dictionary and found the word 'Twitter' (defined as "to utter successive chirping noises", "to talk in a quick and informal way about unimportant things"). It was perfect! Later users came up with the phrase 'Tweet' and it stuck.

  • One final thought Jack adds is that there's a lot of effort these days to expand human kind to outer space and beyond. But he sees potential to go the opposite direction. As he puts it, technology provides a model for understanding the depths of the human consciousness. I agree with him on that.

What are your thoughts? Let me know in the comments or even better, on Twitter.

Full video below:

9 Things I Wish I Knew Before Starting My First SaaS Business

I started eCommHub in late 2009 while still a senior in high school. After 6 years on the rollercoaster and growing the business to 30 employees with $7.5M raised, here’s what I’d probably do differently next time around.

#1 Bring in a technical co-founder, at any cost

When I first started eCommHub, I was technical enough to be dangerous. I had built ecommerce websites before and knew front-end web development. I had just recently interned at a Ruby on Rails shop and was amazed by the agility at which one could build a new product using a framework like Rails. So I picked up the Ruby Pickaxe book and got to work.

I never finished the book, but I read enough to know the basics. I started building out a prototype for the idea using contractors on oDesk. I would code and style the front-end views, then have them “wire up” the backend stuff. It was a pretty good system that worked the first year or two (I was still in high school and Georgia Tech at the time).

While this was super scrappy and let me build up a base of a couple hundred “beta” customers (not paying). This early success fooled me into thinking I could get by without a technical co-founder. Instead, thinking that I could later hire a super talented developer or development team to take it over then.

What was wrong with this thinking? Well, a few things:

  • Developers are expensive. Not to mention, incredibly difficult to find and attract in the first place.
  • The developer(s) who inherit the pre-built application do not know its history. They also inherit all the bugs, problems, issues that come with it. This makes them less able to take full responsibility for its success, not to mention makes it difficult to fix bugs deep in the application’s guts without doing a complete re-write of the system.
  • It’s super hard to hire a development team later without having someone technical on the founding team

About a year into eCommHub, around the time I dropped out of Georgia Tech, I actually did go on a hunt for a technical co-founder. We worked for a few months but things ended up not panning out for a variety of reasons. One of those reasons was we could not come to terms on equity. Looking back, this was a foolish mistake of my younger self. If he was the right guy (and he may have not been) the equity should have worked itself out. I think the mindset problem I had at the time was that I was “already a year and a half into this” and I was focused on the past versus solving for the future.

If I was to do it again, I would find the right technical co-founder from day zero and not let something as arbitrary as equity get in the way. There are also common vesting structures that protect the company if someone ends up walking away or not being the right fit.

#2 Don’t raise venture capital too early

I bootstrapped the company for the first 3 years. I got to 150 paying customers and nearly $20K MRR before we took $2.6M in venture capital. (Although, I did raise a small amount of angel capital along the way.)

Looking back, that was wayyyyyyy too early to raise VC money. Why? We had nailed the product but A) product/market fit is not stationary milestone and, more importantly, B) we had not figured out how to scale the growth side of the business yet. Everything up to the point had been inbound and organic. We had no predictable revenue or repeatable customer acquisition process yet.

So why did I raise money? To build a team.

Generally investors look for these things BEFORE they invest, in order of importance: Team > Market > Product. Somehow I had built up a business, but I had not built up a strong, foundational team. The team at the time of Series A was mostly part-time friends of mine that were helping man support and operations of the business (who were doing an awesome job by the way!)

It got to the point where the business was severely lacking resources in key areas (e.g. no dedicated customer support team, no in-house development team or leadership, no sales team even though we were closing some big deals). For instance, we had just closed a deal where the customer was paying $2.5K per month and $10K setup fee but I had to coordinate their implementation schedule around my team’s class schedule and finals. I knew I needed a team that was full-time and ideally one that was experienced. However, it felt like a chicken and egg problem as I did not have cashflow and credibility (or so I thought) to bring in an experienced team.

Now that I write this, it’s pretty obvious we were not ready for venture money. And I think that’s an important lesson as just because the money presents itself doesn’t mean you should always take it.

If I was to do it again, I would not raise VC money until I hit at least $1M ARR. I definitely think that’s doable with the resources available today (e.g. AWS, apps for everything, outsourcing) if you’re starting a SaaS business.

#3 Build an entrepreneurial support system

I met a lot of great people very early on in my journey, starting with Flashpoint the accelerator program I joined in 2011. I met other entrepreneurs that had been through it and were running some of most respected companies I looked up to. I had every opportunity to seek out mentors and advice from some of the best people in the business.

What did I do? I stayed heads down working on my startup. I figured my problems were so unique and times that I had reached out before I did not know how to ask for advice properly, so instead what I got was opinions. I found that the more opinions I got from smart people, the harder it was for me to make decisions.

Additionally, if you know me you probably know I tend to keep to myself. I am an introvert as hard as I pretend not to be. So the times I needed help most, it was that much harder to reach out when I had not maintained the relationships as well as I could have. It’s also hard for someone to provide useful feedback when it’s been 6 months since they’ve heard about the business.

If I was to do it again, I would seek advice from fewer people and I would focus on maintaining a regular cadence with those relationships (e.g. meeting for coffee once per month to talk about the good and the bad). Furthermore, I think every entrepreneur needs a person or two that they can use as a sounding board that’s totally independent. Who else can you go to about issues with your company, employees or investors? I find that other entrepreneurs makes great sounding boards because they have their own business to worry about, thus they don’t have a hidden agenda.

#4 Maintain a sane work/life balance

This one sounds obvious and something you could apply outside startups. But startups are particularly stressful environments because there is so much change and uncertainty. Each week brings new challenges and setbacks that have to be dealt with (e.g. employee issues, upcoming board meeting, new competition, etc.).

I used to deal with the stress by working more. I would routinely skip meals (not intentionally) and pull all nighters thinking I was being productive. I would view holidays and weekends as chances to “get ahead”. I was determined if my startup failed, it wasn’t going to be because I didn’t work hard enough.

Well, amateur mistake. I ended up having surgery 3 times for stress-induced collapsed lungs. That was a wake up call for me to make some life changes and take the whole work/life balance thing seriously. I started focusing on getting full night sleeps, always eating breakfast, “turning off” work at night, scheduling meetings around my makers schedule. Basic stuff, but it all makes a difference.

If I was to do it again, I would approach things like a marathon and not a sprint. The 18 hour work days and skipped meals catch up to you and are definitely not productive in the long run. It’s concerning that it’s almost become a startup badge of honor. It also sets a really bad example when you start hiring employees. Everyone’s work/life balance is different, but it’s important to find what works for you and not blow it off completely.

#5 Invest in training employees better

Startups are strapped for resources. There’s always some position that needed to be filled YESTERDAY.

Typical startup recruiting process: You spend weeks interviewing various candidates for a particular role. They get vetted by multiple members for things like culture fit. You’re half vetting and half selling on these people joining your team. When they finally do, you pat yourself on the back and get back to the next 5 positions you have to fill.

Typical startup onboarding process: Day one, person joins. Person gets walked around the office, introduced to some people. Gets set up with their laptop. Finds the ping pong room. Finds the snacks. That’s the extent of the training.

Intentional or not, startups tend to throw bodies at problems especially when they have money. When they do this, they focus too much on the recruiting and not enough on the training once their employees start.

I’m sure there’s some companies that are much more disciplined and better at this than we were. But we didn’t have any sort of formal process for the longest time and “training” was usually a person buddying up with someone in their area or being thrown straight into problems to solve them. This proved to be inefficient for a business like ours that had lots of domain expertise required.

Looking back, I would have spent a lot more time and effort on training employees about the business, product, and culture before taking the typical startup “baptism by fire” approach.

#6 Don’t hire C-levels right out of the gate

After raising the Series A, I wanted to bring in the best, most experienced people I could find to the business. As a solo founder, I figured building an executive team that was complementary was the best way to do this. I figured it would make later hiring easier as these people would have their own networks to pull on and also provide experience for younger employees to learn from.

What’s the problem with this? Well, 1) these people are expensive. 2) they bring a lot of baggage (cultural baggage) with them, 3) once you fill the C-Suite (including giving co-founders C-level titles), it leaves no room open for later senior hires.

Looking back, an executive team is not a replacement for a strong set of co-founders. And I think the “junior” team and I could have gotten a lot further than I thought, which brings me to my next point.

#7 Don’t place such a high premium on experience

Many startups are notorious for having a workforce with an average of in their 20’s. We were like that for a time. But then later it almost doubled.

I do strongly value experience, but it comes at a price. Experience can save you time (the most precious startup resource) when you have people that have solved a particular problem before. But running everything by the playbook from a last company can be devastatingly dangerous. Experience can blind you from opportunities and cause you to jump to conclusions too quickly before considering all the right options.

Worse, you may have people that play the “experience” trump card to put down other people’s ideas, especially younger employees. This is toxic and should be discouraged at all costs. Experience is a time-saving weapon, but it should be wielded collaboratively unless you want to kill your culture.

#8 Have a partner in the trenches with you

What happens when you bootstrap a business as a solo founder to a hundred paying customers, then raise a Series A and hire an experienced exec team? Well, you end up building an inverted pyramid of a company all on top of your shoulders.

No matter how great your team is and how much you trust your early employees and executive team, the fact is they were not there in the beginning, they do not have the same scars as you and when shit hits the fan, are not necessarily going to be in the trenches with you.

I learned this the hard way when I brought in an outside CEO to help me grow the business. While I built up a rapport and trusted this person, I later learned they were solely motivated in flipping the business I had started instead of working with me to build it into the long-term viable business I envisioned.

Looking back, I wish I had focused on TEAM first, then product and marketing. It’s important to have people in the trenches with you from the beginning that hold the same long-term vision and values.

#9 Don’t drop out of school

Sometimes I still wake up in the middle of the night and worry what’s gonna happen to me in 2030 without a degree. But then I remember I’m an entrepreneur and they don’t really have a great degree for that career path anyway.

If I was do it again, I would probably not have dropped out of Georgia Tech. Or I would have at least stayed a bit longer to finish some of the financial and accounting classes. Sure, “burn rate” and “runway” won’t mean the same thing until you see them in action. But managing the cashflow of a company, especially a startup is crucial to its survival.

I would encourage other young entrepreneurs to stick through school as long as you can. Soak up knowledge and connections while you are there. You may meet your future co-founder there. And don’t forget, it will most definitely be that much harder to go back later if you choose to do so.

Disclaimer: These lessons are specific to my own experiences and not meant to be startup truths. What are your startup lessons learned? I'd love to hear in the comments or write a blog post.

Thanks for reading,

Magento's Project Stratus (Magento without the hassle)

Magento is one of the most powerful e-commerce systems out there. Yet, it's also one of the most cumbersome to get up and running with and then maintain, partly because of its steep learning curve, but also because you have to deal with hosting it yourself. This is why I sometimes recommend more elegant, but less-featured, carts like Shopify.

But starting in June 2011, it looks like Magento is going to release something called Project Stratus. My guess is they have taken quite a hit from hosted shopping cart services like Shopify that make it easy for just about anyone to create an online store. Magento hasn't announced pricing yet, but I'm sure it will be comparable, with packages starting in the $20-30 per month range.

This is great because it will lower Magento's barrier-to-entry and make its feature reach platform more readily available. In other words, you won't need to be or hire a web developer just to get started using it. It will also be a good alternative to more elegant, but less-featured, shopping carts like Shopify.

I'm still waiting on my Magento Stratus beta invitation, but there's probably not much different between it and the regular Magento. In fact, we're currently working on magento integration over at eCommHub, so I'm sure it won't be too hard for us to integrate with Stratus in the coming months.

Don't choose a name for your startup based on domain availability

I sort of touched on this issue for one my recent answers on Quora, but basically a domain name shouldn't dictate what the name of your startup should be.

Godaddy recently made .CO the default for new domain names. Of course part of the reason they did this is because they make more money off the $30 premium for new .COs. But it's becoming more and more clear that .CO is the new alternative to .COM.

So with this new availability of domains, there's no excuse for you to not find a decent domain for your startup. I would much rather see you use a name like MyStartup.co, or even MyStartupApp.co, instead of using some stupid exotic domain ending like .LY or .WS.

It surprises me how many people argue that visitors may accidentally type in .COM instead of .CO, and then they go on to name their company something weird by dropping vowels (like MyCmpny.com or LtstTrnds.com). My guess is that those types of names will be mis-spelled a lot more. But either way, any returning visitor would be able to recognize if they made a typo mistake or not. And for new visitors, it really doesn't matter because your online advertising will link directly to your site or they'll just find you through google.

Just make it easy on yourself and your customers and go with a .COM or .CO.

Best way to manage multiple Gmail or Google Apps email accounts

Having multiple Gmail or Google Apps email accounts can be hard to manage. So it was kind of exciting when Google announced their multiple sign-in option a couple weeks ago. However, I was quickly disappointed when I realized you can't be signed into more than a few (I think 3) accounts at once. Besides, it was still annoying to have to switch back and forth between the accounts.

I found a better solution for managing multiple Gmail / Google Apps emails, which has these benefits:

  • A single, unified inbox to view all your emails in one place
  • Separate reply/from addresses for each each email
  • Separate signatures for each email
  • Easiest cross-platform support for multiple computers or mobile devices (in other words you don't have to set up all your email addresses on each machine)
  • The ability to search all your emails from all your accounts at once

So I have 9 Google Apps emails addresses and 1 main Gmail address. I wanted a way to view all my emails in a single, unified inbox, but still retain all the separate features (like different from addresses, and signatures) for each email.

I was using Thunderbird 3.1 for the past couple months and it got the job done. But it was a pain to set up all 10 emails on each machine separately (especially if each email has different signatures, etc).

I'm not sure if Google made some updates in the past months or what, but everything works beautifully now (because I'm pretty sure I tried this in the past and it didn't work back then).

Anyway, the solution is to forward all your accounts to a single, primary Gmail or Google Apps account. I chose to use my personal Gmail account and forward my 9 other email addresses I use for business.

So here are the steps:

  1. Sign in to the Gmail account you want to use as the "primary" account.
  2. Open a different browser and sign into one of your other email accounts.
  3. Now, go to the Settings > Forwarding and POP/IMAP tab of the other account, and click on the Add a forwarding address button.
  4. In the popup window that appears, enter the email address of the primary account you want to use. (It will send a verification email, so switch back to yourprimary account and accept it.)
  5. After you've verified the forward address, go back to the Settings > Forwarding and POP/IMAP tab of the other account and click the dropdown next to Forward a copy of incoming mail to. Your primary account should appear in the dropdown, so select it. (Also, I prefer to set the other dropdown to "keep Gmail's copy in the inbox", but it doesn't really matter).

Now all the email sent to the other account will show up in your primary account. The next step is "impersonate" each of your other accounts, so that the emails you send out of your primary account still look like they're coming from each of your other accounts. 

  1. Back in your primary account, go to the Settings > Accounts and Import tab. Then, click on Send mail from another address button.
  2. A popup should appear, then enter the the email address of the other account you just forwarded. In the "Name" field, enter the name you want your recipients to see. So if this is a company email, then enter the name of your company, etc. (Also, you can ignore the link that says "Specify a different reply-to address")
  3. Click Next Step and then it will ask you to verify the email address. So click Send Verification and verify the email.
  4. Finally, back on the Settings > Accounts and Import page, make sure theReply from the same address the message was sent to option is selected.

Repeat the steps from the previous two sections for each of your other email accounts.

So now, you'll receive all your emails in your single, primary account. But the beautiful part is that you can send emails from each of your other accounts. In fact, when you reply to messages they will automatically be sent from the email address the message was sent to.

And to set different signatures for each of your accounts, just go to the Settings > General tab and scroll down to the Signature section.

If you want to add some final touches, here's how you can label your emails to keep things organized.

  1. Up next to the search bar, click Create a filter.
  2. In the To field, enter the email address of one of your other accounts. For more than one email address, use the "OR" operator (e.g. you could enter "lloyd@example.com OR poindexter@something.com" without the quotes).
  3. Click Next Step and select Apply a Label. This part is kind of up to you, but I chose to create a label for each of my different companies/organizations.
  4. Repeat these steps for each label you want to create.

So now you have a single, unified way to access all your email from anywhere. If you use an iPhone, it may be worth to check this out too.

Kevin Rose: 10 Tips for entrepreneurs to succeed

Some really good advice from Kevin Rose. My favorites:

"If you don’t need the money, don’t take it. The more you go without taking funding, the more valuable your startup becomes. Don’t let investors take board seats."

I agree. And it's only becoming easier and easier to bootstrap a startup.

"Stop thinking you understand your users. Learn from what they’re actually doing on your site, not what you think they’ll do. It’s okay to kill features, but prove to your users that you have something better."

And it's also important to try not to introduce too many features at once. Focus on what's important and make it work 100%.

"If you really believe in something, you should just build it. If you love it, it won’t feel like work. It’s okay to drop out of college if you have an awesome idea."

Only after that awesome idea is making a good bit of money.