Building AlphaSights stone by stone
After the founders, the next two employees of AlphaSights were software engineers. From the beginning, AlphaSights was built on a foundation of exceptional employees enabled by great software. Our engineering team of two was located in a startup hub in Cambridge, whilst the founders were running things from a shared office in London.
Starting to build
Prior to having our first customer, opinions diverged wildly as to what our optimal processes should look like. We built in all directions. Days were divided between brainstorming and coding. Every other week we'd have an extended brainstorming session where we pulled out all the stops. We built three versions of something. We argued for weeks about the copy and the exact user flows. Only to throw it away and try something else.
Customer Number One
One day, our colleagues in the London office went quiet. Complete radio silence. Then news arrived, we had signed our first client. This changed everything. Suddenly we were no longer speculating, we had very real requirements. In an instant we knew so much about what we needed to build. In hindsight we should probably have thrown away the codebase at this point and started over, it was filled with concepts that never would be used and that took a long time to remove. But if we had, who knows if we ever would have gotten off the ground.
Getting in the zone
The mission was now clear. We were building as fast as we could. Every week new features emerged. Many of our features were geared towards internal use, which turns out to be a surprisingly positive experience as a developer. You can see the instant effect it has on the productivity and the happiness of those around you. You get direct feedback and see how you're directly contributing to the growth of the business.
As the rest of the business grew, so did our team. Eventually the engineering team joined the rest of AlphaSights in London and in January 2014 the team expanded to our NYC office.
Many software projects fail, and so did some of our early attempts. But a lot of what we built was successful and saw usage take off. So what did we do right?
From day one we approached our internal software with the same rigour that other companies might put into their end-user facing products. This I believe, has been a key factor to our success.
We built iteratively based on real requirements. We got ourself into a position where we could ship stuff and get feedback from our employees hours later. Initially we bulked up features into releases, but we were quick to embrace continuous delivery so that features could fly out the door as soon as they were ready.
We learned from our mistakes. At one point AlphaSights got so big that that shipping to everyone at once made it difficult to receive clear feedback. You could hear the loudest voices, but you didn't know if they represented the majority. So we introduced feature flagging, allowing us to roll out features to a smaller test group and receive concise feedback, and then later release features globally with full confidence.
Together with the rest of the AlphaSights, the team developed a culture of constantly seeking improvement and challenging the status quo. Where some got stuck on a given framework or practise, we have always been willing to invest the time to follow along when upgrades or a superior solution becomes available. Everyone on the teams loves to delete code. The same applies to the development processes that we put in place. We took bits from Scrum and XP, but never at face value. We always kept trying new things and questioned whether we were doing it right.
Now let us change everything
We're just getting started. Even though our first application has made it all the way from Rails 2.0 to Rails 4.1, and we're running a very successful business on top of it, we're still committed to radical improvements. We're rewriting our front end in Ember, we're redoing our core user flows. We're ripping out parts of our applications and turning them into smaller services. Not just because we can, but because AlphaSights is growing and what was acceptable before isn't going to be good enough tomorrow.
At the same time we're committed to helping AlphaSights scale efficiently, to attack new commercial opportunities and to help provide the flow of new hires that will enable us to keep growing at the pace that made us the third fastest growing company in the UK in 2013. By headcount the engineering team is now only a small part of AlphaSights, but our ability to make an impact has never been bigger.
We're always looking to improve the team, so whether you are are doing Ruby, Python, Ember, Clojure, interaction design, web design or just care about pushing the envelope of web applications please get in touch or stop by one of our offices. We're also happy to work with remote team members if you're in an overlapping time zone.