Build and QA Infrastructure Engineer
Business Unit: Product Lifecycle Management-PLM
Requisition Number: 228132
Primary Location: United States-Ohio-Milford
Assignment Category: Part-time regular
Experience Level: Mid level
Education Required Level: Bachelor's Degree
Travel Required: 15%
Siemens is a global technology powerhouse that has stood for engineering excellence, innovation, quality, reliability and internationality for more than 165 years. As a global technology company, Siemens is rigorously leveraging the advantages that this setup provides. To tap business opportunities in both new and established markets, the Company is organized in nine Divisions: Power and Gas, Wind Power and Renewables, Energy Management, Building Technologies, Mobility, Digital Factory, Process Industries and Drives, Healthineers and Financial Services.
The Siemens Digital Factory Division offers a comprehensive portfolio of seamlessly integrated hardware, software and technology-based services in order to support manufacturing companies worldwide in enhancing the flexibility and efficiency of their manufacturing processes and reducing the time to market of their products.
For more information, please visit: http://www.siemens.com/businesses/us/en/digital-factory.htm
In this position, you will support software build and Quality Assurance (QA) for the NX Nastran application. As part of the Nastran Development Operations group, your focus will be on ensuring fast and dependable builds, along with the associated QA testing to ensure Nastran continues to produce correct answers to difficult engineering problems. You will report to the Software Engineering Manager for the Dynamics, Numerical Methods, and Development Operations Team. In this role, you will maintain and improve existing build and test infrastructure. You will leverage your past experience in automated build and testing suites to bring a broader software engineering industry perspective to the Development Operations group.
Your primary responsibilities will be to (1) ensure the efficient operation of Nastran builds and testing across several configurations and OSes; (2) consult on and implement improvements to the build and testing software infrastructure; (3) consult with Nastran developers on improvements to developer tools, and implement said improvements.
Ensuring the correctness of Nastran is essential, and a working knowledge of criteria for ensuring numerical correctness of simulations is key. Additionally, you will be expected to use, and suggest improvements to, both internal and external tools used in the software development process. A good grasp of Agile software development methodologies is helpful.
• Build, compile, and test a complex application written in several languages, including Fortran, C, and C++, on both Windows and Linux platforms.
• Use and improve automated systems for software build and test, including bespoke scripts written in Perl and Python.
• Use and improve build and test status dashboards written using JS, HTML, & CSS
• Use and manage a task-based job runner (Celery).
• Help design and implement applications for numerical differencing of test output and triage of test failures.
• Provide support to developers in determining the sources of test failures.
• Manage and improve performance of a spot-check system for early testing of software changes.
Required Knowledge/Skills, Education, and Experience
• Bachelor’s degree in Computer Science, Information Systems, Computer Engineering or another heavily technical program. Two to five years’ experience in the build and testing of Enterprise software applications.
• Use of Test Case Runners and automated testing tools
• Use of build tools, e.g. make and nmake
• Writing Python or Perl Scripts
• Writing Java Script, HTML, CSS
• Facility with both Windows and Linux Operating Systems
• Facility with Source Code Management systems (Perforce, Git)
• Software testing for numerical correctness
• Continuous Integration (CI) build environments, using e.g. Jenkins
• 2-5 years’ experience in quality assurance and in developing automation frameworks and automated tests
• Experience in building and testing enterprise software applications
• Thorough knowledge of fundamental quality assurance concepts and best practices
• Proven ability to execute in a customer focused environment and advocate for quality
• Self-starter, little supervision required
• Ability to interact with both Development and Build/Test team members, and positively influence either
• Strong problem-solving skills and strong analytical mind
• Minimal travel.
Preferred Knowledge/Skills, Education, and Experience
• Use of VM and Container resources in build and test environments
• Experience working in an Agile/Scrum environment
• Ability to effectively articulate technical challenges and solutions.
• Expertise related to tool selection and implementation
• Hands-on experience in setting up automated testing as part of continuous integration
• Software development skills.