Let’s face it: the Internets are a mess. In switching from Google Reader to Flipboard (since Larry’s pulling the plug soon), I’ve been forced to take stock of my online identity and content consumption habits. We can do better than this, tech people!
I am a thousand different special snowflakes
I’ve recently changed jobs. Naturally, I updated my LinkedIn profile in 30 minutes. But then my Twitter profile also needed to have my title and company changed. And then I noticed my blog is wrong as well. And finally I’m left feeling like the Internets are broken because I don’t know what else needs to be changed. These are the variations of my identity floating out there. This is easy compared to usernames and passwords. Some companies are trying to solve this problem in different ways like Gravatar with profile images and OnePassword for logins. Hoever, there’s a common stupid notion that a big player like Google or Facebook should own all of it. They fight to segregate and own versions of our online identities. I’m tired of these winner-take-all wars that hinder progress. The Gravatar model is the way to go. Profile information in one service that’s simple to use. Someone’s probably already built this for profile info but people have to jump onboard this free one-stop shop concept bandwagon for this to be the norm.
Information is now cheaper than dogfood with horsemeat. There’s a lot of it and no one’s peddling the equivalent of Atkins or South Beach Diets…yet. There are primary sources like Techrunch and then secondary sources like Facebook, Twitter, LinkedIn, etc. There are curated feeds like those provided by the likes of Flipboard or even feeds of feeds like Alltop. I can get the same article from many different channels and pictures or videos to entice me to keep consuming. Very quickly I get a headache. And I haven’t even turned Push notifications on. Facebook used to impress me with their filtering but now it’s just an exercise in branded **** avoidance. Twitter’s branded **** isn’t as bad yet but they just point the firehose at you with no regard for human life. Startups like Flipboard look like they’re trying to do some filtering but so far it seems like they’re more obsessed about how to make everything look like a magazine (suggestion: not everything should be in magazine format).
Both are tough problems whose best solutions require innovations that companies and markets don’t excel at: standardizing services, sharing data freely, and working together towards a larger goal. Take Amazon as a microcosm of the tech world. Jeff Bezos sends out a memo. He decrees that all departments must now define APIs, share data with ease through these APIs, and use this infrastructure to create AWS. This is a pretty loose interpretation but bear with me. Now imagine if Facebook, Twitter, Google, etc. were merely departments of one large company that wants to help people manage their online identities and curate their 2000 daily calories of content. LinkedIn handles the initial update. My friend sees that I changed my job via Facebook a few seconds later only because he’s a close friend. Moo asks me if I want new business cards. Google switches my work email over to the new domain. Granted some of this would be creepy by today’s standards but it illustrates reasons why it’s all a mess. Wouldn’t it be nice for companies and markets to share a purpose or two?
There was a fierce battle of words this week between the New York Times and Elon Musk, the CEO of Tesla. As the story goes, the NYT published a review of the Tesla S that trashed the battery performance and charging system. Elon thought this was suspicious since most other reviewers found it awesome, and Motor Trend says it’s the 2013 Car of the Year. He did a thorough analysis of the log data (whoops, reviewer probably didn’t think of that) and fired back some accusations in a blog post on the Tesla web site. The NYT reviewer fired back with some excuses and by that time the issue exploded. The back story is that Elon had been burned before by the media. A few years ago, Top Gear did a show on the Tesla Roadster and scripted up a dramatic episode where the Roadster’s battery died after 55 miles (it didn’t). Elon sued and lost, since it’s an entertainment show. This time, the usually measured CEO and Tony Stark character model went above and beyond the call of duty for his pride and joy.
Reactions among people vary. Some say Elon should have let the data speak for itself. Some say he should have put it behind him quietly. I think he did the right thing for himself and by his company. If it were a less well-known media source, I’d recommend playing it cool. If it were a less obvious twisting of facts, I’d tell him to let others fight the battle. However, this was the New York Times and this was after many other reputable news sources had given very positive reviews and this was a “fool me once shame on me…” situation. As a leader, Elon knew when to play it cool and when to pull out the big guns. If he had let this go, there would be Doubt in the market. NYT’s word vs Tesla–obvious NYT has more sway today. If he had let this go, he would have invited many other challengers and haters to take shots at him. Maybe this type of sleazy review happened before but this is the first he’s rebutted? If he had this go, he would have let not only his investors down but himself, and more importantly, his employees. If you’ve seen “Revenge of the Electric Car“, you’ll understand that it’s been a long and tough road for his company. Elon’s been fighting all the way to get here and just when the company is about to be mainstream, this liar at the NYT decides to get some page views at Tesla’s expense. I bet Elon must have said:
If you haven’t heard of Planetside 2, it’s about time you got acquainted. It’s a new kind of game described as MMOFPS (massively multiplayer online first person shooter). It’s currently in beta with a launch date next month but most everyone would agree that there’s no way in hell it will be ready by then. Me, I’m confident they’ll be fine because they’ve got elements startups need to emulate.
Iterate, Iterate, Iterate
During the beta, their servers are up from 6am until midnight during the week and 2am until midnight on the weekends. What happens during those few magical hours? They’re looking at data (e.g. how many sniper shots were fired in grid location L5 against main battle tanks) They’re reading the thousands of posts on their forum to distill wisdom. They’re coding away like mad. Welcome to 1-day release cycles. Mind you, they’re not just making minor tweaks. One day, after players had complained about a primary game resource, they just removed it. They iterate on their product really quickly and aren’t afraid to make big changes.
Build a Relationship With Your Customers
If you heard “Sony Online Entertainment (SOE)”, you would probably think about stodgy old men sitting around, smoking cigars. I’m impressed by their tenacity when dealing with clients. Sure, they have a website and a forum and the social media accounts. But then they go beserk with weekly live streaming events called Friday Night Ops. The President of SOE, John “Smed” Smedley, routinely posts on the forums and at first I thought he was a dev. They have a youtube show where they talk about Planetside news and show off fan-produced content. They have personalities like Matt Higby and Margaret Krohn who really know the game and community and are everywhere.
Go BIG or Go Home
Battlefield, Call of Duty, Halo–they all have limits for the number of players on a single player. Typically, it’s 32 or 64. On planetside, it’s 2000. That’s two orders of magnitude, folks. Website where you can see every player’s configurations and analytics? Check, and it’s free. Mobile and tablet apps? Check. Every game mechanic you’ll find in the other top FPS’s? Check. Graphics that will make players broke and computer makers ecstatic? Check. Usually, startups should focus on doing one thing really really well. But sometimes, you just need to go BIG.
A recent HBR video spurred me to think about conflict. Society teaches us to avoid conflict, which is a decent general survival strategy; however, it benefits us to understand why it’s natural and good–especially in a startup.
Conflict is borne from differences. As a people, we’re differentiated by gender, race, ethnicity, education, religion, politics, etc. It’s why we have such a rich variety of cultures and individuals. It’s how we get Picassos and Einsteins. But it’s also how we get serial killers. Each of us has a unique point of view and a rich history of experience that shapes how we think. In a startup, you’ll have a group of people who try to use the sum of this knowledge and experience to make decisions that will ultimately decide whether or not the company survives. The personalities of this group is self-selected from the passionate and risk-taking part of society. Furthermore, startups are usually starved for resources, which inevitably leads to hard prioritization decisions. If you don’t fight for your part, who will?
Without conflict, a startup team is missing voices. If people don’t fight for their thoughts and beliefs, the best solution to a problem may never have been presented at all. People are typically poor at making complex decisions individually. If you have an frontend engineer, a backend engineer, and a platform engineer all discuss a problem, they’ll attack it from different angles and bring a broader set of solutions. If everyone’s a backend engineer–well, it’s really about covering all the bases.
Granted, this is the optimal case. If you have conflict that focuses on personal grudges that taint every discussion, that’s not gonna help. If you have people who enjoy conflict for the sake of conflict, then watch out. If you a wide range of talents (A vs B vs C players), this can make it more challenging. They key is to realize *why* there’s conflict. If you know that the guy across the table doesn’t agree with you because your goals aren’t aligned–that could be an easy road block to remove. If you recognize that everyone’s fighting for the same finite resources–that could be opportunity to reach common ground. Whatever it is…understanding the other parties in the discussion is the key to making good come out of conflict.
Now that Facebook has “quietly” IPO’d, it’s time for Suck to train his army of engineers on more meaningful pursuits. @elonmusk is a good role model. After Paypal, he’s been working on Tesla and SpaceX. Tesla has made electric cars sexy again and SpaceX just launched a Dragon. Granted, the movie “Social Network” was pretty good and it used to be fun thinking of Facebook as David fighting the Goliath, Google. But now, the rebels have become the Evil Empire. What companies are Facebookers leaving for?
Startups are like small countries–if the balance of power is not maintained, bad things like death and destruction happen. The following is a set of scenarios you want to avoid.
All Hail Engineers
The technical half of a two co-founder startup dominates all decisions. He starts out as the CTO but muscles his way into the CEO spot, leaving the business co-founder with a VP of Sales position. The company plans to hire 50 new engineers and a minimal sales staff because the CEO believes the product will “sell itself”. Support is dying for more resources, marketing is dying for more resources, but engineers are paid way over market. This is reminiscent of Facebook in its early days and you’ll find many stories of talented people leaving the company because they were unhappy with the fact that the culture was too engineering-centric. Remember the movie “Social Network” by Aaron Sorkin? Avoid that.
Rowing the Boat
The business half of a two co-founder startup dominates all decisions. He is CEO and there is no CTO, just a bunch of engineers. The company is very sales-focused and eschews things like R&D. Engineering is viewed not as a source of innovation but a team of slaves “rowing the boat”. This makes me think of today’s Yahoo. The talented research team was fired, many of the engineers have jumped ship, and one of its multiple personalities thinks of itself as a content company. Yahoo isn’t a startup anymore, but there’s a strong tendency to forget–especially as startups grow up–that in the tech world you innovate or someone will innovate you out of existence. Without a strong engineering voice, you might as well be walking the plank.
The first two scenarios are the most glaringly obvious ones that are easy to spot–others take a trained eye. When a startup hires a stable of VPs and each one is off to the races on Day 1, it’s hard to have them all run at the same pace. Some departments may not even have a horse in the race! It’s subtle, but you will be able the see the effects of unbalanced power. Instead of quick and decisive course corrections, you’ll get reactionary jerks. For example, when Netflix announced that they were raising prices and killing off their DVD service in a cold email, I suspect something was awry in the top leadership because up ’til then, Netflix was known for its customer relations. They refunded customers when service outages happened, CEO Reed Hastings routinely wrote candid emails to customers explaining decisions, employees broadcasted their uber-flexible vacation policy, etc. Certainly, a balanced leadership would not have supported such an uncharacteristic move?
This is damn hard for a startup. You start with 1+1–that’s easy. That’s a simple handshake. You add a VP or two after you get your Series A–not too bad. That’s a basketball team huddle. You add a few more to grow your other departments after you get your Series B–hm… That’s a football team huddle. You add SVPs and let’s not forget the ever-growing Board of Directors after your Series C–shiznit. That’s a village. It’s a challenge, but the company has to listen and weigh equally, every single voice all along the way, even if some are quieter than others and especially to those voices that are missing.
At 15 crosswords per page and 129 pages, teachers have generated almost 2000 crossword puzzles (it’s been about a month). It’s one of life’s small things, but it’s a nice feeling–that something you built is useful.
In large companies, project management is a must; in startups, it’s a radioactive “hot” potato. Large companies have dedicated project managers and sometimes even a Project Management Office (PMO). Small companies like ours don’t have one and we’re pushing 60 employees now after 18 months. Eventually, it’ll make sense to have a full-time project manager, but until then we want to stay agile so we get by using software, process, and face time.
Use the Right Software
When our Product-Engineering team consisted of CEO, CTO, and two engineers, email was our issue tracker and a whiteboard contained our roadmap. That worked well. Soon we hired a few more engineers and email proliferated. Pivotal Tracker (PT) became our issue tracker (still free then!). PT is simple, light, and an engineering team’s dream–a place where only engineers could hang out. We upgraded to Google Spreadsheets for our roadmap so we can do more sharing and simple Gantt charts. Once we hired some product managers, added a QA team, and started developing many projects at once, it was time to swim in the Olympic-size pool: Jira. Besides being created by a hilarious bunch, Jira does everything. That’s part of the reason we resisted using it early on, since we didn’t want to fill out so many corporate-y fields like “hours worked” (::shudder::). As for our roadmap, it broke Google Spreadsheets and I grew tired of the “aw, snap!” pages. I’m experimenting with a few tools and so far I like Asana and Smartsheet. Find what works for you now.
Evolve Your Process But It’s all About Face Time
We tried to add only as much process as we needed over time. You start out with a fast track from feature conception to release. When you have two people who work on a project, you can sit down and have a heart to heart, nod heads, and then start coding. When a product manager has to convey thoughts to a few developers and a few QA–this is a small team still–details get lost in translation. Not only that, conversations may happen between members of the team that aren’t shared with the rest of the team. Let the frustration and angst begin. For a while, we went with the Product Requirements Document (PRD) approach, which is very monolithic. We’ve since moved away from that. Recurring meetings get moved around and their titles and agendas change. We went from 1-week to 2-week releases. Processes should change when the team changes or when the needs of the team change. It all comes down to getting a bunch of people to share ideas and work together efficiently. All this software and process is meant to cheat time–time to talk to one another face-to-face that is very hard to come by.
Finding a technical co-founder is like online dating: too many guys and not enough women, except you skip the engagement and jump straight to the wedding. Often times, what’s really being asked is “How do I learn about starting a company?”. Check out the title of this hugely popular Quora question: “I am a creative guy with a startup idea. Where is the best place to find a rockstar developer to bring it to life?” There are 35 answers and it has been viewed 19870 times. The wording of this question reveals a troubling conceit–the idea that once you have an idea, all you need is to hire a few monkeys to code it up–then profit! The world is richer and more complex than that, my friends.
1 is the Loneliest Number
Apple had Steve Wozniak, Google had both Larry Page and Sergei Brin, Facebook had Mark Zuckerberg. It’s hard to build successful technology companies without a strong technical co-founder. You really need the wide range of talents from a Marketer, Product Manager, and Designer–it just so happens that the 1+1 combo of a business founder and technical founder can condense this set of skills into two people. With freelancers and advisers, you can keep the team size to two longer, but you’ll be hard-pressed to find a single person that does it all.
Be honest with yourself first so you can be honest with others. Rate yourself on a scale of 1-10 for this role. Figure out what strengths you bring to the table and what’s lacking. Are you ready to be part of a 1+1? Most likely, this means you’ll be solely responsible for the business side of things including marketing, sales, legal, etc. Should you find a co-founder or should you join a startup to learn some skills first? If you’re not a superstar business guy, you will not get a superstar technical guy to work with you, so have realistic expectations.
Highly sought-after women generally don’t need online dating. A great engineer will have six-figure offers from Google and Facebook on the table. For them to pass on those jobs is like ditching a millionaire for a struggling writer. You better be Ernest Frakking Hemingway carrying a dead lion you just killed with your fountain pen. I suggest you make friends with as many technical people as you can. Go to meetups, conferences, Startup Weekend, etc. Make connections on Twitter and through your extended network. Meet your neighbors who may be trying to build the next Instagram (engineers tend to tinker too much and ideate too little). At some point you’ll realize why the term “rockstar developer” is so passe. If you need some technical advice, introduce yourself on Twitter–I go by @mankindforward.
One of the first things I told our CEO when I joined as the first engineering hire was to buy every engineer a 15″ Macbook Pro. I wanted to have a consistent development environment for my team. I created a Google Doc and at first I ran through this How-To personally on every new machine for every new hire. The last 3 or 4 hires were given this doc on their first day and their setup time became part of the “How quickly can I setup my dev box” game. The record is 4 hours but he had most of the dependencies setup. The longest was two days.
It’s All Fun and Games Until Someone Upgrades
In the last 18 months, Apple has changed the processors, memory, and countless other aspects of the 15″ Macbook Pro. OSX has gone from Snow Leopard to Lion to Mountain Lion. Ruby has gone from 1.8.7 to 1.9.3, Rails has gone from 2.3 to 3.1, and I can’t keep track of all the versions of gems that have changed. The development world–it changes fast. How bad could it be, really? Well, I include 4 different manual “patches” in that doc of mine to make mysql work. The working patch depends on whether you have 32-bit or 64-bit OSX, your version of Xcode and mysql, whether you used a tarball or a dmg, whether you use mysql or mysql2 gem, etc. Lately, I just tell new hires to try everything until they find something that works. Even for packages installed via macports, certain version of ports don’t install properly. Some of these can be fixed by editing the portfile with information culled from the Interwebs. Other times, people just give up and use the homebrew version. This is us at 10 engineers.
Development and debugging can often lead to situations where you try to find what is different about a working scenario and a broken one. If a test passes on my machine but not on yours, I don’t want to say “it could be because you’re using Rails 2.3 vs 3.2 or Ruby 1.8.7 vs 1.9.2″ or god-forbid “it could be because you’re using Windows”. Ideally, I would like to say “it’s because you forgot to pull the latest code” or ”your custom configuration file is not consistent with mine”. The more differences between one environment and another means the more variables to consider–follow the rabbit down the hole.
Just as rvm helps engineers manage Ruby versions and bundler, Ruby gems, Vagrant helps engineers manage their entire development environment. With the concept of “boxes”, an engineering team can build Virtual Machine images to suit their every need. Want to onboard a new hire? Give then a computer and have them load your team’s starter box in 5 minutes. Want to roll out security updates to all 500 of your engineers? Script everything up using Chef or Puppet and have everyone download a new box. Want to test how your app would run in Ubuntu rather than Gentoo or OSX? I just did that while writing this post. When do I really need vagrant? For small teams (2-3), you’ll probably live without Vagrant. However, if you want peace of mind or plan to scale, check it out now.