職位:上位機軟件工程師Reporting to:R&D Department/Local Unit Lead SBBA ChinaWhat we believe inAt ABB, we are dedicated to addressing global challenges. Our core values: care, courage, curiosity, and collaboration - combined with a focus on diversity, inclusion, and equal opportunities - are key drivers in our aim to empower everyone to create sustainable solutions. That's our story. Make it your story.Your role and responsibilitiesFor a Building Automation Software Development Engineer. We are currently seeking an engineer with expertise in the field of Building Management System (BMS) and experience in developing upper-level software. The candidate will be responsible for designing and developing the core management software for the building automation system. They will lead the system integration based on the BACNET protocol, the design of microservice architecture, and the development of cross-platform desktop applications (Electron), ensuring that the upper-level system can efficiently monitor, manage data, and control building equipment. The work model for the role is: onsiteThis role is contributing to the Smart Building division in China.You will be mainly accountable for: ● Requirements Analysis and System Design:?Understand the requirements of the building automation business, design the overall architecture of the upper-level machine software, including the front-end interface, communication module, data processing and the microservice backend. The leading integration solution for the BACNET protocol with other industrial protocols (such as Modbus, OPC UA) enables real-time collection and control of device data. ● Software Development and Implementation:?Develop a cross-platform (Windows/MacOS) upper-level machine monitoring interface based on the Electron ****work and implement the inter**** logic using front-end technologies such as React/Vue.?Design and develop the backend services of microservice architecture, responsible for core modules such as device management, data storage, and alarm processing?Develop the BACNET protocol stack or integrate existing libraries to achieve communication and protocol parsing with building equipment (such as air conditioning, lighting, and energy systems). ● System Integration and Testing:?Team collaboration was carried out to complete the joint debugging of the upper computer system with the on-site controllers and sensors, ensuring the stability of data transmission.?Design and develop test cases, optimize system performance, and solve technical issues such as compatibility and real-time performance. ● Technical Optimization and Maintenance:?Continuously optimize the software architecture to enhance the system's scalability, security and user experience.?Responsible for the writing of technical documents (such as interface documents and development guidelines), and providing technical support to the team.Qualifications for the role ● Professional **** and industry knowledge:?Bachelor's degree or above, majoring in Computer Science, Automation, Building Automation Control, etc.?More than 3 years of software development experience in building automation (BMS) or industrial automation field, familiar with BMS system architecture (such as distributed monitoring, data center management). ● Protocol and Communication Technology: Have a deep understanding of the BACNET protocol (ANSI/ASHRAE 135) and possess experience in protocol development or integration?Familiar with industrial communication methods such as TCP/IP and serial communication, and those who are familiar with protocols like Modbus and MQTT will be given priority. ● Software Development Capability:?Proficient in the Electron ****work and possessing extensive experience in developing cross-platform desktop applications?Proficient in the front-end technology stack (****/Type****, HTML5, CSS3), and familiar with ****works such as React/Vue?Familiar with microservice architecture design, and proficient in technologies such as Spring Cloud, Docker, and Kubernetes?Have the ability to develop the backend (such as Node.js, Java, Python), and be familiar with database design (MySQL/PostgreSQL/time-series databases). ● Other Skills: Possessing excellent problem-solving skills and logical thinking abilities, and being capable of independently analyzing complex system issues?Possess excellent teamwork and communication skills, and be able to work efficiently with the hardware, testing and other teams.?Has a strong sense of self-motivation and constantly seeks more efficient and optimized solutions. ● Bonus points: Familiar with IoT protocols such as OPC UA and Matter, or have experience in developing industrial visualizations (such as ECharts, D3.js) Understand energy management systems (EMS) and building energy efficiency analysis, and have relevant project experience?Have experience in contributing to open-source projects or writing technical blogs. ● Technical Stack Reference: Front-end/Desktop Development: Electron, React/Vue, Type****, Webpack, Electron Builder?Back-end/Microservices: Node.js/Java, Spring Cloud, Docker, Kafka/RabbitMQ?Protocols and Tools: BACNET Stack (such as JythonBACnet, node-bacnet), Wireshark, BACnet testing tools?Database: MySQL/PostgreSQL, InfluxDB/TimescaleDB (time series data)?. Deployment and Operations: Docker Compose, Kubernetes, CI/CD processes. ● Work environment: Work closely with application engineers and product managers in the field of building automation to promote the implementation of intelligent building solutions?Support on-site debugging and alignment with customer requirements (based on project needs).What's in it for you? We empower you to take initiative, challenge ideas, and lead with confidence. You’ll grow through meaningful work, continuous learning, and support that’s tailored to your goals. Every idea you share and every **** you take contributes to something bigger.Benefits ABB provides competitive benefits, ask us!