Behind the scenes: How 6 Boston tech companies chose their tech stacks

by Justine Hofherr
August 24, 2017

With so many programming languages on the market, we often wonder how and why dev teams choose one tech stack over another. That’s why we asked six Boston startups to give us a behind-the-scenes glimpse of the coding languages they use to power their technology, and how that tech shapes their company culture.

levelup
Photo via LevelUp

LevelUp’s platform brings merchants up to speed with the latest technology by powering their mobile-payment loyalty programs and allowing customers to pay for their purchase and redeem rewards with a single scan or tap.

Responses via Seth Priebatsch, CEO

Give us a brief rundown of your technology stack.

Ruby on Rails, Postgress, Swift, Objective C, Java and Kotlin.

How did you decide what tech to use and what not to use?

We work hard to take a "right tool for the right job" approach to our tech stack, but our core platform is  of a set of Ruby on Rails apps. We picked Ruby On Rails primarily because of the community behind it. It's enabled us to leverage the wealth of pre-existing gems, libraries and platforms (like Heroku) that just make development faster, easier and means we only have to write (and maintain) the core aspects of our code-base that are really our areas of differentiation and expertise.

How does your technology stack impact or reflect the culture of the company?

Probably the most important "tech stack" decision we made was not really about Rails versus Django, but rather catching ourselves early on from falling into the "monolithic app" trap. Early on, we broke out our app into many smaller apps, that each serve logically different aspects of the system (payments, ordering, loyalty/rewards). While it's not been easy to design an efficient service-oriented architecture, we've done a reasonable job and the dividends in terms of engineering efficiency, app maintenance and keeping our pod sizes small, have been well worth it.

 

acquia
Photo via Acquia

Acquia’s technology enables organizations like Intuit and Warner Music Group to use Drupal — the leading open source technology that powers more than 2 million websites — to drive their digital experience.

Responses via Kyle Smith, principal PaaS architect

Give us a brief rundown of your technology stack.

At the infrastructure layer we make heavy use of all things Amazon, including heavy usage of CloudFormation, RDS, EC2, ECS and S3. We integrate with vendors for our internal tooling processes, such as PagerDuty, Pingdom, SignalFX, Sumologic and Dyn.

For our backend services, we are a polyglot shop. Predominantly PHP (Drupal) and Ruby, but with a fair amount of Go and Java services as well. Teams use what fits their skill set and problem domain best, though we try to standardize tooling and patterns whenever possible.

On the front end, we have a mix of Angular and Ember applications, along with a number of Drupal based setups for smaller sites. The main Acquia Cloud UI is built with an API first, decoupled Drupal philosophy. We release the UI (and supporting API) an average of three times a day using the same technology that Acquia Cloud customers use.

How did you decide what tech to use and what not to use?

My first question when considering a new technology component is, “Do we need it?” Often we can meet our customers’ needs with a simpler approach. By having a bias for elegant solutions that include a minimal number of moving parts we’re able to make meaningful changes and get valuable feedback quickly. If we do need to introduce something new, then we carefully consider if it’s core to our business domain. If not, does Amazon provide a similar service we can use? By using off-the-shelf components, we can stay focused on our customers.

How does your technology stack impact or reflect the culture of the company?

Like so many other organizations, Acquia has been on a journey of adopting DevOps best practices. We want our individual teams to own the services they create from ideation to maintenance. Running on AWS makes this much easier by allowing us to use a small toolchain to architect, provision, scale, monitor and deprovision our individual services.

Open source is in our company’s DNA. We’re committed to offering Open APIs for our products, and the products themselves are built on a variety of open source libraries and tools. Whenever possible we contribute back to those communities, such as Apache Thrift, Puppet, REX-Ray and of course, Drupal. We’ve also open sourced our AWS service provisioning and lifecycle toolchain, Moonshot.

 

crunchtime
Photo via CrunchTime

Used by thousands of the world's most popular restaurants, cruise lines and entertainment venues, CrunchTime provides restaurant management platform technology to the hospitality industry.

Responses via Tim Callaghan, VP of technology

Give us a brief rundown of your technology stack.

Python, C#, Java, Bash and MySQL.

How did you decide what tech to use and what not to use?

We focus on solving technical challenges using proven technologies in the most straightforward ways possible. We choose the tool by factoring in developer productivity, the ability to go from prototype to production (no throw-away code) and long term maintainability. We avoid complex frameworks and designs in favor of simplicity. Any developer on the team should be able to jump into the code and quickly troubleshoot a production issue or begin working on a new feature.

How does your technology stack impact or reflect the culture of the company?

The end user experience matters most, not the technology powering it.

 

klaviyo
Photo via Klaviyo

Klaviyo offers email marketing in the form of personalized newsletters and automated emails for e-commerce stores on Shopify, BigCommerce and Magento.

Responses via Andrew Kenney, VP of engineering

Give us a brief rundown of your technology stack.

Our primary technology components are Python, Django, MySQL, Cassandra and RabbitMQ. We leverage Amazon Web Services (AWS) extensively and utilize key services such as their Aurora MySQL service and EC2 Autoscaling to great extent.

How did you decide what tech to use and what not to use?

We prefer open source technology and horizontally scalable technology. A key early design decision in Klaviyo history was to ensure real-time data analytics and thus we avoided any batch computing or Hadoop in the infrastructure. This led to extensive use of RabbitMQ and leveraging autoscaling for event stream workloads. Although our platform is architectured to use Cassandra to optimize analytics queries we also store all data within MySQL and love the ACID compliance and proven operational excellence MySQL helps ensure.  As a data science company, Python was a natural fit for the lingua de franca. Although we do have smaller systems written in other languages, Python has served us very well in scaling to billions of monthly requests and will continue to do so in the future.

How does your technology stack impact or reflect the culture of the company?

We like to tackle hard challenges and move fast and thus look for accelerators or breakthroughs to allow us to continue moving even faster with confidence. This had led to us adopting services such as AWS Aurora which allows us to not worry about scaling MySQL data storage. At our heart Klaviyo is a data science company and we do not like to get too removed from the data and the inherent engineering problems in managing petabyte scale data sources. We want all of our engineers to know how data is laid out on disk, understand the performance impact of code changes, and be confident that solutions can scale orders of magnitude beyond our current workloads.

 

toast
Photo via Toast

Toast is an all-in-one point-of-sale and restaurant management platform that offers advanced functionality including tableside ordering, quick menu modifications, real-time enterprise reporting, online ordering and labor management.

Responses via Oleg Golberg, full stack architect

Give us a brief rundown of your technology stack.

Overall, we are heavy on Java and AWS. Our legacy backend code uses the Play Framework, and everything new is built as a Dropwizard microservice. We rely on PostgreSQL, DynamoDB, Redshift and Spark to store and query data and on Nginx, Openresty, Redis and Hystrix to expose and consume APIs. Most of our production code runs on AWS and uses a variety of AWS services under the hood: RDS, SWF, Lambda and so on. RabbitMQ is a key messaging component. Of course, there is the Toast app itself, which is built using the native Android APIs and some great open source libraries such as Dagger.

How did you decide what tech to use and what not to use?

Our tech stack evolved organically with the company. For example, the Play Framework, which was excellent for rapid development by a small team, gave way to a microservice-oriented stack that made it easier for multiple teams to build robust, resilient services. As Toast grew, technology decisions became decentralized. Today, we encourage each team to explore tech stack upgrades that may benefit them and then educate the rest of the engineering organization with their discoveries so that new tech can be adopted more broadly.

How does your technology stack impact or reflect the culture of the company?

Toast culture is focused on doing right by our customers and having fun while building new things. As a result, we often gravitate towards mature, proven technologies to mitigate risk to our systems. However, we don't dictate technology choices in a top-down fashion which leaves tons of room for exploration and innovation.

 

formlabs
Photo via Formlabs

 Formlabs is expanding access to 3D printing with its affordable, high-resolution desktop 3D printer.

Responses via Formlabs software team

Give us a brief rundown of your technology stack.

Our technology stack runs from embedded firmwares, through desktop software, all the way to the web dashboard and cloud technologies. Our web backend is written in Python, using the Django framework. Almost all of our web services use Docker and run in a Kubernetes cluster on the AWS cloud. Our web frontend recently changed from Backbone to React and Redux. Services like Segment and AWS IoT help us collect user event data for analytics. For our embedded and desktop production software, we use C++ and the Qt framework. We use a number of 3rd party libraries for things like linear algebra and computational geometry. We also have a few C control loops running on microcontrollers. Our research teams generally use Python, particularly the numpy and scipy packages.

How did you decide what tech to use and what not to use?

Using C++ allows us to get the most out of limited resources. For our embedded Linux system, this means we can reduce the cost of making each printer by buying less-expensive components, which is an important savings for a hardware manufacturer. For desktop software, it means we can support a wider range of users — not everyone who buys one of our printers has the latest graphics cards. Qt gives us a great set of libraries on which to build our software. It also allows us to use the same UI development tools for our embedded and desktop software, as well as run our embedded software on our desktop machines during development. We use Python and Django for the web backend because it’s a solid platform for both web APIs and CMS systems. It’s also nice to use Python across the company — all the way from data analytics to printer R&D to our printer API handling millions of requests per day.

How does your technology stack impact or reflect the culture of the company?

Formlabs culture is all about trying new things and finding innovative solutions to hard problems. You can see that reflected in the way our software stack mixes different tools and allows our researchers to quickly try out new ideas. Our primary goal is to build the best product we can, and we think our choice of C++ and Qt supports that. The Python framework we use also allows for a shared and agile platform. We are building both a product and a common software/hardware platform that can be used by all of our engineers.

Responses have been edited for length and clarity.

Jobs from companies in this blog

Boston startup guides

LOCAL GUIDE
Best Companies to Work for in Boston
LOCAL GUIDE
Coolest Tech Offices in Boston
LOCAL GUIDE
Best Perks at Boston Tech Companies
LOCAL GUIDE
Women in Boston Tech