ANALISTA DESENVOLVIMENTO SOFTWARE EMBARCADO PL | ARAÇATUBA

Há 6 dias

araçatuba, araçatuba (microrregião), Brasil Solinftec Tempo integral

Job description

Junte-se à Revolução Tecnológica no Agronegócio com a Solinftec

A Solinftec é uma líder global em tecnologia para o agronegócio, desenvolvendo soluções inovadoras de inteligência artificial e SaaS que revolucionam a forma como os alimentos são produzidos.

Com atuação em mais de 11 países , monitoramos milhões de hectares em tempo real , promovendo mais sustentabilidade e eficiência no setor. Somos movidos pela paixão de conectar tecnologia ao campo , criando um futuro mais sustentável para todos.

Main responsibilities

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, , 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.

Requirements and skills

  • 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.

Additional information