Dice is the leading career destination for tech experts at every stage of their careers. Our client, Emergere Technologies, is seeking the following. Apply via Dice today!
Title: Senior Software Engineer
Location: Houston, TX (Hybrid - 3 days a week)
There will be some occasional travel to Canada that is required. All travel will be reimbursable or covered.
Duration: 12+ months
Experience: 12+ years
Role Summary
We are seeking a highly skilled and motivated Senior Software Engineer with expertise in C, C++, and Java programming languages, as well as experience with PLC (Programmable Logic Controller) and RTAC (Real-Time Automation Controller) systems. As a Senior Software Engineer, you will be responsible for designing, developing, and maintaining software solutions for our organization's automation systems. This is an excellent opportunity to work on cutting-edge technology and contribute to the advancement of our automation offerings. The ideal candidate will have a deep understanding of industrial automation systems, strong programming skills, and the ability to lead complex projects from conception to implementation.
Essential Job Function & Responsibilities
Regular attendance, by the company's attendance policy and supervisory assignment, is an essential job duty requirement for this position.
Software Development:
- Design, develop, and implement software applications using C, C++, and Java programming languages.
- Collaborate with cross-functional teams to gather requirements and translate them into software designs.
- Write clean, efficient, and maintainable code following coding standards and best practices.
- Participate in code reviews and ensure adherence to best practices and coding standards.
- Develop and implement control algorithms, communication protocols, and user interfaces.
PLC and RTAC Integration:
- Interface with PLC and RTAC systems to develop software modules that control, monitor, and optimize automation processes.
- Implement communication protocols and interfaces (e.g., Modbus, DNP3.0, Profibus, Ethernet/IP) for seamless integration with automation systems.
- Develop software solutions for data exchange and synchronization between automation systems and external devices or software interfaces.
Testing and Debugging:
- Conduct thorough testing and debugging of software applications to ensure reliability and quality.
- Collaborate with the QA (Quality Assurance) team to ensure optimal performance, functionality, and user experience.
- Identify and resolve software-related issues promptly and efficiently. Troubleshoot and resolve software issues in a timely manner.
- Conduct system integration, testing, and validation to ensure seamless operation.
Documentation and Reporting:
- Create and maintain comprehensive technical documentation, including design specifications, user manuals, release notes, and technical guides.
- Provide regular reports and updates on software development progress to the project team and stakeholders.
- Maintain accurate and up-to-date documentation of software development activities.
Continuous Learning and Innovation:
- Stay updated with the latest trends and advancements in software engineering, PLC, and RTAC systems.
- Continuously explore and propose innovative ideas to improve software functionality, efficiency, and performance.
- Provide technical guidance and mentorship to junior engineers and other team members.
- Lead and manage multiple projects, ensuring they are completed on time and within budget.
- Collaborate with cross-functional teams to define project requirements and specifications.
Required Qualifications:
- Education: Bachelor’s or master’s degree in computer science, electrical engineering, power systems, software engineering, or a related field.
- Years of Experience: 7+ years of experience.
- Strong proficiency in C, C++, Python, and Java programming languages.
- Experience in developing software solutions that integrate with PLC and RTAC systems.
- Familiarity with communication protocols and interfaces such as Modbus, DNP, OPC UA/DA, Profibus, or Ethernet/IP.
- Solid understanding of software development principles, methodologies, and best practices.
- Strong analytical and problem-solving skills.
- Experience with SCADA systems and HMI development.
- Experience with software testing, debugging, and maintenance.
- Knowledge of version control systems (e.g., GitHub) and software development tools.
- Proficient in Jira, DevOps & Agile project management tools.
- Excellent teamwork and communication skills to work collaboratively with cross-functional teams.
- Excellent problem-solving skills and attention to detail.
- Ability to manage multiple tasks and prioritize effectively.
- Proven track record of leading successful projects in an industrial automation setting.
- Experience with safety-critical systems and compliance with industry standards (e.g., IEC 61508, ISO 13849).
- Experience with cloud-based monitoring and control solutions.
- Knowledge of NERC CIP standards.
- Experience in PV, Wind & BESS EMS/SCADA product development.
12+ years - Senior Software Engineer (C++) - Houston, TX - Onsite - PLC, RTAC, C++ - Energy Domain experience is needed.
#J-18808-Ljbffr