Nokia

C++ Software Developer

August 2020 - March 2022 (1 year 7 months)

Company's website →
C++ 5G/LTE Base Stations Embedded Systems Linux/ARM 3GPP Specifications Signal Processing Downlink Processing Multi-threading Performance Optimization

overview

My first professional role — started as an intern and grew to mid-level in a large international 5G/LTE base station project. Joined an existing complex codebase and integrated into the architecture of a major telecommunications product.

Worked on low-level Downlink data processing modules following 3GPP specifications. Developed performance-critical embedded code for Linux/ARM systems with strict hardware constraints.

responsibilities

  • Low-Level Development: Developed Downlink data processing modules according to 3GPP specifications for 5G/LTE base stations
  • Signal Processing: Worked with signal processing algorithms, precoding matrices, and computation optimization for embedded systems
  • Embedded C++ Development: Multi-threaded development using modern C++ for Linux/ARM embedded systems with strict resource constraints
  • Hardware Integration: Debugging and profiling on real telecommunications equipment using low-level tools and hardware-specific optimization
  • Full Development Cycle: Participated in complete development lifecycle: design, implementation, testing, code reviews, and production support
  • Team Collaboration: Worked within an established team structure, participated in code reviews, helped onboard new team members
  • Legacy Codebase: Successfully navigated and contributed to a large existing codebase, understanding complex system architecture and dependencies

projects_highlights

[*] Downlink Signal Processing Implementation

Background: As part of the 5G/LTE base station development, I was responsible for implementing critical Downlink data processing components following 3GPP specifications. The work required deep understanding of signal processing algorithms and optimization for embedded ARM hardware with strict performance requirements.

My Role:

  • Implemented signal processing modules for Downlink data paths according to 3GPP standards
  • Worked with precoding matrices and beamforming algorithms for multi-antenna systems
  • Optimized computation-intensive operations for ARM architecture and limited CPU resources
  • Debugged and profiled code on real base station hardware using specialized tools
  • Collaborated with algorithm designers to translate mathematical models into efficient C++ implementations

Results Achieved:

  • Performance: Achieved required throughput targets while staying within CPU budget constraints on embedded ARM hardware
  • Code Quality: Maintained clean, readable code in performance-critical sections through careful optimization and documentation
  • Integration: Successfully integrated components into existing large codebase with minimal disruption to other teams
  • Growth: Evolved from intern to confident mid-level developer capable of handling critical system components independently

skills_acquired

During my time at Nokia, I've gained deep expertise in:

  • Embedded ARM Development: Performance-critical C++ development for Linux/ARM systems in resource-constrained telecommunications hardware
  • 3GPP Standards: Deep understanding and implementation of 3GPP specifications for 5G/LTE Downlink processing
  • Signal Processing: Working with precoding matrices, beamforming algorithms, and computation optimization for multi-antenna systems
  • Hardware-Level Optimization: Profiling and debugging on real telecommunications equipment, optimizing code for ARM architecture
  • Large Codebase Navigation: Successfully working with complex existing systems, understanding architecture dependencies and integrating new features
  • Telecommunications Domain: Understanding of baseband processing, radio access networks, and telecommunications system architecture
  • Career Growth: Progressing from intern to mid-level developer in a demanding international project environment