Software Engineer

Ann Arbor, MI, US • Posted 3 hours ago • Updated 3 hours ago
Contract W2
12 Months
No Travel Required
On-site
$50 - $55/hr
Fitment

Dice Job Match Score™

🔢 Crunching numbers...

Job Details

Skills

  • C++
  • Artificial Intelligence
  • Code Review
  • DevOps
  • GitLab
  • GitHub
  • Large Language Models (LLMs)
  • Software Engineering
  • Testing
  • Embedded Software
  • Continuous Integration and Development
  • Reporting
  • Python
  • C/C++

Summary

AVA Consulting is seeking a Software Engineer

 

Location:  Ann Arbor, MI 

 

U.S. Citizens and those authorized to work in the U.S. are encouraged to apply. We are unable to sponsor at this time.

 

Company Background: Our client, a major employer in the area, is looking for a Software Engineer to be part of its team in its North American operations.

 

Job Description:

  • Client is looking for a passionate and highly motivated Software Development and Automation Engineer.
  • The primary, long-term responsibility of this role is to develop and maintain production software. This engineer will participate in the full software development lifecycle, including reviewing and decomposing requirements, designing software, implementing C/C++ code, developing tests, resolving defects, and supporting software releases.
  • We're looking for someone who wants to own production software and also improve the tools and processes used to develop it.
  • During the first six months, this position will focus primarily on developing and integrating internal tools into our continuous integration and delivery (CI/CD) pipelines, working alongside our engineers. These tools include large language model (LLM) applications for requirements and code review, automated unit test reporting, and documentation generation. The engineer will make these capabilities reusable across existing and future repositories.
  • Beginning after the first month, this person will also contribute to production software development, requirements reviews, sprint planning, and releases. After the initial six-month period, production software development will become the primary focus, with continued technical ownership and improvement of the pipelines and tooling established during the initial assignment.
  • Reporting to the Sr. Manager, the person in this role will support IVS's objective to deliver high-quality software while improving development efficiency, automation, and consistency.

 

Production software development:

  • Review, clarify, and decompose system and software requirements into implementable and testable software requirements.
  • Design, implement, debug, and maintain production C/C++ software.
  • Develop and maintain unit tests, support integration testing, and maintain traceability between requirements, implementation, and verification.
  • Investigate software defects, identify root causes, implement corrective actions, and verify fixes.
  • Participate in requirements, design, and code reviews to improve correctness, maintainability, and testability.
  • Work with teammates to plan development tasks, document software designs, and support integration and releases.
  • Continue maintaining and improving the team's development pipelines and tooling as production software needs evolve.

 

Tooling and Automation:

  • Integrate our AI requirements and code checker into CI/CD pipelines, publishing actionable results through pull request reports or pipeline jobs.
  • Extend unit test tooling so each pull request includes plots showing results for nominal test cases, alongside automated test outcomes.
  • Automate Typst document builds and create reusable templates for engineering work products, including a command for creating a new document from any template.
  • Package tooling and pipeline integrations for reuse across repositories, using one configuration file per repository, and demonstrate adoption on a new repository.
  • Write and maintain installation, configuration, operating, and troubleshooting instructions that allow engineers to use the tools independently.
  • Work with internal engineers and the supporting vendor team to define interfaces, resolve integration issues, and deliver maintainable tooling.
  • Propose, prototype, and evaluate additional uses of LLMs in software development, including output quality, failure handling, and appropriate human review.

 

  • Requirements:
  • Three or more years of professional software engineering experience.
  • Hands-on C/C++ experience developing, testing, debugging, and maintaining production software.
  • Experience reviewing software requirements, translating them into software designs and code, and defining tests to verify the intended behavior.
  • Experience participating in code reviews, investigating defects, and supporting software integration and releases.
  • Strong experience implementing and maintaining CI/CD pipelines using Azure DevOps, GitHub Actions, GitLab CI, Jenkins, or a comparable platform.
  • Experience using containers to provide consistent build and tooling environments.
  • Proficiency in Python or a comparable scripting language, including integrating tools and working with existing codebases.
  • Experience with automated unit testing, frameworks such as GoogleTest, and processing machine-readable test results for reporting.
  • Hands-on experience calling LLM APIs, developing prompts, evaluating output quality, and implementing error handling and fallback behavior.
  • Clear technical writing demonstrated through software design documentation, installation guides, or operating instructions.
  • Experience translating evolving requirements into working software and resolving technical ambiguity with teammates.

 

Added Bonus:

  • Experience creating templates and automated builds with Typst, LaTeX, or another documentation-as-code system.
  • Experience generating engineering plots or automated reports using Matplotlib or comparable visualization tools.
  • Experience developing automotive or embedded software, including requirements traceability or work within a functional safety process.
  • Experience delivering shared developer tooling or reusable CI/CD components adopted by multiple repositories or teams.

NOTE: Interested Candidates can apply by sending their Updated Resume and Contact Details.

 

Ron Tolson

 

AVA Consulting

 

Fax:

 

Web:

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.
  • Dice Id: 10125450
  • Position Id: AVA1522075
  • Posted 3 hours ago
Contact the job poster
Ron Tolson

Ron Tolson

Recruiter @ AVA Consulting

Create job alert
Never miss an opportunity! Create an alert based on the job you applied for.