Software Engineer - C++
Job Description
Rockwell Automation is seeking a Software Engineer to contribute to FactoryTalk Optix, an HMI visualization platform used to design applications that control production processes. The role combines feature delivery with subsystem implementation, testing, maintenance, and collaboration with local and global teams using Agile/SCRUM and SAFe practices.
What You Will Do
- Contribute to feature requirements and documentation by capturing the information needed for software development and test cases.
- Implement software features and enhancements based on established designs and requirements.
- Document code and technical decisions clearly to support maintainability and team collaboration.
- Develop and execute unit tests, and help report, analyze, debug, and correct software issues with guidance as needed.
- Participate in reviews covering documents, designs, code, test cases, and user documentation.
- Plan, develop, and execute test cases and automated tests to support functional test coverage.
- Verify that documented test cases and specifications validate documented software requirements.
- Perform product testing, document results, and follow up on issues found during testing.
- Investigate the origin and cause of software anomalies with support from the team.
- Contribute ideas to improve software development practices, development tools, and test automation.
- Learn and apply relevant technologies and standards to address engineering challenges.
- Communicate technical concepts clearly, verbally and in writing.
- Build familiarity with industrial control system concepts and how they apply to FactoryTalk Optix.
How This Fits the Product
You will work on FactoryTalk Optix, an HMI visualization software platform known for flexibility and ease of use. Users design applications to control the production process in a variety of environments, and applications can be deployed to targets such as OptixPanels, ASEM 6300 industrial computers, or user-provided machines running Optix Runtime Tools on Windows or Linux.
Collaboration and Process
This position supports the development lifecycle by collaborating with the team to deliver assigned work and help ensure products meet requirements and quality standards. You will work with local and global teams and perform software testing tasks that include test development, execution, troubleshooting, and documentation. The role reports to a Software Engineering Manager, with support from more experienced engineers as you grow your technical skills.
Required Qualifications
- Bachelor's Degree or equivalent years of relevant work experience.
- Legal authorization to work in the US is required.
Technologies You May Work With
- C++, C#, TypeScript, Qt, .NET, React
- Kubernetes, Helm, Docker
- MariaDB
- GitHub Actions
- Visual Studio, Visual Studio Code
- Linux, WSL
- FactoryTalk Optix, OptixPanels, ASEM 6300, Optix Runtime Tools
Preferred Qualifications
- Typically requires 2 years of relevant technical experience.
- Degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent.
- Experience in a software product development environment.
- Working knowledge of C++, C#, or TypeScript.
- Familiarity with Qt, .NET, or React.
- Experience creating, configuring, and managing container infrastructure (Kubernetes, Helm, Docker).
- Experience designing, developing, and maintaining applications that leverage MariaDB, including database schema design, query optimization, and performance tuning.
- Experience using AI models for design, debugging, and implementation.
- Experience creating or updating GitHub Actions.
- Experience with Visual Studio and Visual Studio Code IDEs.
- Experience documenting and reviewing designs.
- Familiarity with Linux/WSL.
Benefits
- Health Insurance including Medical, Dental, and Vision
- 401k
- Paid Time off
- Parental and Caregiver Leave
- Flexible Work Schedule coordinated with your manager to support a schedule that can be flexible with your personal life
Location and Education
- Milwaukee, WI (hybrid)
- Bachelor's Degree