职位描述
岗位职责:
界面开发与维护: 使用Qt框架负责上位机(PC端或嵌入式Linux终端)软件界面的设计、开发与优化。包括实现实验设备控制界面、数据展示和用户交互流程等。
模块编码与调试: 根据产品需求独立完成软件模块的设计与编码,按计划交付功能;配合测试人员进行单元测试和功能测试,及时修复缺陷,保证软件质量 。
串口通信实现: 开发并维护与下位机(STM32等MCU)的串口通信模块,确保上位机软件能够可靠发送指令、接收数据,并处理通信异常。Node Editor功能设计: 实现拖拽式节点编辑器(Node Editor)界面,用于流程配置或实验方案设计。负责节点模块的图形化表示、连接线拖放交互以及背后数据流程的实现。
文档与协作: 编写软件设计说明、接口文档和用户使用指南;与嵌入式开发、硬件等团队紧密协作,确保上位机与设备硬件/固件有效集成。
关键能力与技能点
精通C /Qt框架: 熟练掌握Qt应用开发,包含Qt Widgets及信号槽机制、事件循环、多线程、QSerialPort等模块 。能够使用Qt Designer/QML设计自定义控件和界面布局,理解Qt元对象系统和内存管理机制(父子对象树等) 。
串口及协议开发: 熟悉串口通信原理,掌握串口调试工具的使用。能够设计简单可靠的通信协议(帧格式、校验等),处理粘包、丢包、校验错误等通信问题。
Node Editor实现经验: 了解图形化节点编辑器的设计模式,对场景图/视图框架有实践(如Qt的QGraphicsView框架)。具备处理节点拖拽连线、节点属性配置、节点执行逻辑映射等能力。
良好的编程习惯: 精通C 面向对象编程,熟悉STL库、设计模式和常用数据结构算法 。代码风格良好,注重内存管理和异常处理,能编写高可靠性的模块代码。
软技能: 优秀的问题分析和调试能力,能够通过日志、断点等手段快速定位问题来源。具备良好的沟通协作能力,能与嵌入式工程师协同调试系统问题;同时具有一定用户体验意识,愿意根据用户反馈改进软件界面和交互。