Job Description The Microgrid Programmer will collaborate with the Systems Engineering and Manufacturing teams to design and implement programs, subroutines, function blocks, and firmware that automate UIG power and monitoring equipment. This role supports the integration of UIG's GridSure advanced control and analysis platform and the UIG Hardware-in-the-Loop (HIL) platform. The ideal candidate will program across multiple platforms, using IEC 61131, SQL, C, C++, Java, Python, HTML5, and others. They will test programs and files, conduct I/O checks, troubleshoot electrical issues, and help bring UIG equipment from concept through production and the full product lifecycle. The Microgrid Programmer will report to the VP of Engineering and take daily direction from the VP of SCADA and Controls. Key Responsibilities Program and implement integration solutions using the GridSure application software, web UI framework, and common industrial control hardware Produce complete and accurate product and programming designs for internal UIG consumption, as well as customer consumption Create programming files for the various control and communication devices associated with the Hardware-in-the-Loop platform Utilize MATLAB, C++, Java, Python, IEC 61131 to program user interfaces, create device mapping profiles, and recreate models of UIG Microgrids for the HIL platform Experience working with the OPC UA protocol and at least two of the following protocols: Modbus, DNP3, IEC 61850, Profinet, and MQTT Support the programming of the UIG Hardware-in-the-Loop simulation platform using C++, MATLAB, and industrial communication protocols Support the programming of any UIG products from designs provided by the Systems Engineering team Summarize data and report on test results Ensure schedules and milestone dates are achieved Provide coordination and documentation for internal UIG teams Resolve any outstanding questions or issues for the Systems Engineering team Work with engineering drawings from ePlan and AutoCAD, sketches, verbal descriptions, specifications, and technical information Modify programs based on verbal instruction, sketches, drawings, and conceptual descriptions Demonstrate continuous effort to improve operations, decrease turnaround times, streamline work processes, and work cooperatively and jointly to provide quality engineering designs Communicate orally in the English language with engineers, drafters, and manufacturing personnel via phone and face-to-face The candidate is a great collaborator and contributor Aid in keeping the overall engineering schedule on track; raise red flags early when milestones are at risk Own program-level support efforts Tools and EnvironmentThe GridSure Hardware-in-the-Loop simulation environment includes: GridSure SCADA (Inductive Automation's Ignition Perspective) Opto22 Groov Epic (Codesys and Groov Epic features) UIG 3-Phase Injection boards MATLAB/Simulink for modeling power and control systems Required Qualifications Pursuing a Bachelor's degree in Engineering, Computer Science, Physics, or a related technical field from an accredited university Entry-level candidates are welcome, and no experience in automation systems and SCADA integration is required Strong analytical, communication, and organizational skills with a focus on continuous improvement Proficient with Microsoft Office Suite Ability to collaborate effectively with peers and management Willingness and ability to travel up to 35% annually Knowledge, Skills, and Abilities Proficient with MS Office applications (Outlook, Word, Excel, PowerPoint, etc.) Proficient with SQL and relational databases Proficient in Java and Python programming Proficient in MATLAB Proficient in PLC programming tools and languages (CODESYS, Structured Text, Ladder Logic, etc.) Familiarity with industrial communication protocols: Required: OPC UA, at least two of Modbus, DNP3, IEC 61850, Profinet, MQTT Preferred: CANopen, J1939, EtherCAT Ability to interpret electrical and mechanical engineering drawings Manual dexterity to operate digital equipment, including computers and machine controllers Ability to work safely around electrical testing environments and industrial processes Work Environment Primarily in-office, with the exception of R&D facility and job site visits Please note: We are unable to offer visa sponsorship for this position. Candidates must have current work authorization in the United States Apply for this Position Microgrid Programmer Position First Name Last Name Your email address Attach your CV/Resume (.pdf) Please tell us about yourself Leave this field blank Submit