旧塩港電氣工業製造社 主页旧塩港電氣工業製造社 主页

UI/UX 开发人员(C++ 专家)和嵌入式软件开发人员(C/C++)

UI/UX Developer (C++ Specialist) and Embedded Software Developer (C/C++)

格里夫航空公司(Griff Aviation)

地点
瑟克尔文,挪威

航空航天与国防无人机

职责

  • UI/UX 开发人员(C++ 专家):将以用户为中心的设计与高性能软件实现相结合,设计直观的用户体验,并使用 C++ 和 Qt/WPF 为任务关键型无人机系统构建图形应用程序。
  • 使用 C++(主要)、C#(次要)和 Python(支持脚本/工具)实现用户界面。
  • 使用 Qt(跨平台)和 WPF(Windows)框架开发应用程序。
  • 优化 GUI 的性能、响应能力和可靠性。
  • 与飞行软件工程师合作,将 UI 设计与后端逻辑集成。
  • 确保跨平台和应用程序的设计语言的一致性。
  • 将用户体验原型转化为功能齐全、可投入生产的应用程序。
  • 参与设计和代码审查以保持高标准。
  • 文档设计规范、交互流程和编码实践。
  • 根据用户反馈和测试结果快速迭代。
  • 嵌入式软件开发人员(C/C++):设计、实现和维护基于 ARM 的微控制器(STM32、Atmel SAM)的固件,并为定制的 ArduPilot 飞行控制软件分支做出贡献。
  • 使用 C 和 C++ 设计、实现和优化 ARM 微控制器(STM32、Atmel SAM)的固件。
  • 开发驱动程序、通信协议(CAN、UART、I2C、SPI)和硬件抽象层。
  • 为 ArduPilot fork 的持续开发和维护做出贡献,确保稳定性、性能以及与专有系统的集成。
  • 测试和优化嵌入式代码以确保实时环境中的可靠性。
  • 与硬件工程师合作,确保固件和电子设备的无缝集成。
  • 与飞行软件团队合作,将低级控制与高级飞行逻辑连接起来。
  • 支持硬件启动、电路板验证和传感器集成。
  • 为嵌入式系统实施单元测试和硬件在环 (HIL) 测试。
  • 记录代码、接口和固件更新流程。
  • 参与代码和系统架构的同行评审。

必备要求

  • UI/UX 开发人员:人机交互、计算机科学、软件工程或相关领域的学士或硕士学位。
  • 具有 C++ GUI 开发经验(Qt 必备,WPF 优先)。
  • 熟练掌握用户体验设计原则和可用性测试方法。
  • 熟练使用 Git、调试工具和软件生命周期最佳实践。
  • 嵌入式软件开发人员:计算机工程、电子工程、计算机科学或相关领域的学士或硕士学位。
  • 使用 C 和 C++ 进行嵌入式系统编程的丰富经验。
  • 具有使用 ARM Cortex-M 微控制器(STM32、Atmel SAM)的经验。
  • 了解 RTOS 概念、中断处理和性能优化。
  • 具有使用调试工具(示波器、JTAG、逻辑分析仪)的经验。
  • 熟悉 ArduPilot 或其他自动驾驶仪框架。

优先条件

  • UI/UX 开发人员:具有 C# 和 Python 的实践经验。
  • 了解图形/可视化库(OpenGL、Vulkan、GLFW)。
  • 熟悉嵌入式系统、航空电子设备或实时环境。
  • 具有使用设计工具(Figma、Adobe XD、Sketch)进行原型设计支持的经验。
  • 嵌入式软件开发人员:对开源嵌入式/飞行软件项目的贡献。
  • 熟悉 Python 脚本编写、自动化或测试。
  • 具有通信协议经验(CAN、UAVCAN、MAVLink)。
  • 了解安全关键软件标准(DO-178C、MISRA C)。
  • 接触传感器集成(IMU、GPS、气压计、LIDAR)。
  • 具有嵌入式软件 CI/CD 管道的经验。

Responsibilities

  • UI/UX Developer (C++ Specialist): Combine user-centered design with high-performance software implementation, design intuitive user experiences, and build robust graphical applications for mission-critical UAV systems using C++ and Qt/WPF.
  • Implement user interfaces using C++ (primary), C# (secondary), and Python (supporting scripts/tools).
  • Develop applications using Qt (cross-platform) and WPF (Windows) frameworks.
  • Optimize GUI performance, responsiveness, and reliability.
  • Collaborate with flight software engineers to integrate UI design with backend logic.
  • Ensure consistency of design language across platforms and applications.
  • Translate UX prototypes into fully functional, production-ready applications.
  • Participate in design and code reviews to maintain high standards.
  • Document design specifications, interaction flows, and coding practices.
  • Iterate quickly based on user feedback and test results.
  • Embedded Software Developer (C/C++): Design, implement, and maintain firmware for ARM-based microcontrollers (STM32, Atmel SAM), and contribute to the custom ArduPilot flight control software fork.
  • Design, implement, and optimize firmware for ARM microcontrollers (STM32, Atmel SAM) using C and C++.
  • Develop drivers, communication protocols (CAN, UART, I2C, SPI), and hardware abstraction layers.
  • Contribute to the ongoing development and maintenance of the ArduPilot fork, ensuring stability, performance, and integration with proprietary systems.
  • Test and optimize embedded code to ensure reliability in real-time environments.
  • Collaborate with hardware engineers to ensure seamless integration of firmware and electronics.
  • Work with the flight software team to connect low-level control with high-level flight logic.
  • Support hardware bring-up, board validation, and sensor integration.
  • Implement unit tests and hardware-in-the-loop (HIL) tests for embedded systems.
  • Document code, interfaces, and firmware update processes.
  • Participate in peer reviews of code and system architecture.

Must Have

  • UI/UX Developer: Bachelor's or Master's degree in Human-Computer Interaction, Computer Science, Software Engineering, or a related field.
  • Experience in C++ GUI development (Qt required, WPF preferred).
  • Proficiency in UX design principles and usability testing methods.
  • Proficiency with Git, debugging tools, and software lifecycle best practices.
  • Embedded Software Developer: Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
  • Extensive experience in embedded systems programming using C and C++.
  • Experience with ARM Cortex-M microcontrollers (STM32, Atmel SAM).
  • Understanding of RTOS concepts, interrupt handling, and performance optimization.
  • Experience with debugging tools (oscilloscopes, JTAG, logic analyzers).
  • Familiarity with ArduPilot or other autopilot frameworks.

Preferred

  • UI/UX Developer: Hands-on experience with C# and Python.
  • Knowledge of graphics/visualization libraries (OpenGL, Vulkan, GLFW).
  • Familiarity with embedded systems, avionics, or real-time environments.
  • Experience with design tools (Figma, Adobe XD, Sketch) for prototyping support.
  • Embedded Software Developer: Contributions to open-source embedded/flight software projects.
  • Familiarity with Python scripting, automation, or testing.
  • Experience with communication protocols (CAN, UAVCAN, MAVLink).
  • Knowledge of safety-critical software standards (DO-178C, MISRA C).
  • Exposure to sensor integration (IMU, GPS, barometer, LIDAR).
  • Experience with CI/CD pipelines for embedded software.

公司简介

Griff Aviation 是一家领先的挪威公司,专注于重型无人机的设计和生产。公司成立于2015年,并迅速发展成为全球无人机领域的先驱,提供全球最强大的无人机。我们的使命是变革航空运输,用高性能重型无人机取代传统直升机。这些无人机注重易用性、模块化设计和卓越的可靠性,以坚固耐用和创新的设计而闻名,并集成了尖端技术,以确保安全、高效和可靠。我们与航空当局紧密合作,确保遵守严格的监管标准,从而巩固与客户和合作伙伴的信任。我们的团队由超过25名专业人士组成,拥有丰富的国际经验和多元化的视角,并充满对创新的热情。在位于瑟克尔文的总部,我们拥有一个专门的无人机开发和测试区域。