Analista desenvolvimento software embarcado pl | araçatuba

Há 7 horas

Araçatuba, São Paulo, Brasil Netvagas Tempo integral
  • Experiência comprovada em desenvolvimento para Linux embarcado (serviços, ferramentas, integração de sistema).
  • Boa base em C++ para criação de serviços e ferramentas, com domínio de conceitos de gerenciamento de memória, concorrência e tratamento de erros.
  • Conhecimento de protocolos de rede e comunicação entre sistemas (TCP/IP, UDP e protocolos de aplicação).
  • Experiência prática com Git e fluxos de trabalho colaborativos.
  • Experiência de integração com APIs externas (consumo e/ou disponibilização de serviços).
  • Familiaridade com conceitos de telemetria (coleta e envio de métricas, logs e eventos).
  • Conhecimento básico de hardware o suficiente para leitura de datasheets e realização de integrações básicas.
  • Experiência com programação concorrente (threads, mutexes, condition variables).
  • Conhecimento de IPC no Linux (sockets Unix, shared memory, pipes, D-Bus, etc.).
  • Familiaridade com systemd (serviços, timers, journal).


Diferencias:

  • Experiência com desenvolvimento para microcontroladores (MCU) — como STM32, ESP32 e ATmega — preferencialmente utilizando HALs ou SDKs nativos, sem depender de frameworks de alto nível como o Arduino.
  • Experiência com sistemas de build para embarcado (Yocto, Buildroot, CMake).
  • Vivência com depuração de baixo nível (GDB, JTAG/SWD, analisadores lógicos, osciloscópio).
  • Conhecimento de segurança em dispositivos conectados (comunicação criptografada, provisionamento, atualização OTA).
  • Familiaridade com pipelines de CI/CD aplicados a firmware/embarcado.
  • Inglês técnico para leitura de documentação e colaboração.


Buscamos um(a) Analista de Software Embarcado para atuar no desenvolvimento de soluções em Linux embarcado, com foco em C++, integração entre hardware e software e comunicação com serviços em nuvem. Esse profissional será responsável por projetar, desenvolver e manter os serviços que compõem o núcleo dos nossos dispositivos conectados, garantindo alto desempenho, confiabilidade e escalabilidade das soluções utilizadas em campo. Se você gosta de entender o que acontece "por baixo" — da leitura de um datasheet até a otimização de um serviço em produção — e quer trabalhar próximo do hardware sem abrir mão de boas práticas de engenharia de software, esta vaga é para você.


Local de Trabalho: Araçatuba - SP


Confira como será o seu dia a dia de trabalho:


  • Projetar, desenvolver e manter serviços, daemons e ferramentas para plataformas Linux embarcado, priorizando desempenho, estabilidade e uso eficiente de recursos;
  • Desenvolver software em C++ moderno (e C, quando necessário), aplicando boas práticas de arquitetura, organização de código, testes e tratamento de erros;
  • Implementar e depurar comunicação em rede entre dispositivos e serviços, utilizando protocolos como TCP/IP, UDP, MQTT, HTTP/REST, entre outros;
  • Integrar dispositivos a APIs externas e serviços de backend, realizando autenticação, serialização de dados e tratamento de falhas de comunicação;
  • Desenvolver e evoluir a camada de telemetria, responsável pela coleta, agregação, transporte e monitoramento de métricas e eventos dos dispositivos;
  • Realizar integrações de baixo nível com hardware, interpretando datasheets, configurando periféricos e validando o comportamento do software junto aos circuitos eletrônicos;
  • Colaborar com as equipes de Hardware, Firmware e Backend na definição de arquiteturas, interfaces e requisitos técnicos;
  • Utilizar Git e fluxos colaborativos de desenvolvimento, incluindo branches, code reviews e integração contínua;
  • Diagnosticar e solucionar problemas em campo e em bancada, propondo melhorias que aumentem a robustez, confiabilidade e desempenho das soluções embarcadas;
  • Contribuir para a evolução contínua das plataformas, adotando boas práticas de engenharia de software e desenvolvimento de sistemas embarcados.