Senior Software Engineer

Ascentt
  • Ann Arbor, Michigan
  • Autofill and Review
6 days ago

Job Description

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.

Numbers & Facts

LocationAnn Arbor, Michigan

Skills

  • Algorithmsunmatched
  • Analysis Skillsunmatched
  • Automationunmatched
  • C Programming Languageunmatched
  • C++ Programming Languageunmatched
  • C++ Standard Template Library (STL)unmatched
  • CMakeunmatched
  • Clean Technologiesunmatched
  • Code Reviewsunmatched
  • Coding Standardsunmatched
  • Communication Skillsunmatched
  • Computer Engineeringunmatched
  • Computer Scienceunmatched
  • Concurrencyunmatched
  • Continuous Deployment/Deliveryunmatched
  • Continuous Integrationunmatched
  • Data Structuresunmatched
  • Debugging Skillsunmatched
  • Debugging Toolsunmatched
  • Design Patterns Programming Methodologiesunmatched
  • Documentationunmatched
  • GDB (Gnu Debugger)unmatched
  • GNU C Compilerunmatched
  • Gitunmatched
  • Identify Issuesunmatched
  • Integration Testingunmatched
  • Jenkinsunmatched
  • Linux Operating Systemunmatched
  • Memory Managementunmatched
  • Multithreaded Programmingunmatched
  • Object Oriented Design (OOD)unmatched
  • Performance Tuning/Optimizationunmatched
  • Python Programming/Scripting Languageunmatched
  • Quality Assuranceunmatched
  • Quality Managementunmatched
  • Regression Testingunmatched
  • Requirements Managementunmatched
  • Root Cause Analysisunmatched
  • Software Administrationunmatched
  • Software Designunmatched
  • Software Developmentunmatched
  • Software Engineeringunmatched
  • Static Analysisunmatched
  • System Testunmatched
  • Team Playerunmatched
  • Test Automationunmatched
  • Testingunmatched
  • Time Managementunmatched
  • Traceabilityunmatched
  • Unit Testunmatched

Be found by employers

5,500+ employers search our resume database daily. Add yours to get found by recruiters looking for candidates like you.

Level up your application

Professional resume templates

Browse dozens of recruiter approved resume templates, layouts and formats. Choose your favorite and make it your own in minutes.

Free resume templates

Free resume builder

Improve your existing resume or start from scratch and create a standout, ATS-friendly resume. Add job-specific content, download and apply.

Free resume builder