Software Engineer-Manufacturing Systems
Role details
Job location
Tech stack
Job description
The Software Engineer-Manufacturing Systems is responsible for designing, developing, implementing, and maintaining software applications that support operations across multiple departments within the plant. This position works closely with plant personnel, engineers, and business stakeholders to develop software solutions that improve productivity, quality, safety, reporting, and operational efficiency. The successful candidate will be a motivated self-starter who demonstrates strong problem-solving abilities, a willingness to learn new technologies, and a commitment to delivering reliable software solutions in a fast-paced industrial environment. Responsibilities:
- Design, develop, test, deploy, and maintain software applications that support critical plant operations, manufacturing processes, and business functions across multiple departments.
- Troubleshoot, diagnose, and resolve software issues in production systems, identify root causes, and implement effective corrective actions to minimize operational disruptions.
- Collaborate with plant personnel, engineers, and business stakeholders to gather requirements, analyze business needs, and develop software solutions that improve safety, quality, productivity, and efficiency.
- Maintain and enhance existing software systems by implementing new features, improving performance, and ensuring application reliability, scalability, and security.
- Develop and support enterprise software solutions using Java Enterprise Edition (JEE), JBoss Application Server, and related technologies.
- Design and develop mobile and web applications utilizing Flutter and Dart technologies to support plant and business operations.
- Develop and maintain multi-threaded and distributed applications that handle real-time plant data and business transactions efficiently and reliably.
- Participate in software quality assurance activities, including code reviews, testing, debugging, and validation to ensure software meets functional and performance requirements.
- Create and maintain technical documentation, including system designs, programming specifications, operational procedures, and user documentation.
- Monitor application performance and continuously improve software solutions by applying new technologies, best practices, and lessons learned to support evolving plant needs.
Requirements
- Bachelor's degree in Computer Science from an accredited institution. Degrees in other disciplines may be considered only if curriculum and experience demonstrate equivalent coursework in data structures, algorithms, discrete mathematics, and software development. *If using a degree other than Computer Science, you MUST submit a copy of your transcripts.
- 0 to 3 years of relevant software development experience, including internships, co-op assignments, academic projects, or equivalent practical experience.
- Knowledge of object-oriented programming principles and experience using languages such as Java, C#, C++, or similar, gained through academic projects, internships, or professional experience.
- Passionate about software development
- Excellent work ethic
- Excellent trouble shooting skills
Preferred:
- Experience in JEE software development
- Familiar with JEE best practices.
- Experience creating multi-threaded applications.
- Experience with any relational database such as DB2, SQLServer, etc.
- Experience with JSF / PrimeFaces UI Framework for JEE
- Knowledge of Software Development Life Cycle
- Experience with JBoss application server
- Experience with the Eclipse development environment
- Experience with any reporting tools (JReports, BiRT, etc)
- Experience with creating and consuming web services.
- Experience with distributed computing and queuing technologies including JMS
- Experience with Flutter / Dart for Android and Web development
- Experience with Linux server environments