Title:  Software Development Engineer

Job ID:  20201
Location: 

ST Electronics Hub, SG

Description: 

Role

Software Engineer / Software Developer

 

Job Purpose

Design, develop, and maintain Human-Machine Interface (HMI) software applications used in train and metro Platform Screen Doors (PSD) that meet business and technical requirements. The role involves close collaboration with hardware, firmware, and PLC teams to deliver scalable, reliable, and production-grade solutions for real-time monitoring, diagnostics, and configuration.

 

Key Responsibilities

  • Design, develop, optimize, and maintain software applications for Platform Screen Doors (PSD) systems, ensuring an intuitive frontend user experience and a robust backend architecture.
  • Implement and maintain .NET (C#) applications following the MVVM and object-oriented design patterns for modularity, scalability, and maintainability.
  • Develop and optimize SQL queries and database schemas to ensure high performance and data integrity.
  • Integrate software with hardware, PLC, and cloud systems using communication protocols (RS232, OPC-UA, etc), while handling binary-level data to enable precise, reliable, and deterministic communication across connected systems.
  • Collaborate with hardware, firmware, PLC and QA teams to ensure seamless integration and verification.
  • Apply secure coding practices aligned with industry standards, leveraging version control for effective collaboration.
  • Ensure code quality through testing, peer reviews, and adherence to software best practices.
  • Identify and implement security features to address potential risks and vulnerabilities.
  • Conduct unit and integration testing, perform code reviews, and troubleshoot complex issues using root cause analysis techniques.
  • Maintain comprehensive software design, architecture, and user documentation to support knowledge sharing and long-term maintenance.
  • Work with customer-facing teams to transform requirements into actionable technical solutions.
  • Participate in iterative development cycles and contribute to continuous improvements that enhance reliability, efficiency, and delivery quality.

 

Required Qualifications

  • Bachelor’s degree in Computer Science, Software Engineering, or related field.
  • Minimum 3 years’ experience in software application development using object-oriented programming (e.g., C#, Java, etc).
  • Proficiency with the .NET framework and MVVM architecture
  • Experience in SQL databases, including query optimization and schema design.
  • Solid understanding of the software development lifecycle (SDLC) and iterative methodologies.
  • Experience with asynchronous programming and multithreading.

 

(optional)

  • Experience in developing mobile or cloud-based applications, including backend integration, APIs, and deployment workflows.
  • Familiarity with AI-driven predictive analytics.

 

Skills

  • Understanding of hardware integration and communication protocols.
  • Exposure to Iterative, Agile, or Scrum methodologies.
  • Strong debugging, research, analytical, and problem-solving skills.
  • Effective team collaboration and communication skills.