What’s Changed? 6 LA Companies Share How Their Tech Stacks Have Evolved

Written by Michael Hines
Published on Sep. 06, 2019
 What’s Changed? 6 LA Companies Share How Their Tech Stacks Have Evolved
Brand Studio Logo

The evolution of a company’s tech stack can tell you a lot more than you might think. Like the rings inside a tree, the changes a company’s tech stack goes through can be used to chart its growth. The new languages, frameworks and tools a team incorporates into their work, and the “why” behind those choices, are great indicators of how a company approaches problem-solving and also provide a unique glimpse into the culture of its engineering team. 

Below you’ll hear from six LA companies of all shapes, sizes and industries about the current state of their stack and how it’s evolved over time.

 

Honey Los Angeles tech jobs

People really like saving money when shopping online, but they don’t exactly want to hunt down coupons and offer codes themselves. This simple fact of life has helped Honey grow into an e-commerce powerhouse. The company launched in 2012 and today boasts over 10 million users worldwide. According to Director of Engineering Duane Garber, Honey’s rapid growth has also propelled the evolution of its tech stack. 

 

What does your tech stack look like today and how has it evolved over time?

For the majority of our codebase, it’s Node.js, Express, GraphQL and React. For our data pipelines, we use Dataflow and Airflow written mostly in Scala and in some cases Java. We use a mix of Spanner, Bigtable, MySQL, BigQuery, Elasticsearch, distributed file storages, Redis, and Memcache for our data storage needs. Our CI/CD pipeline leverages CircleCI, Docker, Kubernetes and Spinnaker. 

Our evolution can be summed up in one word: scale. Like all startups, we started with a giant monolith of all the code in the world. After the first 5 million users, we knew that we had to distribute the load, so we embraced a full microservices-based architecture. At around 10 million users, our MySQL databases were starting to struggle, so we migrated to Spanner, which we believe will handle our back-end needs for much of the foreseeable future. We have also evolved our REST APIs to a sophisticated, resolver-first GraphQL service layer that sits on top of our microservice architecture and accommodates billions of requests per day.

While we do not want to reinvent the wheel, if we believe a tool is a core competency of Honey, we will build it ourselves.”

 

How do you choose what tech to use to complete a project?

Our tech stack is stabilizing, and we’ve got a lot of talented JavaScript engineers here at Honey, so our first choice is usually JS. JavaScript got us relatively far, but over the last few years many use cases have guided us to other languages and technology — such as moving to Swift from React Native for our iOS app. 

While we do not want to reinvent the wheel, if we believe a tool is a core competency of Honey, we will build it ourselves. Internally, teams partner with a group of “design shepherds” in the early stages of their project to help them make sound decisions and pick the right tool. These designs are socialized with the broader engineering organization through weekly architecture review meetings to ensure a cohesive codebase as our teams expand and grow.

 

Spokeo Los Angeles tech jobs

At some tech companies, change comes from the top down. While Spokeo’s founders know a thing or two about code, VP of Engineering Byron Wang said that when it comes to picking the right tech for a project, all team members have a chance to contribute their expertise and opinions. In fact, Wang said Node.js only wound up in the company’s tech stack because of a hackathon project.

 

What does your tech stack look like today and how has it evolved over time?

Currently, Spokeo.com consists of a series of services built mostly on Ruby on Rails, Node.js, React.js and a bit of Amazon Lambda. Our tech stack has evolved and changed since the company was founded in 2006. We shifted from copying code directly to long-running servers to Amazon Machine Image-based Elastic Load Balancer deploys, reducing our deploy times from half a day of constant monitoring with a high failure rate to minutes with easy rollback.

We’ve used most of the JavaScript frameworks. Our progression was: Vanilla JS to jQuery, Prototype to Backbone and AngularJS to React. Spokeo was originally one big Ruby on Rails monolith. We moved toward a service-oriented architecture, allowing more independent deploys of functionality and cleaner testing. Our data platform has shifted from ad hoc scripts to a more structured ETL platform utilizing Pentaho and Spark on AWS Elastic MapReduce. The new process will allow for faster, consistent processing at a lower cost.

Here is an example of how we got Node.js into our tech stack: It started with a hackathon project.”

 

How do you choose what tech to use to complete a project?

We are a very developer-centric organization. Our founders are developers themselves and actually wrote the first versions of our app. Each team member can voice their opinions and have an impact on what tech we choose to complete a project. 

Here is an example of how we got Node.js into our tech stack: It started with a hackathon project. We rendered one of our cached Rails pages with Node.js, proving we can do it with server response times less than 100 milliseconds. Then we built a small domain called phones.directory, all in Node.js, which had millions of pages and proved that we could scale easily with Node.js and Express.js. After that, we started building the actual rendering service we use today for our SEO pages. It was well received and today we have many other services using the same technology.

 

First Resonance Los Angeles tech jobs

First Resonance is building software to help hardware companies take their manufacturing to the next level. In addition to managing real-world manufacturing information, its factory operating system also enables companies to better leverage data to improve their processes and products. According to Software Engineer Hai Zhu, when it comes to picking the right tools for a project, his team bases their choice on four criteria.

 

What does your tech stack look like today and how has it evolved over time?

Our front-end stack includes React for UI development, webpack for bundling and running build processes, and Netlify for hosting and CI/CD. We test our client with Jest, Enzyme and WebdriverIO. On the back end, we’re primarily a Python shop. We use Flask to serve our REST API, and we have recently made the move to GraphQL. We use Postgres as our database, and we talk to it using SQLAlchemy.

We use Buddy for CI/CD and deploy to AWS Elastic Beanstalk. As an early startup, we are always striving to integrate technologies that fit our rapidly evolving engineering and customer needs. Some notable evolutions of our tech stack include GraphQL for queries and switching to React Hooks.

As an early startup, we are always striving to integrate technologies that fit our rapidly evolving engineering and customer needs.”

 

How do you choose what tech to use to complete a project?

Because our product is undergoing rapid iteration, we select technologies based on four main factors. First and foremost, it must enable us to complete our tasks quickly and painlessly. Second, it must be secure since we work with customers that manufacture products with safety-critical systems. Third, it must be easily extensible and customizable. And finally, it must have good documentation.

 

Renew Health Los Angeles tech jobs

Renew Health is building technology to change the way medications are managed in the United States’ healthcare system. Its goal is to ensure prescriptions are more affordable, accessible and effective. Bringing change to the U.S. healthcare system — and to the prescription drug system in particular — is a tall order for any tech team. Senior Software Engineer Mike Verderese walked us through the technology and tools his team uses to tackle this challenge.

 

What does your tech stack look like today and how has it evolved over time?

In order to run our microservices, we use Docker containers running on AWS Elastic Container Service with AWS App Mesh for service discovery and routing. We also use other AWS services, such as RDS for databases, AWS Elasticsearch Service, S3 for file storage, Route 53 for DNS, IAM for access control, and Secrets Manager and Parameter Store for service configuration. Our different services run on different programming languages based on the problems they are trying to solve. 

Our user-facing applications are run on Node.js with React server-side rendering with Redux, GraphQL and Socket.IO. CPU-intensive services and services that need to interact with external SOAP APIs are built in Golang. Services that house business logic, extract, transform and load processes, and data science are written in Python. These services all communicate with each other using gRPC, a modern data transfer protocol that allows for atomic operations and streaming data using the same interface. We believe that this modern and flexible tech stack has allowed us to iterate and scale quickly while maintaining best-in-class security and reliability. 

The most important thing to remember about tech is that different problems are solved best with different tools.”

 

How do you choose what tech to use to complete a project?

Picking the tech stack is one of the most important decisions an engineering team can make. Our team makes this decision very strategically and systematically. The most important thing to remember about tech is that different problems are solved best with different tools. This includes different programming languages, frameworks and architectures. 

In order to ensure the most flexibility, we chose to use a microservice architecture. This means that we have many different services, each with a very specific purpose. We arrived at this decision after using a monolith API service with a couple front-end services for a couple of years. That structure was helpful for us getting software out the door quickly but made scaling up and introducing new services more difficult.

 

Verifi Los Angeles tech jobs

In order to build a tech company that lasts, your tech needs to stay nimble. Verifi knows a thing or two about evolving its tech to match changing times and customer needs. Architect, Software Engineering Shunsuen Li walked us through the evolution of the company’s tech stack.

 

What does your tech stack look like today and how has it evolved over time?

We started as a PHP shop with a LAMP stack. Like many startups in the 2000s, we built our in-house framework in a monolithic architecture. With an increasing demand on business agility, we adapted agile methodologies. This led us toward service-oriented architecture and eventually virtualization. We started building services with Java in Spring MVC. During this period we wrote applications in Ruby on Rails and Java in Play Framework. We also experimented with reactive programming with Akka and Spring Reactor. 

Our current back-end tech stack is Java, Spring Boot, MariaDB, MongoDB, Kafka, Redis and Elasticsearch. Our front-end tech stack is made up of JavaScript, TypeScript with Angular framework and Nginx as the web server. We are constantly evolving and today we are building a new generation of applications in a microservice architecture that’s cloud native, such as Docker and Kubernetes. 

We are constantly evolving and today we are building a new generation of applications in a microservice architecture that’s cloud native.”

 

How do you choose what tech to use to complete a project?

The foundation for good design and for choosing the right tools is to start by thoroughly understanding the requirements and objectives of the project. I always check to see whether the project could be built with our current tech stack since it is what the team is most familiar with. If new technology is needed, then I will start with proof of concept, which gives us time to properly evaluate which technologies are best based on different criteria such as scalability, testability, maintainability, performance, learning curve and more.

 

CCC Los Angeles tech jobs

CCC has been developing mobile apps since shortly after Apple opened the App Store. Manager of Mobile App Development Brad Roush shared how the company’s mobile tech stack has evolved since then, along with how the its culture of continued learning plays a part in the tools and tech his team picks for their projects.

 

What does your tech stack look like today and how has it evolved over time?

Our tech stack is currently 100 percent native. For iOS, we use the latest Xcode and iOS SDK, and our projects consists of both Objective-C and Swift. For Android, we use the latest Android Studio and Android SDK, and our projects consists of both Java as well as Kotlin. 

In 2010, we began using a native tech stack starting with Xcode and Objective-C. Shortly after, we started Android development with Eclipse, along with the Android SDK plug-in, and Java. In 2017, we started using Swift in our iOS projects and in 2018 we started using Kotlin in our Android projects. Today, our stack includes machine learning models for enhanced user experiences.

In general, we prefer to balance reliability for our customers with innovation and the quick adoption of new technology.”

 

How do you choose what tech to use to complete a project?

In general, we prefer to balance reliability for our customers with innovation and the quick adoption of new technology. It is more enjoyable for the team to use new tools and technology and it also allows the engineers to be challenged and continue growing and learning. In the examples of Swift and Kotlin, adoption of technology can make the code more readable, concise and stable. However, it is also important to consider possible adverse impacts for our customers. Factors such as stability, known issues and degree of available support weigh highly on the decision to use technology.

All responses have been edited for length and clarity. Photos via featured companies.

Hiring Now
System1
AdTech • Big Data • Digital Media • Marketing Tech