The Acquisition of icanmakeitbetter
Learn how icanmakeitbetter acquired Elixir for better scalability.
About icanmakeitbetter
icanmakeitbetter is an insight community and feedback platform with integrated surveys, live chat, focus groups, discussion forums, digital journals, ideation, and panel management.
How did it start?
The story starts with an entrepreneur, a few slices of pizza, and a dirty napkin. See, icanmakeitbetter was a tech startup.
In 2011, Paul Janowitz was a young entrepreneur with a growing market research company and an idea. He came to understand that asking folks the best questions, even with excellent effort and world-class analysis, wouldn’t mean anything if you asked the wrong people. He met with Bruce Tate over pizza to talk about ways to automate the process of building research communities to find and engage the best customers. They brainstormed and sketched, and days later icanmakeitbetter was formed. Alas, that first napkin went into the trash because of irredeemable sauce stains.
The freshly merged company had just two programmers, and one worked his first full year from New Zealand. They stood up a product quickly and landed a few whales to feed the company as it grew. They knew the business model would be fluid, so they chose a software stack that optimized the developer rapid-prototyping experience. Scalability could come later.
Growing the business
Over the next few years, the young startup tweaked its platform to home in on a business model that could better scale. They encountered several technical problems along the way. Their initial idea platform scaled easily because it was built primarily of pages that were easy to cache, and because the traffic moved to the platform organically, with a steady, equally distributed traffic load throughout the day.
As the company moved into new areas (including surveys), performance problems emerged. Complex survey platforms are tricky to scale with caching because the content and structure of each page depend on the answers to questions on previous pages.
Survey platforms also depend heavily on email and push notifications. When a researcher invites tens of thousands of people through an automated invitation, they tend to show up at the same time. Since it’s tough to determine which surveys will have high completion rates, the traffic can be unpredictable. The platform started to show signs of strain under the weight. The caching strategy wouldn’t work anymore, and Bruce started looking for potential solutions.
After attending dozens of conferences internationally over a two-year period, icanmakeitbetter landed on Elixir to solve these scalability problems and to offer more interactive experiences to their users.
Note: Elixir was a functional language with strong concurrency and fault tolerance, so it would scale.
The fledgling language supported an advanced and readable syntax with excellent metaprogramming, so it would support their highly productive programming environment. The Erlang foundation underneath Elixir gave the team confidence in long-term stability and reliability.
Bruce began to get involved with José, the creator of the language, and other members of the community to help jump-start the libraries, conferences, and publishing that Elixir would need to emerge as a serious language. They hired Elixir’s second committer, Eric Meadows-Jönsson, to give the language some stability. Then, icanmakeitbetter first launched an Elixir chat application blending the concepts of quantitative and qualitative research. When that project proved successful, they then migrated their core survey platform to Elixir, and the company started to see benefits trickling in.
The icanmakeitbetter team assumed their association with this new technology would make their company more attractive to potential suitors. Better technology meant better scalability and stability. We’ll soon see how this assumption wasn’t necessarily accurate.
The acquisition
While the technical team worked on the long process of migrating to their new language, the business side of the company was enjoying newfound success with their research communities. At a time when traditional research firms were having trouble growing, icanmakeitbetter grew because they found ways to better engage their customers by providing research communities, leading to a sense of connection and better research.
Others noticed too.
Then, the questions started coming, fast and furious. Initially, Shaun was quite concerned about adopting a new language, based on the difficulty of finding developers and tools to work with it. As a good businessman and experienced CTO, he understood what could happen when good developers adopted leading-edge technologies for the wrong reasons. Let’s hear what he had to say, in his own words:
Shaun’s comments show that adoption is more than a technology problem. He had some well-founded concerns about acquiring a company in the midst of transition.
Over the next year, progress slowed. icanmakeitbetter didn’t stop working on the Elixir migration, but the focus was divided across some features they needed to build to stay competitive and maintain growth. As their platform stabilized and gained critical mass, they started to deliver new features at an accelerated rate.
As this story unfolded, Bruce began to think of Elixir in a different light, through the eyes of other early adopters. He spent two years speaking about technology adoption, making it easier for developers who were struggling with older technologies to make a case for Elixir based on the needs of their businesses. In short, he was helping adopters to discover new questions to ask and where to go to find the answers.
Leadership questions for early adopters
As the startup joined the acquirer, Bruce and Shaun began working together more closely. Bruce invited Shaun to ElixirConf 2016 in Orlando, and the two attended other events together. They began working on the political side of technology adoption, asking themselves the following questions:
- How do we fully involve upper management stakeholders at the earliest stages of the decision process?
- Where can we find developers to work on new technologies?
- Where can programmers go to learn about how to write functional, concurrent code?
As we get deeper into this course, we’ll see new questions form about each of these topics. We’ll also cover the interviews with others who dealt with some of those questions before us.