Senior Embedded Software Engineer

MultiTechMounds View, MN
4d

About The Position

As an embedded software engineer, you will be responsible for designing, developing, and testing software that runs on embedded systems and is designed to be reusable. Your work will be crucial in ensuring that these systems function efficiently and reliably in a variety of applications.

Requirements

  • Bachelor's degree in Computer Science, Electrical Engineering, or a related field.
  • 5-7+ years of professional experience in embedded software development, particularly in IoT, wireless sensors, or resource-constrained systems.
  • 3+ years of experience with programming languages commonly used in embedded development, such as C and C++; C# and Python experience desirable.
  • Proficiency with Zephyr OS, including its kernel, device tree, drivers, and build systems (e.g., west, CMake).
  • Strong expertise in wireless communication protocols, including LoRaWAN, Bluetooth (including Bluetooth Low Energy/BLE and channel sounding features), and Cellular (e.g., LTE-M, NB-IoT, or 5G integration).
  • Knowledge of Real-Time Operating Systems (RTOS) and experience with embedded development tools and debugging.
  • Strong problem-solving skills and the ability to work with limited resources and tight constraints.
  • Strong communication and informal leadership skills with the proven ability to lead small technical teams, mentor more junior engineers, and coordinate cross-functional efforts on embedded projects.
  • Familiarity with hardware interfaces, communication protocols (e.g., SPI, I2C, UART), and device driver development.
  • Demonstrated experience in low-power design techniques for battery-operated wireless sensors, such as power management, sleep modes, duty cycling, and energy-efficient firmware optimization.
  • Proven, competent user of software development best practices, version control systems, and quality assurance.

Nice To Haves

  • Knowledge of security principles for embedded systems and a commitment to cybersecurity is highly desirable.

Responsibilities

  • Lead and perform the design, implementation, and maintenance of software for embedded systems in line with defined software architectures, ensuring that it meets performance, reliability, and efficiency requirements.
  • Collaborate with hardware engineers to integrate software with the embedded hardware, ensuring proper functionality and optimization to meet organizational, customer and industry needs.
  • Develop software for real-time and resource-constrained environments, where timing and efficiency are critical.
  • Write code at the hardware level (Bare Metal), OS, or RTOS, including device drivers and firmware, to control and communicate with hardware components.
  • Utilize real-time operating systems or develop your own scheduling mechanisms to manage tasks and resources in embedded systems.
  • Identify and resolve software issues, optimize code, and conduct thorough testing to ensure reliable and error-free operation.
  • Maintain clear and comprehensive documentation of software design, development, and testing processes.
  • Collaborate with cross-functional teams, including hardware engineers, product managers and quality assurance teams regarding product definition, scheduling, production testing, marketing information, technical literature, manuals, customer problems, etc. Oversee and assure the effective and efficient completion of required steps in the product design and development cycle.
  • Ensure that the embedded software adheres to industry standards, safety regulations, and security best practices.
  • Continuously improve software performance, memory utilization, and power efficiency for embedded systems.
  • Improve operations by conducting systems analysis and recommending changes in policies and procedures.
  • Perform other duties as assigned.

Benefits

  • competitive health, dental and vision insurance plans
  • company-paid Employee Life, AD&D, and Short-term Disability
  • 401(k) with employer matching
  • 10 paid holidays and paid time off (PTO)
  • access to Voluntary Life for you and your eligible dependents, Long-term Disability, flex spending, and health savings accounts
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service