Senior C++ Developer: Embedded Polar Codes Implementation Specialist

Remotely
Full-time

Polar Codes represent a breakthrough in channel coding theory, achieving symmetric capacity of memoryless channels with efficient encoding and decoding algorithms. Your implementation will focus specifically on Shortened Polar Codes, requiring sophisticated optimization techniques to maintain error correction performance while reducing code length.


The embedded ARMv7M platform presents unique constraints that demand creative solutions and deep understanding of low-level optimization. Your work will directly impact system reliability and performance in mission-critical applications.


Key Responsibilities:

- Design and implement an efficient version of Shortened Polar Codes for error correction on resource-constrained platforms.

- Analyze existing libraries (including GNU Radio implementations) and adapt code to meet project specifications.

- Optimize implementation for maximum performance and minimal memory footprint on ARMv7M architecture.

- Write clean, maintainable C/C++ code following industry best practices for embedded systems.

- Select appropriate parameters for algorithm implementation based on provided specifications.

- Develop efficient fixed-point arithmetic solutions to replace floating-point operations.

- Create thoroughly documented and tested code that meets defined performance metrics.

- Profile and benchmark your implementation to ensure optimal execution efficiency.

- Collaborate with the team to integrate the implementation into the broader system architecture.

- Participate in code reviews and provide technical guidance when necessary.


Required Skills:

- Strong proficiency in C and C++ programming (C++11/14/17) with at least 5 years of professional experience.

- In-depth understanding of algorithms and data structures, particularly for error correction and information theory.

- Demonstrated experience with memory-efficient programming and optimization for embedded systems.

- Knowledge of ARMv7M architecture, its capabilities, and limitations.

- Ability to implement complex algorithms without relying on floating-point operations.

- Experience implementing signal processing or communications algorithms in constrained environments.

- Strong analytical skills for evaluating and adapting existing codebases for specific requirements.

- Excellent problem-solving abilities and attention to detail in algorithm implementation.

- Proficiency with development tools such as GCC, CMake, and embedded debugging tools.

- Experience with Git version control and collaborative development workflows.


Nice to Have:

- Prior experience with Forward Error Correction (FEC) algorithms, especially Polar Codes or LDPC codes.

- Background in digital communications or signal processing with focus on error correction.

- Experience with GNU Radio or similar Software Defined Radio (SDR) frameworks.

- Advanced knowledge of information theory and channel coding principles.

- Familiarity with ARM Cortex-M optimization techniques and assembly programming.

- Experience with bare-metal programming or RTOS environments such as FreeRTOS or Zephyr.

- Background in telecommunications or wireless communications systems.


Project Details:

Your implementation must meet these specific parameters:

- Data packet size: 27 bytes (32 bytes with 5 bytes shortened)

- Useful data in packet: 18 bytes (indicating error correction capability)

- Target platform: Embedded ARMv7M (Cortex-M series)

- Performance goal: High-speed, memory-efficient implementation without floating-point operations

- Flexibility in choosing specific decoding algorithm variant (SC, SCL, or BP variants)

- Adaptation of existing implementations to support shortened codes


Working Environment:

This remote position requires independent work with periodic team coordination. You'll receive resources for algorithm parameter selection and simulation, plus reference libraries with encoder and decoder implementations. While the project has an urgent timeline, you'll be supported by experienced engineers who will provide guidance on system integration requirements.


Why Join Us:

This project offers a unique opportunity to work at the intersection of advanced communications algorithms and embedded systems engineering. You'll solve challenging technical problems in a field with applications spanning telecommunications, aerospace, and IoT devices. Your work will directly contribute to improving the reliability and efficiency of critical communication systems.