Software Engineer II
Job Description
The Software Automations Engineer II supports automated process control by translating process concepts into machinery, improving and modifying software that interfaces with hardware, and developing new program-controlled processes aligned to manufacturing requirements.
Location
Roanoke, VA (onsite)
Compensation
USD 82,518 - 136,272 per year
Role Summary
This position works with a team of automation engineers and process engineers to translate process control concepts into machinery. Responsibilities include supporting and modifying software interfacing with hardware on existing equipment, as well as designing new program-controlled processes to meet manufacturing requirements. Basic electronics knowledge is applied alongside familiarity with industrial protocols and interface techniques. The role participates across the software development life cycle, including specification, design, programming, implementation, integration, commissioning, and debugging.
The work supports program design across areas such as robotics, electronics, machine vision, analog and digital signal applications, data systems, and mechatronics. Software development experience is expected to include proficiency in multiple computer languages to meet programming objectives for automated process control, test/measurement, and data integration. Programs are used 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
- 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, including 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
Requirements
- 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, plus 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
Technologies
- Visual Studio
- SQL Server
- MS Office
- Windows
- SQL
- GIT
- TFS
- SourceSafe
- Subversion
Benefits
- Most locations offer a 9/80 schedule, providing every other Friday off
- Competitive compensation and a 401(k) program
- Robust medical, dental, vision, and disability coverage with qualified wellness discounts
- Basic Life Insurance and Additional Life & AD&D Insurances available
- Flexible Vacation & PTO
- Paid Parental Leave
- Generous Employee Referral Program
- Voluntary Benefits available: Longer Term Care, Legal, Identity Theft, Pet Insurance, and more
- Voluntary Tricare Supplement available for military retirees
Why Roanoke, Virginia
- Lower cost of living
- Family-friendly area
- Career and economic growth
- Scenic beauty
- Outdoor enthusiast’s dream