MogiMogiJobsPowered by MobiusEngineLet Mogi apply

Ascentt

Senior Software Engineer

Ann Arbor, MI · 1 week ago

Full-time

About the job

Employment type: Full-Time / Contract

About the Job:

• We are seeking a C, C++ Software Engineer with strong hands-on experience designing, building and maintaining high-quality, performant software in C and C++.
• The engineer owns features end to end — from requirements and design through implementation, testing, debugging and release — as part of a collaborative engineering team.

What you will do:
• Design, develop and maintain production quality software in C and C++ (C++11/14/17 or later).
• Translate functional and technical requirements into clean software designs and well-structured code.
• Apply object-oriented design, design patterns and the STL to build modular, reusable and maintainable components.
• Write efficient, reliable code with careful attention to memory management, pointers, multithreading and performance.
• Develop and debug in Linux based environments using GCC/Clang, GDB and Make/CMake.
• Develop and execute unit, integration and regression tests to ensure software quality.
• Profile, troubleshoot and root cause defects using debuggers, logs and analysis tools such as Valgrind, sanitizers and static analysis.
• Maintain software design documentation and requirements traceability in Jama Connect or comparable tools.
• Contribute to code reviews, coding standards, static analysis and CI/CD automation using Git, Jenkins and Python.
• Collaborate with fellow developers, QA, product and project stakeholders to deliver on schedule.

This is a hands-on C/C++ development role. Candidates must be able to walk through C/C++ code they personally wrote — design choices, trade-offs and how they debugged it.

What we are looking for:
• Bachelor's degree in Computer Engineering, Computer Science or a related field with 4+ years of relevant experience, or a Master's with 2+ years.
• Strong hands-on software development in C and C++, including memory management, pointers, data structures and algorithms.
• Experience developing and debugging in Linux-based environments (GCC/Clang, GDB, Make/CMake).
• Solid understanding of object-oriented design, design patterns and the C++ Standard Library (STL).
• Experience with multithreading, concurrency and performance optimization.
• Experience developing and executing unit, integration, regression and system-level tests.
• Experience with software design documentation and requirements traceability (Jama Connect or comparable tools).
• Experience with Git-based workflows and Jira.
• Strong troubleshooting, root-cause analysis, documentation and communication skills.

Preferred Qualifications:
• Experience with modern C++ (C++17/20) and Boost.
• Experience with unit-testing frameworks (GoogleTest, Catch2) and debugging/profiling tools (GDB, Valgrind, sanitizers).
• Familiarity with coding standards and static analysis (MISRA C/C++, CERT, clang-tidy, Coverity).
• Experience with Python, Jenkins, CI/CD pipelines and automated testing.