General Purpose of Job
To program and develop software for the purpose of controlling specialized automated equipment across various industries such as pharmaceutical, food & beverage, and automotive.
This is a demanding position that requires commitment and continuous learning. Technology is constantly changing and as a Programmer, you need to be able to adapt to these changes and embrace new challenges. Efficient, logical thought processes need to be continuously developed to succeed at providing solutions for our customers and the team.
Skills and Competencies
· Degree in Electrical Engineering or Equivalent Specialized Experience (ie. Technologist)
· Minimum 2+ Years’ Experience within the Automation industry
· Skills are required to perform multiple, technical tasks with a need to periodically upgrade skills in order to meet changing job conditions
· Maintain a positive outlook and continuously work on personal development
· Work cooperatively with others and contribute to a positive workplace
· Ability to manage tasks and use technology, resources, and time efficiently
Junior Programmer Duties and Responsibilities
· Demonstrate an understanding of electrical drawings and proper wiring practices
· Experience in the process of electrical design is a plus
· Good at troubleshooting problems and using PPE when working around live panels
· Be familiar with the following components; PLC, HMI, digital IO, analog IO, machine safety (hardwired, programmed)
· Be familiar with using computer VMs in order to run software unavailable on modern operating systems
· Participate in the wiring of electrical panel and the power-up process of panels PLC/HMI Programming at this level will require the following skills:
· Get online with a PLC, HMI, and other devices using ethernet
· Focusing on Rockwell software products (RSLogix 5000, FactoryTalk Studio)
· Understand and modify existing code, write programs based on existing code standards and structures (PLC and HMI)
· Configure HMI to interface with PLC
· Download HMI and PLC programs
· Understand and configure digital IO (proximity switches, dry contact monitoring…)
· Understand and configure analog IO (raw counts, scaling, and units…)
· Work with more senior staff to configure typical safety circuits including
EStops and motor enables
· Program basic code for manual and automatic control of digital signals
· Program and test alarming, messaging, indication-specific to project
· Be aware of VFD functionality and setup procedure & how to use PID loops
· GMP documentation and how it relates to the pharmaceutical industry
Other Duties Include:
· Backup and storage of programs as per ICI standards
· Understand ICI scheduling and budget requirements
· Communicate effectively with management, fellow staff, and customers the status of current projects, project concerns, and possible solutions
· Occasional travel as required (sometimes internationally)
Intermediate Programmer Duties and Responsibilities
· All the skills of a Junior Programmer
· Good knowledge of the principles of electrical design and ability to implement them
· Participate in testing and developing PLC/HMI code for new equipment
· Understand GMP and how it relates to the pharmaceutical industry
· Experience writing and executing SAT or FT documents
· Be familiar with 21 CFR Part 11 regulations
· Be familiar with SCADA packages, focusing on Ignition and WonderWare
· Be familiar with VFD and Servo programming & with basic SQL database functionality
PLC/HMI Programming at this level will require the following skills:
· Participate with writing and developing code for new devices and cross platforms
· Configure remote IO with other PLCs or devices
· Part transfer and status tracking
· Set up PLC from “out of the box” state
· Create, configure, and tune PID loops
Data Collection Programming at this level will require the following skills:
· Ability to work with more senior staff/IT to specify server requirements for data collection and storage in SQL databases
· Ability to understand the flow of data from creation and querying to storage and backup
Senior Programmer Duties and Responsibilities
· All the skills of a Junior and Intermediate Programmer
· Can successfully manage an industrial automation project from beginning to end
· Identify issues during the course of a project and provide solutions
· Ability to assist sales during the quote and build phase
PLC/HMI Programming at this level will require the following skills:
· Developing project-specific PLC/HMI templates for new customers or new platforms
· Program and develop specialized application-specific content, ie. Unique and specific PLC algorithms, implementation of VB Script or Python coding where appropriate
Data Collection Programming at this level will require the following skills:
· Ability to specify server requirements for data collection and storage
· Ability to develop solutions for acquiring, storing, and querying data from third-party devices or systems
· Ability to query the database for results display and validation for running in a station
· Work with customer requirements to ensure we have appropriate storage capacity and redundancy, clearly communicate as designed/built system capabilities and limitations
· Work with sales to assist with quoting, feasibility, and trials
· Work with sales, customer, design to ensure the overall process is feasible and identify data validity risks (ie. Where in the process does the part receive a unique identifier? Where do we need access to the database?)
Relationships
· You will work with all levels of staff (junior, intermediate and senior)
· You will work with electricians, mechanical developers, and other (non-ICI) programmers as per project demands
Occupational Health and Safety Act Responsibilities:
Workers have a general duty to protect their own health and safety and that of others around them. Workers must:
· Work in compliance to the Act and Regulations
· Use or wear any equipment, protective devices, or clothing required by the employer
· Not move or make ineffective any protective devices or clothing required by the employer.
· Report to the employer or supervisor any known hazards or missing or defective equipment or protective devices
· Report any known violation of the Act or regulations to the employer or supervisor
Workers should be proactive about health and safety. That means that workers must not only comply with the law, the employer’s policies, and workplace procedures, but they should also make suggestions to improve health and safety.
Physical Demands
This position may require frequent sitting, standing, walking, twisting, or rotating. It may require the occasional crouching, squatting, kneeling, bending, climbing, and crawling. Working in the controls department also requires constant cervical flexion, the chin to chest movement. Maximum lifting weight can reach about 75lbs, maximum carrying weight is about 40lbs, and the maximum pushing and pulling weights can reach 100-150lbs. Constant forward reach with both arms as well as constant handling and use of the fingers/pinching are both necessary. This position also requires frequent grasping.
Job Types: Full-time, Permanent