As a Software Engineer at Edify, I’m primarily responsible for managing the company’s technical infrastructure, feature development, and coordinating with the various teams to ensure we have what we need to be able to deliver customers the best experience possible.
While we’re a small engineering team, over the last year we've been able to deliver multiple new features a month in addition to maintaining our underlying infrastructure. Curious how we’ve managed to maintain this trajectory with such a small team?
When I joined the company in October 2021, we were balancing the normal technical debt of the infrastructure we had already built (like so many other startups) with new product development. As a result, delivery dates began to slip and we needed to make a series of changes quickly to address the problem.
We transitioned away from a plethora of micro services running on AWS to a Serverless backend in a monolith repository. Serverless was an appealing choice: it provided us with automatic scalability, a significantly reduced cost footprint, a quicker development cycle and a very efficient infrastructure model that mitigated the time dealing with infrastructure problems.
Consolidating services gave us a significant increase in momentum and mobility because it made addressing code churn a simple task and it decreased our footprint. It made it possible for just one individual to be able to iterate, secure, and deploy our entire infrastructure in a safe manner.
And the improvements came not just on the infrastructure side, but also on the customer side. Our primary application is a clever bot that lives inside of Slack. Having personally built many Slack bots, I recognize that it is a significant time sink with a field of frameworks that changes every year. Debugging, maintaining, securing a bot all the while ensuring you’re adhering to Slack's security requirements is a time consuming and expensive task that one should avoid at all costs.
From the beginning, Edify has partnered with a service called FlowXO, experts that can take care of all that for us! We utilized our brand new Serverless API to power the content delivery system, and off to the races we went. An even better outcome is that now, not only is our API automatically scalable, but so is our Slack bot!
For our website, we use Vercel to handle deployment, CDN caching, and everything in between. We use Redux's amazing RTK query to seamlessly communicate with our API which handles caching, invalidating, and data subscriptions for our various pages.
The outcome is that we spend very little time fighting infrastructure, and almost all of our time building better products for our customers. Since implementing these changes our turn-around time on features has dropped significantly and our output has increased significantly - so we can focus on what matters… Helping you and your teams deliver world class technical onboarding and training. 😎