These Software Engineers’ Super Powers? Their Teams

Built In Chicago heard from software engineers at Enfusion and Supernova about the biggest technical challenges they’ve solved this year and what they learned along the way.

Written by Brigid Hogan
Published on Jan. 31, 2023
These Software Engineers’ Super Powers? Their Teams
Brand Studio Logo

The Incredibles. The Guardians of the Galaxy. The X-Men. The Justice League. 

Even more than their powers, these superheroes rely on their teams.

While software engineers at Enfusion and Supernova may not be able to use X-ray vision to debug their code or stop time to coordinate their project plans, they are able to rely on their colleagues to overcome technical hurdles and develop new skills along the way.

“Utilizing open discussion and brainstorming to gather information for debugging is important,” Associate VP Ethan Solomon said. At Enfusion, digging into complex problems requires transparency and trust across the team.

At Supernova Technology, building a trusting network of team relationships helps push Software Engineer Nicholas Reczek’s work ahead. “There are many talented and kind individuals at Supernova, and I believe that made an undertaking like this possible,” he said. “As I had to come up to speed on many things at once, I needed the help of various team members to get the required information.”

In order to overcome complex debugging problems or build brand-new client integrations, these teams also relied on technical expertise and a fearless approach to finding ambitious solutions. 

Solomon shared three questions that helped him find effective ways to address challenges, especially on projects in which multiple approaches to the issues may be required. He advised asking: “What will this run through the code teach me? What specific information am I seeking this time around that will make a difference? What action will I take with this run-through that’s different from the last time?”

Built In Chicago heard from Solomon and Reczek about how they are continuing to grow in their roles while building brand new solutions with their teams. 

 

Ethan Solomon
Associate Vice President, Java Developer - OEMS • Enfusion

 

Enfusion offers an investment management SaaS platform for enterprise-wide use.

 

What's the biggest technical challenge you've faced recently in your work? What made this particular challenge so tricky?

While perhaps not my largest technical hurdle, I recently faced a challenge that was quite tough, obscure and time-sensitive. At times, certain brokers require us to utilize a specific framework when making HTTP requests. The framework is a bit outdated, uses the inversion control principle and relies on code generation, making the issues extremely difficult to debug. Because of inversion of control, it was difficult to determine how the initial information provided to the framework ultimately translated into the final HTTP request. In addition, since the code was generated, stepping through the code with a debugger did not prove to be fruitful.

 

How did you and your team overcome this challenge in the end?

Working cohesively as a team was crucial to overcome the challenge. Ultimately, we found a way to attach our own message handler to the framework and by using that, we were able to discover much more information about incoming and outgoing messages, uncover the source of the issue and apply a fix. A big part of our solution was increasing logging about incoming and outgoing messages to capture a better picture of what was happening. We recognized, however, that verbose logging can make debugging simple issues more difficult than needed, especially when managing large amounts of information from many clients. By using MBeans and JConsole, we implemented additional functionality, allowing us to control the amount of external logging, without needing to restart the application.

Approaching these challenges with a concrete strategy or game plan is key to progress.”

 

How did this technical challenge help you grow as an engineer or help you strengthen a specific skill?

Debugging code is difficult. When dealing with obscure issues, it’s easy to start endlessly reading code line by line with a debugger without a tangible goal in mind and just hoping to notice something new. Approaching these challenges with a concrete strategy or game plan is key to progress. 

 

 

 

Nicholas Reczek
Software Engineer • Supernova Technology

 

Supernova Technology provides clients with digital wealth management lending software.

 

What's the biggest technical challenge you've faced recently in your work? What made this particular challenge so tricky?

For one particular long-standing client, a decision was made to utilize Supernova's own collateral monitoring system instead of their own in-house implementations. This was one of the largest feature sets to roll out for this client. There were a couple reasons that made this an exceptionally tricky and ambitious undertaking. I joined this project after months of planning had already taken place, and there was an incredible amount of details to quickly come up to speed on. It required meticulous coordination of all Supernova teams alongside the various teams of the client. There were countless nights of testing and planning that had to take place to ensure the success of a project this size. Every edge case had to be explored and a great deal of foresight was required to guarantee the technology would function as expected by the business.

The key factors for our success were that people are comfortable sharing their thoughts and concerns and everyone is dedicated to delivering great work.”

 

How did you and your team overcome this challenge in the end? 

When a project is this large in scope with multiple moving parts, the greatest assets to have are teamwork and great communication. Even with busy schedules, everyone was extremely willing to find the time to help me and make sure I got the information required to complete these tasks.The key factors for our success were that people are comfortable sharing their thoughts and concerns and everyone is dedicated to delivering great work. I was fortunate that senior members of the team were willing to mentor me and help me grow to meet these challenges. In terms of technology and tools, there were many. We used the automation server Jenkins, the job scheduler Airflow, countless lines of Java and Python code, AWS services and Docker to name a few.

 

How did this technical challenge help you grow as an engineer or help you strengthen a specific skill?

This challenge allowed me to vastly grow as an engineer, team member and communicator. In terms of software development, I was exposed to many technologies and tools I had never used before or only previously had brief experience in. I learned how a whole system is pieced together along with how to consider the decisions and tradeoffs along the way. I also learned a great amount about implementation and the design patterns that achieve this. In terms of being a team member and communication, I learned what it means to be part of a dedicated and high-performing team and what it takes to coordinate a large project to keep everyone on the same page.

 

Responses have been edited for length and clarity. Images via Shutterstock and featured companies.

Hiring Now
Sprout Social
Marketing Tech • Social Media • Software • Analytics • Business Intelligence