Skip to main content

Software Application Engineer

Technology
EPOS
上海市, 中国2周前截至 2026/10/21
全职

职位描述

职位名称:嵌入式应用软件开发工程师(智能POS / 多平台方向)

职位描述:

  • 负责智能POS及相关IoT终端设备上应用层软件的设计与开发,必须具备 Android能力、熟悉嵌入式Linux(带GUI)、RTOS;
  • 基于不同操作系统平台,实现支付主流程、设备管理、外设控制(如读卡器、打印机、扫码模块、密码键盘等)、远程升级及用户交互界面;
  • 通过标准接口(如串口、Socket、厂商SDK、HAL封装等)调用底层硬件能力,完成业务逻辑与外设的可靠集成;
  • 参与多平台软件架构设计,推动代码复用、模块解耦与跨平台适配方案落地;
  • 优化应用性能(启动速度、内存占用、响应延迟),保障系统在长时间运行下的稳定性与安全性;
  • 配合安全与认证团队,落实金融级合规要求(如PCI PTS、国密支持、安全启动环境下的应用部署);
  • 编写技术文档,参与需求评审与测试验证,支持产品量产与现场问题闭环。

职位要求:

  • 计算机、软件工程、电子或相关专业,本科及以上学历,3-5年嵌入式应用开发经验;
  • 必须熟练掌握Android 嵌入式应用,熟悉嵌入式 Linux 应用或RTOS 应用两类的应用开发:

○ Android 嵌入式应用:精通 Java/Kotlin,熟悉 System App 开发、系统权限管理、AIDL、NDK 基础调用,有智能终端或POS开发经验;

○ 嵌入式 Linux 应用:熟悉 C/C ,掌握 Qt/QML在 ARM 设备上的部署,能开发带图形界面的业务应用;

○ RTOS 应用:在 FreeRTOS、RT-Thread 或类似系统上使用 C 开发任务调度、消息通信、UI(如 LVGL)及外设控制逻辑;

  • 熟悉常用嵌入式通信方式,如 UART、TCP/UDP、HTTP/MQTT、USB HID、蓝牙 SPP,能通过应用层接口与读卡器、打印机、摄像头等外设交互;
  • 具备基本硬件理解能力,能阅读接口文档和简单原理图,无需开发驱动或修改内核/HAL;
  • 有金融支付终端(POS、扫码盒、自助终端)、工业HMI或智能零售设备开发经验者优先;
  • 了解金融安全基本要求(如密钥隔离、安全存储调用),具备良好的代码规范、调试能力和文档习惯;
  • 责任心强,沟通顺畅,能适应软硬协同的敏捷开发节奏,具备跨平台技术迁移与学习能力。

Job Description:

  1. Scope of Work: Responsible for the design and development of application-layer software on Smart POS and related IoT terminal devices. Must possess Android development capabilities and be familiar with Embedded Linux (with GUI) and RTOS.
  2. Feature Implementation: Implement core payment flows, device management, peripheral control (e.g., card readers, printers, barcode scanner modules, PIN pads, etc.), remote upgrades (OTA), and user interaction interfaces across different operating system platforms.
  3. Hardware Integration: Invoke underlying hardware capabilities via standard interfaces (such as serial ports, Sockets, vendor SDKs, HAL encapsulations, etc.) to achieve reliable integration between business logic and peripherals.
  4. Architecture & Adaptability: Participate in multi-platform software architecture design, driving code reuse, module decoupling, and cross-platform adaptation solutions.
  5. Performance Optimization: Optimize application performance (boot time, memory footprint, response latency) to ensure long-term system stability and security under continuous operation.
  6. Security & Compliance: Work alongside security and certification teams to implement financial-grade compliance requirements (e.g., PCI PTS, Guomi/commercial cryptography support, application deployment in secure boot environments).
  7. Documentation & Support: Write technical documentation, participate in requirement reviews and testing validation, and support mass production alongside field issue closure.
Job Requirements:
  1. Education & Experience: Bachelor’s degree or above in Computer Science, Software Engineering, Electronics, or related fields, with 3–5 years of embedded application development experience.
  2. Core Technical Skills: Must be proficient in Android embedded applications, and familiar with application development in either Embedded Linux applications OR RTOS applications:
  • Android Embedded Applications: Proficient in Java/Kotlin; familiar with System App development, system permission management, AIDL, and basic NDK invocation; experience in smart terminals or POS development.
  • Embedded Linux Applications: Familiar with C/C ; master the deployment of Qt/QML on ARM devices; capable of developing business applications with Graphical User Interfaces (GUI).
  • RTOS Applications: Experience using C to develop task scheduling, message communication, UI (e.g., LVGL), and peripheral control logic on systems such as FreeRTOS, RT-Thread, or similar platforms.
  1. Protocols & Peripherals: Familiar with common embedded communication protocols (such as UART, TCP/UDP, HTTP/MQTT, USB HID, Bluetooth SPP) and able to interact with peripherals (card readers, printers, cameras, etc.) via application-layer interfaces.
  2. Hardware Comprehension: Possess basic hardware comprehension; able to read interface specifications and simple schematic diagrams (no driver development or kernel/HAL modification required).
  3. Industry Experience: Experience in financial payment terminals (POS, barcode scanner boxes, self-service kiosks), industrial HMI, or smart retail equipment is preferred.
  4. Security & Best Practices: Understand basic financial security requirements (e.g., key isolation, secure storage invocation); maintain strong coding standards, debugging capabilities, and documentation habits.
  5. Soft Skills: Strong sense of responsibility, excellent communication skills, ability to adapt to agile hardware-software co-development workflows, with cross-platform technology migration and continuous learning capabilities.
Keywords
monthsOfExperience: 36SOCKSFlutterQMLCodingHALKotlinBusiness logicRequest TrackerCross-platform softwareLinuxPinFreeRTOSSoftware DeploymentJavaCoding conventionsDebuggerSoftware EngineeringDebugging

对这个职位感兴趣吗?