Meet Jack Williams, a software engineer at General Dynamics Mission Systems. Jack’s journey into the world of programming started during his days at Loyola University Maryland. There, he was first introduced to Rust, a modern, general-purpose programming language known for its emphasis on performance, memory safety, and concurrency.
“Rust was described as a high-performance, memory-safe language; two things you usually don’t hear together when describing a programming language,” Jack explains.
Transitioning from Mechanical Engineering to Software Development
Before he worked in software engineering, Jack started his career as a mechanical engineer supporting submarines at our sister company, General Dynamics Electric Boat. His desk was conveniently located near an embedded software group, sparking his interest in their work. Driven by curiosity, Jack began taking computer science classes at night.
“I wanted to see if it was something I wanted to pursue,” he recalls. It turns out, software development was a perfect fit. After a year, Jack transitioned to the embedded software group, coding primarily in C++. His passion for software development didn’t stop there. Jack took advantage of opportunities to move within General Dynamics and accepted a similar role at General Dynamics Mission Systems in Dedham, MA. He has continued his education and is now working towards his master’s degree at the Georgia Institute of Technology.
Embracing Agile and Industry-Leading Tools
At General Dynamics Mission Systems, Jack thrives in an agile environment, where his week is meticulously planned with sprint activities. “This includes sprint planning, creating architecture design docs, implementing solutions in code, writing tests, and keeping each other honest during code reviews,” Jack shares.
The team’s commitment to updating their environment with industry-leading tools excites Jack the most. “Looking and feeling like a large tech company is what makes me feel most excited for the future,” he says.
One of the highlights of his work is the versatility it offers.
“I love how we can do anything from writing low-level firmware in Rust to working on a RESTful webserver, one sprint to the next,” Jack notes. While Jack acknowledges that Rust is excellent for performance-critical applications, he also sees the value in other languages like Python, Go, and Node.js for simpler, quick coding tasks. However, he is confident in the future of programming in Rust.
“I see Rust continuing in its current direction—as a great solution to the security issues caused by memory bugs in C/C++,” Jack predicts.
Career Opportunities at General Dynamics
Jack Williams’ journey from a mechanical engineer to a Rust software engineer at General Dynamics Mission Systems is a testament to his passion for learning and the opportunities available at General Dynamics across different locations and business units. His story is an inspiration for anyone looking to pivot their career and embrace new challenges in the ever-evolving tech landscape.