Estamos recrutando um Desenvolvimento de software em linguagem C++ para atuar em projetos inovadores no xGMobile em Redes 5G e 6G, na área de Rádio Definido por Software, ou Software Defined Radio (SDR), para uma das instituições mais influentes no ecossistema de telecomunicações, com forte atuação em pesquisa avançada, projetos estratégicos e desenvolvimento de novas soluções.
Responsabilidades e atribuições:
- Projetar, desenvolver, otimizar, testar e validar algoritmos de processamento de sinais digitais (DSP) em C++ para sistemas de rádio definido por software;
- Desenvolver algoritmos de comunicação digital, incluindo modulação, demodulação, códigos de correção de erro, filtragem, estimação e equalização canal;
- Trabalhar com plataformas de desenvolvimento de software SDR como GNU Radio;
- Analisar e otimizar código C++ para melhorar desempenho em processadores com múltiplos núcleos;
- Utilizar técnicas de profiling, paralelização e SIMD (Single Instruction, Multiple Data) para otimização de processamento de sinais;
- Desenvolver software com requisitos de baixa latência e alta confiabilidade;
- Criar e executar testes unitários e de integração para validação de algoritmos;
- Integrar e testar soluções com hardware SDR e redes reais;
- Documentar especificações técnicas, arquiteturas de software e algoritmos implementados;
- Participar de revisões de código e garantir conformidade com padrões de desenvolvimento de software para sistemas críticos;
- Liderar tecnicamente o desenvolvimento de atividades de pesquisa e desenvolvimento;
- Elaborar propostas de novos projetos;
- Apoiar o desenvolvimento de Projetos de Iniciação Científica em sua área de conhecimento, atuando na orientação de alunos, na escrita e na revisão de artigos, whitepapers e relatórios com os resultados obtidos.
Requisitos e qualificações:
- Ensino superior completo em Engenharia Elétrica, Engenharia de Telecomunicações, Engenharia de Computação ou áreas correlatas;
- Experiência na área de desenvolvimento de software;
- Inglês avançado.
Domínio em:
- Linguagem C/C++ com desenvolvimento orientado a objeto;
- Sistema operacional Linux, compilador gcc, cmake, diretivas de compilação;
- Ferramentas de versionamento de código, como Git;
- Uso de threads (std::thread, std::mutex, std::future, std::condition_variable) para processamento paralelo;
- Conhecimentos em: Sistemas multi threads, semáforos, mutex, diretivas de otimização de processamento de dados.
Seria interessante se você tivesse:
- Experiência em Python e MATLAB;
Conhecimentos em:
- Técnicas de processamento digital de sinais e algoritmos de comunicação, como sincronismo, modulação/demodulação, códigos corretores de erro, estimação de canal e equalização,
- Desempenho e baixa latência: desenho de pipelines concorrentes com filas SPSC/zero-copy; vetorização SIMD (AVX2/AVX-512/NEON).