Software Engineering Intern
Web APIs for a system migration, and 12+ bugs hunted across four languages and three architecture layers.
The brief
Ansys builds engineering simulation software — a codebase measured in decades, where a C++ core, a C# service layer, Python scripting and an Angular front end all have to agree with each other.
I worked on a migration: standing up .NET and C# Web APIs to replace older interop paths, and moving data between microservices over gRPC and COM. The other half of the job was debugging, which in a codebase that size is mostly an exercise in not trusting the stack trace.
Scope of work
- Implemented .NET and C# Web APIs for system migrations, using gRPC and COM interfaces to move data between microservices.
- Closed 12+ bugs spanning C#, C++, Python, JavaScript and Angular, using dynamic tracing and memory profiling to locate faults across architecture layers.
- Built REST/MVC request paths for asynchronous work, batch-script automation for file deployment, and IronPython scripting hooks for simulations.
Measured
Plan
Plan
5 items · scale 1:1What I'd redraw
The bugs that cost the most time were the ones where the symptom and the cause sat in different languages — a C# lifetime assumption that only showed up as a C++ crash. I'd invest earlier in reproducing across the boundary rather than instrumenting each side separately.