Back to jobs

Software Engineer II
Roanoke, VA, USPosted 2 days ago
onsite
Job Description
Software Automations Engineer II
Job Summary
The Software Automations Engineer II works with a team of automation engineers and process engineers to translate process control concepts into machinery, support and modify software interfacing with hardware on existing equipment, and design new program‑controlled processes to meet manufacturing requirements. Basic electronics knowledge and familiarity with industrial protocols and interface techniques are applied to the developed programming solutions.
This role participates in the full software development life cycle, including specification, design, programming, implementation, integration, commissioning, and debugging. The position offers opportunities to apply program design to robotics, electronics, machine vision, analog and digital signal applications, data systems, and mechatronics.
Software development experience should include proficiency in various computer languages to address programming objectives related to automated process control, test/measurement, and data integration. Programs are created to connect construction and testing processes to test equipment, data collection systems, analog and digital control points, machine vision systems, motion control, and other specialized peripherals.
Responsibilities
The Software Automations Engineer II collaborates with technicians and engineers across multiple departments to:
• Document project requests to create statements of work, use cases, and related documentation• Identify opportunities to improve system quality, efficiency, and robustness• Write clean, well‑tested code with effective error handling• Create test plans and ensure quality using industry best practices such as unit and regression testing• Develop proofs of concept for new and innovative solutions• Enable data movement between equipment and databases• Break down large, complex technical projects into defined stages and deliverables• Work across multiple software and hardware platforms
Qualifications
• Bachelor’s degree in computer science (BSCS), Computer Engineering (BSCE), Electrical Engineering (BSEE), or a major in computer programming/engineering with a minor in electrical engineering, 3 years of related experience. • Proficiency with Visual Studio, SQL Server, MS Office, and Windows• Experience with relational databases and SQL• Ability to produce and maintain high‑quality, tested, and efficient code following industry standards• Strong understanding of design patterns, multithreading, and distributed systems• Experience in object‑oriented analysis and design using common design patterns• Practical understanding and motivation to apply software programming skills to control electronic components and interfaced systems• Knowledge of industrial networking• Versatile programming skills• Strong troubleshooting and investigative skills for equipment, process, and data modifications• Experience with source‑code version control systems such as GIT, TFS, SourceSafe, Subversion, etc.• Ability to obtain a security clearance is required