Choose Your Weapon: Charting the Evolution of 5 Colorado Tech Stacks

by Quinten Dol
September 5, 2019

In today’s business world, constant evolution is the name of the game — having a great idea and knocking together a piece of software just isn’t going to cut it.

As the engine room of any tech company, engineering teams know this well. Even the tools, languages and libraries they use on a daily basis are constantly updating and expanding as the wider community pioneers new approaches and tackles new problems. With an infinitely expanding array of options, engineering teams must choose their weapons carefully, and always be on the lookout for better alternatives.

We spoke with five Colorado-based tech companies leading transformations in everything from cybersecurity to orthodontics to learn how their technology has evolved over time — and the trends they’re keeping a close eye on right now. 

 

ibotta colorado tech company engineering team
photo via ibotta

If Denver-based Ibotta gets its way, coupon clipping will soon be rarer than holographic Pokémon cards. The company’s platform helps users earn cash for their purchases on everything from clothing to electronics to groceries, and has paid out more than $500 million in cash rewards since its founding in 2012.

Senior Engineering Director Heather Shannon described her company’s evolution from a Ruby on Rails operation to a true polyglot shop. 

 

How has your technology evolved since the early days of the business?

In the early days, Ibotta was a Ruby on Rails shop. Ruby on Rails was a common choice for rapid development and iteration, and as a startup this was a natural fit for us. Our Ruby on Rails platform was backed by MySQL with Memcache on AWS instances. Our mobile apps were built with Objective C for iOS and Java for Android, and they first launched in late 2012. Our website was originally built with Ember.js and it first launched in 2014. As time has passed, we have needed to refresh our technology, with iOS converting to Swift, Android converting to Kotlin and the website currently under transformation using Vue.js. Meanwhile, our platform is evolving to microservices built with Java, Ruby and Node.

 

Our team has outgrown a single RoR codebase and are actively moving toward an event-driven microservices architecture.”

What new technologies are you eyeing for the future, and how do you choose what tech to use in upcoming projects?

Ibotta has millions of users each month who are actively using our products and earning cashback. Keeping our apps running well has a tremendous impact on our users’ experience, and our engineering team is on call 24/7 to ensure our systems are running smoothly. As we have grown, we have been faced with the challenge of scaling our technology to continue operating at this high level.

Our team has outgrown a single RoR codebase and are actively moving toward an event-driven microservices architecture. EDA and microservices provide us with the scalability we need while also increasing flexibility in our architecture so we can continue to build fast and in an Agile manner. The languages we use to build microservices were chosen by leveraging the polyglot shop we have become, and selecting the top languages that the team has experience with that also satisfy our build requirements. The languages and frameworks we currently support are JVM (Java, Kotlin), Node (Typescript, JavaScript ES6+) and MRI Ruby. Engineers choose what is right for the needs of the service they are building. With an eye to the future, we will continue to evolve as new technologies, libraries and approaches arise as the right tool for the job.

 

carbon black engineering team
photo via carbon black

Fancy yourself as a digital protector of vital virtual systems and physical infrastructure? Look no further than Carbon Black, the name behind one of cybersecurity’s most recognized cloud-based endpoint security platforms. The company recently announced its pending acquisition by Silicon Valley giant VMWare — for a huge $2.1 billion.

VP of Engineering Jim Treinen stressed the importance of monitoring industry trends and evolving to meet their customers’ shifting cybersecurity needs.

 

How has your technology evolved since the early days of the business?

Our job is to enable defenders to act at scale against well-funded, intelligent and innovative attackers. Because we work against a human adversary, our technology must constantly evolve. We started as application control. As the attackers expanded their arsenal to include in memory, and fileless attacks, we evolved in parallel by creating the world’s first full-fidelity endpoint telemetry recorder. We then created our behavioral detection engines, and most recently, we built tools to enable security operations and hunt teams to search proactively across both traditional and cloud environments. Innovation by the attacker necessitates innovation by the defender.

 

...we are actively monitoring changes in the way our customers secure both public and private cloud...”

What new technologies are you eyeing for the future, and how do you choose what tech to use in upcoming projects?

One trend we are currently monitoring is the dramatic rise in attacks related to the Mac. Historically, in terms of active defense, endpoint security has focused primarily on securing Windows desktops and servers. This was primarily due to the relatively small number of exploits that were available for the Mac and Linux platforms. In the past year — and specifically in 2019 — this has changed significantly. We have seen a dramatic uptick in the number of active exploits which have been released for vulnerabilities in macOS. We also monitor trends in Linux exploits and respond according to changes in the Linux landscape. Finally, we are actively monitoring changes in the way our customers secure both public and private cloud, and developing solutions that meet their changing needs.

 

ombud tech engineers
photo via ombud

Ever heard of a “decision management platform?” Neither had we, until we came across Denver-based Ombud. The company’s software provides a framework, platform and set of best practices to allow operations and sales teams to collaborate, make data-driven decisions and boost sales revenue.

One of Ombud’s platform architects detailed how the team always seeks to have fun in its pursuit of innovation.

 

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

A lot of Javascript — including Node.js and React — with a little bit of Groovy and some Python. For persistence, we’re using Postgres, Elasticsearch and Redis. In the early days, we used Elasticsearch as both a search engine and a document store, leveraging its schema-less nature to quickly iterate on the product while deferring more technical, systems-level concerns to the future. Technical debt, well-spent.

Today, we’re moving into Postgres for source-of-record, while at the same time building more highly specialized services and data stores around the use cases we’ve come to better understand.

 

At the end of the day, we want our developers to be excited to come to work...”

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

The primary consideration is whether it is an appropriate tool for the job. We also look at maintainability from the perspective of both in-house expertise and the current job market.

At the end of the day, we want our developers to be excited to come to work, so we give serious weight to the fun factor. That heuristic led us to early adoption of React, Elasticsearch and Node.js, and we’re pretty happy with how those bets have paid off.

 

orthofi colorado engineering teams
photo via orthofi

OrthoFi brings the digital revolution to your teeth, with a software platform designed to support patients and orthodontists alike. The platform takes care of those time-consuming front office processes startups love to optimize, and offers payment plans designed to make costly services accessible to everyone.

Director of Software Engineering John Ockers took us through his team’s tech toolbox. 

 

How has your technology evolved since the early days of the business?

Within six years of our founding, OrthoFi is transitioning from a small startup looking to establish product viability to — six years and more than 200 employees later — proving product viability and looking to scale and grow with client demand. The technology of this company certainly reflects this journey and reflects the ever-shifting landscape of the technology world, which has changed considerably in the last six years. These factors have motivated our focus on taking our architecture from good to great.

As an example of this is, the original platform was built primarily on the Microsoft .NET framework both on the front end and back end, and was constructed as a monolithic application. At that time, test-driven development and continuous integration was not predominant in the tech industry — nor was focus on things like containerization.

 

...we are transitioning our application architecture to a more modern, microservices-based architecture...”

What new technologies are you eyeing for the future, and how do you choose what tech to use in upcoming projects?

In moving forward, we are transitioning our application architecture to a more modern, microservices-based architecture, with test-driven development and continuous integration built into everything that we do. We have introduced Angular7 as our client-side framework and are leveraging a combination of .NET Core and NodeJS for our back end. We are modularizing our application through the use of webpack and component-based architecture to establish a reusable front-end design system and are leveraging Docker to containerize our application. 

We also build TDD into everything that we do, incorporating a high degree of unit-test and automation test coverage in our code and leverage tools like Jenkins and CircleCI to manage our infrastructure as code, and build out our continuous integration. This has helped our Agile-based organization to provide a culture of frequent delivery and code pushes to production. In addition to these investments, we are also completely cloud-based and are leveraging many of the tools and frameworks that AWS has to offer. We have a green-field project right now focused on Lambda Serverless architecture with Node.js modules, for instance. What is great about our company size right now is that we are a nice blend of startup and established, which makes it easy to innovate and move fast in our efforts to implement live prod code.

 

backbone colorado engineers
photo via backbone

Retailers of all stripes have long accepted that Amazon — with its bottomless options and same-day delivery — has changed the game. To help independents keep up, Boulder-based Backbone has created cloud-based product lifecycle management software, arming brands with the tools they need to turn ideas into products into happy customers — all at the speed of modern business.

Software Engineer Paul Stone said the company built their software with scale in mind from day one. 

 

How has your technology evolved since the early days of the business?

It’s evolved a lot! We’re lucky to have grown as fast as we have. We built version one of our platform with scale in mind, but we ran into several roadblocks that left us in need of a complete rewrite. In rebuilding, we’ve adopted technologies that have put us in an even better spot for growth while allowing us to anticipate future challenges and maintain an agile workflow.

 

Our team is eyeballing a lot of new tech, including 3D imaging and AI/machine learning.”

What new technologies are you eyeing for the future, and how do you choose what tech to use in upcoming projects?

Our team is eyeballing a lot of new tech, including 3D imaging and AI/machine learning. When reviewing new tech, we work together throughout the discovery process, gathering as much insight as possible to understand how new interactions will solve the problems we want to address. When vetting any third party service, we first have to consider our own platform’s integrity and how any sort of interaction will scale.

 

Jobs from companies in this blog

Colorado startup guides

LOCAL GUIDE
Best Companies to Work for in Denver & Boulder
LOCAL GUIDE
Coolest Tech Offices in Denver & Colorado Tech
LOCAL GUIDE
Best Perks at Colorado Tech Companies
LOCAL GUIDE
Women in Colorado Tech