One of the most common questions I get asked when talking about the history of Shutterstock is: "Did everything change after the IPO?" And my answer is always the same: "Hmm... Nope!"
Shutterstock has always been composed of a bunch of people who love startups. We arranged the company to act and feel like a collection of startups, rather than a monolithic behemoth. We were able to carry that attitude through the IPO, and we still actively maintain it today.
There are a few key elements to our approach that I think have let us maintain our startup feel:
1. Small Teams:
There are many advantages to small groups of people. Communication is more efficient, information flows freely and personalities are easier to navigate. As we've grown, we've tried to maintain the advantages of small groups by creating teams with focused, specific goals that they help create. We've grown the organization by establishing new teams to tackle a business initiative, or by increasing the size of existing teams until they're ready to split into two.
Small teams can't get much done unless they can fulfill their goals autonomously. To do that, teams need two characteristics:
- They have to be cross-functional and independent. All our teams are staffed with this in mind, so they contain software engineers, Q.A. testers, user-experience developers and product owners.
- The rest of the organization has to refrain from interfering with them. This piece is usually the hardest, particularly at a growing company with lots of smart people who think they know the best path forward. That's why a few of us make it our mission to nudge would-be meddlers in a different direction, letting the teams remain blissfully focused.
As a company grows, so do its business rules and codebases. If you don't encapsulate that growing complexity, it becomes more and more overwhelming. When that started happening to us, we decided to silo functionality in restful services. We're still hard at work on this, but it's clearly a better world. Interacting with old, monolithic codebases is a hairy process -- who knows what unseen systems might rely on the one line of code you'd like to modify? Service-based architectures, however, are a pleasure to hack on -- they have well-defined interfaces, comprehensive test suites and total isolation from other systems.
Just as a codebase grows, so too do its operational requirements. Shutterstock started as a single web server in a Texas data center, and is now made up of thousands of servers spread across multiple continents. But throughout that time, our goal has always been to make the development and deployment process as simple and fast as possible.
These days, we're doing our best to match the feature set of services like Heroku in our own deployment process: we run our own cloud using Openstack, our deployment system ties into Github and Jenkins and everything is controlled via a nice web interface.
5. Hire the Right People:
It takes a special sort of person to thrive in a startup environment, so hiring the right people is an important ingredient to our success. We look for people who are active in the open-source community (where flexibility and good communication skills are great benefits) and who are naturally curious and excited about technology (and therefore open to learning new ideas). Creativity, independence and humility are also key, as they make it easier to navigate our small teams.
6. Stay Weird:
To me, one of the sadder realities of most growing companies is a constant, silent push towards a more boring, inoffensive culture. That contrasts sharply with most startups, which tend to be full of risk-taking, opinionated, and stubborn characters.
At Shutterstock, we've delayed the reversion to an uninspired mean by letting different teams and groups in the company develop their own culture. Sure, we have company events that project a certain overall attitude, but what people tend to identify more with is the culture of their team, whether it's our whiskey tastings disguised as Front-End video nights, an unspoken beard rivalry among the architects or a refined appreciation for awful computer humor among a subset of our development team.
Shutterstock has enjoyed tremendous growth over the past few years, but as we've grown, we've done all we can to keep the spirit of the startup alive. I'm happy to say that there are no signs of our strategy petering out, and I'm hopeful that by continuing the same approach, we'll be able to keep growing, while still feeling like that small startup with a single server cranking away in Texas.