A person’s ability to complete a complex job is largely influenced by the efficiency of the tools at their disposal. For engineers, this concept is especially important, as the goals they’re trying to accomplish are often quite complicated, so they need the proper resources and processes in place to face new challenges effectively and intelligently.
As company and development team goals change, so do the mechanisms used to achieve them. We spoke to engineering team leads at three Chicago companies about what makes up their tech stacks, how they build them out and whether they have a favorite tool in their toolbox.
Farmer’s Fridge provides healthy meals made from fresh ingredients to hungry, busy people through its line of vending machine-style smart fridges. Director Of Cloud and Data Infrastructure Ben Bernays said he enjoys working with the company’s stack because of its overall variety, and the wide array of problems it can solve.
What does your tech stack look like these days, and what are some of your favorite facets of it?
Cloud back end is housed within Amazon Web Services. We have leveraged AWS’s serverless services including Kinesis for streaming data, Lambda for computing, Aurora and DynamoDB for data storage and AppSync for GraphQL APIs. The IoT edge that powers our smart fridge has a diverse tech stack that uses Java for the back-end, React for the front end and Python for service monitoring.
My favorite facet of our tech stack is its diversity, which stems from the myriad of problems we are trying to solve. These include but are not limited to: improving the customer experience across different digital touchpoints, improving the operational efficiency of our supply chain and logistics, and ensuring that our fleet of fridges continue to provide constant access to fresh food.
My favorite facet of our tech stack is its diversity, which stems from the myriad of problems we are trying to solve.”
How do you choose what tech to use to complete a project?
We go through a meticulous process to choose the right tech stack to complete a project. We consider the scalability of the stack, developer productivity, the product’s time-to-market, community support for open-source tools, and recommended best practices to make an informed decision.
Cooler Screens develops IoT-enabled screens for retail coolers and freezers intended to enhance the shopper experience and provide data and insights to merchants. Vice President of Software Engineering Marcel Munoz said the company’s engineering team benefits from a very agile development style, influenced by a number of beneficial, outside factors.
What does your tech stack look like these days? What are some of your favorite facets of it?
Our platform starts at the cloud and extends to our screens within retail stores. In the cloud, our customer-facing applications utilize React. We take advantage of everything from Azure functions with Node.js, API management, cognitive services, Cosmos DB, and more on Microsoft Azure.
At physical locations, we've embraced Azure IoT Edge and are using containers to manage and deploy code at scale. We love the infrastructure that we're building out — it will allow us to adapt as we push innovation into stores. Today, we're doing challenging work on technologies that include 4K presentation, computer vision and machine learning.
We love the infrastructure that we're building out — it will allow us to adapt as we push innovation into stores.”
How do you choose what tech to use to complete a project?
As a startup, we naturally benefit from a greenfield situation, so if new tech is suggested to tackle an initiative, we quickly evaluate why and push to make progress. Our decision to adopt involves the strength of the developer community, the benefits of delivery speed with quality code, and the scalability to match our business goals. We also benefit from having technology partners that introduce novel ways for us to tackle projects.
Through its SaaS video research platform, Dscout helps companies get a better understanding of how customers use their products. Vice President of Engineering Jack Korabelnikov said the company’s tech stack is complex and layered, but he makes sure the team doesn't get distracted by “bells and whistles.”
What does your tech stack look like these days, and what are some of your favorite facets of it?
Our tech stack is at the forefront of current technology with React front end and Elixir back end communicating over GraphQL. Our machine learning efforts run on Python and Jupyter. The overall architecture is a modularized-monorepo that builds on the strengths of multiple languages without the management overhead of microservices.
My favorite aspect of our front-end stack is the pattern library Particle. It provides React components, global styles and utility classes that keep our interfaces consistent, promote usability best practices, and allow us to prototype and build new interfaces quickly. And on the back end, Elixir, a functional and highly performant language, allows us to write expressive code and run our entire production infrastructure on less than 15 cloud-virtual machines.
The overall architecture is a modularized-monorepo that builds on the strengths of multiple languages.”
How do you choose what tech to use to complete a project?
Software is complicated, and complexity frequently leads to poor quality. Our job as engineers is to reduce complexity and deliver a high quality product. It is with this philosophy in mind that we approach our technology selection. We evaluate our technical needs, find the right tool for the job and don't let ourselves get distracted by all the, admittedly exciting, bells and whistles.