Software Engineer - Manufacturing Systems
Perrysburg, OH 43551
Basic Job Functions:
Evaluates, designs, and implements projects for controlling and interfacing with the manufacturing processes. This includes designing and developing related data visualization and user input systems, database structures, procedures, and reports. Works with the MES architects and controls engineers to ensure solutions integrate seamlessly with the MES hardware and software systems to support enterprise design goals. Provides execution system technical knowledge and resources to the MES development team. Provides the final level of support for manufacturing execution systems, data architectures, and data collection.
Education and Experience:
• Master’ s degree with four years of related work experience or two years of IT Experience.
• Bachelor’ s degree in Information Technology with six years of related work experience or four years of IT Experience.
• Associate’ s degree in Information Technology with eight years of related work experience or six years of IT Experience.
• Ten + years equivalent external work experience or eight years of IT Experience.
• 6+ years in either manufacturing systems or on software development teams using Microsoft .NET technologies
• 2+ years of experience interfacing with manufacturing control systems, shop floor interface/automation systems, programmable logic controllers (PLCs), or OPC data transfer.
• Proven Organizational and Project Managerial skills
• Demonstrated expertise with manufacturing software architecture and execution systems
• Proven Microsoft SQL Server design and T-SQL development expertise
• Desired experience interfacing with Allen Bradley Logix PLCs and RSLinx software
• Desired demonstrated success in integrating manufacturing hardware and 3rd party software systems
• Excellent understanding of computer operating systems and software applications.
• Excellent understanding of enterprise data systems
• Proven interpersonal communications, including the ability to drive international projects with multinational team members
Essential Functions & Responsibilities:
• Evaluate, configure, integrate, and deploy execution system software for controlling manufacturing processes and tool data collection.
• Integrate shop floor systems with custom-developed and off-the-shelf solutions.
• Design and develop data visualization and user input systems for manufacturing and related processes.
• Design and develop database structures and procedures to operate and maintain software systems.
• Supply manufacturing data and operation reports based on production data to strategic MES partners and support ongoing data collection operations.
• Develop software and database applications on a variety of platforms.
• Manage outsourced software development work
• Ensure good QA standards for software development
• Manage transitions from the developers (solutions group) to the support group
• Undertakes analytical activities and delivers analysis outputs, in accordance with customer needs and conforming to agreed standards.
• Maintains knowledge of specific technical specialisms provides detailed advice regarding their application and executes specialized tasks. The specialism can be any area of information or communication technology, technique, method, product or application area.
• Contributes to research goals and builds on and refines appropriate outline ideas for the evaluation, development, demonstration and implementation of research. Uses available resources to gain an up-to-date knowledge of any relevant IT field. Reports on work carried out and may contribute significant sections of material of publication quality. Contributes to research plans and identifies appropriate opportunities for publication and dissemination of research findings.
• Monitors the market to gain knowledge and understanding of currently emerging technologies. Identifies new and emerging hardware and software technologies and products based on own area of expertise, assesses their relevance and potential value to the organization, contributes to briefings of staff and management.
• Promotes and ensures use of appropriate techniques, methodologies and tools.
• Applies data analysis, data modeling, and quality assurance techniques, based upon a detailed understanding of business processes, to establish, modify or maintain data structures and associated components (entity descriptions, relationship descriptions, attribute definitions). Advises database designers and other application development team members on the details of data structures and associated components.
• Specifies user/system interfaces, and translates logical designs into physical designs taking account of target environment, performance requirements and existing systems. Produces detailed designs and documents all work using required standards, methods and tools, including prototyping tools where appropriate.
• Develops specialist knowledge of database concepts, object and data modeling techniques and design principles. Translates object and data models into appropriate database schemas within design constraints. Interprets installation standards to meet project needs and produces database components as required. Evaluates potential solutions, demonstrating, installing and commissioning selected products.
• Designs, codes, tests, correct and documents large and/or complex programs and program modifications from supplied specifications using agreed standards and tools, to achieve a well-engineered result. Takes part in reviews of own work and leads reviews of colleagues' work.
• Selects and uses tools and methods to establish, clarify and communicate the user experience, users' characteristics and tasks, and identifies the technical, organizational and physical environment in which complex products or systems will operate.
• Defines the integration build, accepts software modules from software developers, and produces software builds for loading onto the target environment. Configures the hardware environment, produces integration test specifications, and conducts tests, recording details of any failures and carrying out fault diagnosis.
• Assesses and analyses release components. Provides input to scheduling. Carries out the builds and tests in coordination with testers and component specialists maintaining and administering the tools and methods – manual or automatic - and ensuring, where possible, information exchange with configuration management. Ensures release processes and procedures are maintained.
• Identifies and resolves issues with applications, following agreed procedures. Uses application management software and tools to collect agreed performance statistics. Carries out agreed applications maintenance tasks.
• Investigates problems in systems and services. Assists with the implementation of agreed remedies and preventative measures.
• Uses appropriate methods and tools in the development, maintenance, control and distribution of quality and environmental standards. Makes technical changes to quality and environmental standards according to documented procedures. Distributes new and revised standards.