Senior Software Engineer
KB Signaling · Melbourne, FL · 2 wk ago
On-siteEngineering$90k–$135k/yrFull-time
Responsibilities
- Define the software requirements specifications.
- Define software architecture, design and implement the code.
- Excellent familiarity and use of configuration management tools to create baselines, merge source file changes and make formal software releases.
- Build and maintain interfaces between Windows-based applications and SCADA systems.
- Develop and maintain communication of SCADA systems and industry standard protocols such as Genisys, Modbus, UDP, TCP/IP, and Serial Communication.
- Integrate software with PLCs from various vendors (e.g. Allen-Bradley).
- Collaborate with cross-functional engineering teams to define system requirements and ensure seamless integration.
- Making main technical choices for software development.
- Optimize and maintain legacy codebases written in C, C++, and C#/.Net.
- Conduct code reviews, testing, and debugging to ensure high-quality deliverables.
- Document software architecture, design decisions, and integration workflows.
- Apply Object-Oriented Programming (OOP) principles to contribute to robust software design.
- Provide technical leadership and mentorship to junior developers.
- Consistent achievement of Software Engineering targets (safety, scope, quality, schedule, budget, and technical performance) across Office application programs, project development, and product sustaining efforts.
- Adherence to department budget and utilization targets while on-time project staffing.
- Adherence to Software Engineering processes, including requirements management, traceability, defect tracking and source code management.
- Development and continued growth of competencies in C, C++, C#/.Net.
Qualifications
- Desirable: Bachelor’s Degree of Science in Computer Science, Engineering or related field
- 7+ years of experience in software development and architecture in a Windows environment
- Proficiency in C, C++, C#/.Net technologies
- Strong experience with SCADA systems and industrial automation interfaces
- In-depth knowledge of Modbus (RTU/TCP) communication protocols
- Experience integrating with PLCs and industrial control systems
- Solid understanding of multithreading, memory management, and performance optimization
- Experience with industrial communication standards (e.g., OPC UA/DA)
- Experience with GE Cimplicity SCADA systems
- Preferred: Experience with Web Gui/Full-stack development both front and back-end development
- Experience with real-time and embedded development, FPGA experience, board bring-up, peripheral bring-up and low-level driver development
- Knowledge of industrial cybersecurity best-practices
- Familiarity with Agile/Scrum methodologies
- Experience with scripting languages (e.g., Python, PowerShell) for automation tasks
- Development in a Linux environment is a plus
- Solid grasp of software design patterns and object-oriented principles
- Exposure to AI frameworks or machine learning libraries
- Demonstrated experience in developing software solutions involving GPS technologies
- Experience working with a client server architecture
- Experience with Microsoft Visual Studio development environment
- Experience with Microsoft SQL server database
- Experience with Microsoft Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) and XAML