Finding Stability to Address Today’s Business Challenges

Two men look along while a third writes on a dry erase board. The sun shines through a window behind them, creating a slight silhouette effect, and making the contents of the white board illegible.

Kevin Kotowski

December 16, 2022

When software products succeed, they grow rapidly and often in unexpected ways. This is inevitable and natural, but at some point successful products need to transition from expanding to standardizing if they want to be sustainable for the long term. No hit feature will remain a hit if it’s buggy, slow, or stale. That’s why teams strive for reliability in their systems and their processes: so they feel empowered to improve, innovate, and raise the bar for what software can do for its users.

We highlight three recent projects in entertainment, pharmaceuticals, and ecommerce industries where we’ve used software solutions to manage growing and enterprise-scale business complexity.

Rebuilding a Legacy Database into an Adaptable System

Building on our long partnership with an international ticketing company, we’ve been helping them prepare for the day when they’re no longer so reliant on a single large, legacy database since 2015.

The main system of record for this project was written in Pascal and Assembly over several decades. Data is exported through screen scraping, with a lot of data that lives in hardcoded blocks within the code.

One of the main challenges has been to fully understand how the old system works. The 8th Light team has been helping develop an API and a read replica of the host system where we can debug basic questions received on a day-to-day basis. We’ve also been event sourcing from the legacy system, and slowly applying more of the business logic. Long-term, we will to replace all the data with our new system, which will be simpler to maintain and easier to adapt in the future.

We’re still very much trialing out how good our system is and how logic will evolve, but already we’ve gotten response time from 16 seconds down to 200 milliseconds.

Technologies: React Native, Typescript, PHP, Java, Kubernetes, CI, CD

Transforming an International Pharmaceuticals Company’s Product Team

An international pharmaceuticals manufacturing company needs help adding new skills and implementing new processes that will provide their teams with more confidence in the stability of the code, and we’re partnering with them to help slowly improve it.

We have three main workflows on the teams right now, including transforming their DevSecOps posture with exhaustive source control, streamlined CI/CD pipelines, and smart artifact management techniques. We’re also consulting with the project’s leaders to introduce and reinforce an incremental/lean mindset, and help that mindset reverberate with other teams. This also includes finding ways to slowly unwind a lot of technical complexity that accrued while the product took flight.

Finally, we’re helping improve the developer experience by documenting tribal knowledge, refactoring pain points in the system architecture, and adding a test suite that gives every developer the confidence to contribute.

We’ve been happy to be met with enthusiasm across our partner organization, with a growing network of early adopters, enthusiasts, and allies who help make our jobs as consultants much easier.

Technologies: .NET, Ansible, AWS, GitHub Actions, Java, Tableau, Terraform

Replacing a SaaS Vendor with Custom Application

When a food delivery organization replaces a SaaS vendor with a custom application, it can reduce expenses and allow for more customizations. However, it also requires a strict deadline to ensure project goals and deadlines are met. We joined the effort from the start, developing the product roadmap and helping define the product vision and MVP scope with market research.

One interesting insight has been our use of a domain-driven design technique called “event storming” to get more insights behind the product we are building. In this process, we walk stakeholders through the events happening in the software system and show what the product will do. This helps validate our assumptions and ensure we’re building the right thing, and it also helps the team rethink their own processes. Oftentimes this technique will expose new ways of interacting, removing duplication and extra steps.

Technologies: React, Typescript, Redux

Kevin Kotowski

Executive Consultant

Kevin Kotowski has been a driving force in software development across a wide range of industries and roles for more than 25 years. Currently serving as 8th Light's Executive Consultant, Kevin partners with clients as a successful advisor rooted in his fundamental belief that people are happier when their work is connected to their organization's vision in an authentic way.