Requisitos
Tecnologias Necessárias
Conhecimentos obrigatórios
Tempo de Experiência
Experiência mínima obrigatória
7+ anos em TI, Infraestrutura ou Engenharia de Software
7+ anos como Engenheiro de Software Embarcado
Experiência:
Experiência em desenvolvimento de sistemas embarcados, com foco em programação de baixo nível e plataformas baseadas em Linux.
Habilidades:
Sólido conhecimento em sistemas Linux embarcados, programação de kernel e integração hardware-software.
Experiência com o Yocto Project para construção e customização de imagens de sistema.
Proficiência no desenvolvimento de drivers de dispositivos, BSPs e camadas de abstração de hardware.
Familiaridade com protocolos de comunicação de hardware e redes, como SPI, I2C, UART, CAN, Ethernet, TCP/IP, GSM.
Forte experiência em solução de problemas complexos em ambientes diversos.
Conhecimento básico para leitura de esquemáticos eletrônicos e datasheets.
Familiaridade com abordagens de testes ponta a ponta e automação de testes, preferencialmente com testes hardware-in-the-loop.
Experiência com metodologias Ágeis, priorização de backlog e ferramentas como JIRA e Confluence.
Atividades
Liderança no Desenvolvimento da Plataforma: Liderar o desenvolvimento e a manutenção de componentes principais da plataforma, incluindo módulos de kernel, drivers de dispositivos, BSPs e camadas de abstração de hardware, garantindo integração perfeita com hardware e camadas de software de nível superior.
Customização de Imagem do Sistema: Liderar a criação de imagens de sistema baseadas em Linux usando o Yocto Project, adaptando configurações para atender a requisitos específicos de hardware e projetos.
Ferramentas da Plataforma e Camadas de Abstração: Construir e manter ferramentas, APIs e camadas de abstração que simplifiquem o desenvolvimento de aplicações, fornecendo uma plataforma confiável e eficiente para que as equipes de aplicações possam se concentrar em entregar soluções inovadoras.
Liderança e Mentoria da Equipe: Liderar e orientar uma equipe de desenvolvedores focados no desenvolvimento da plataforma. Cultivar o crescimento técnico dentro da equipe, compartilhando expertise em desenvolvimento de software embarcado e promovendo uma cultura de colaboração, inovação e responsabilidade.
Planejamento e Transparência: Acompanhar o progresso da equipe e garantir o alinhamento com os cronogramas e entregáveis do projeto. Manter visibilidade clara sobre as atividades de desenvolvimento, identificar riscos precocemente e ajustar planos conforme necessário para cumprir os prazos comprometidos. Reportar progresso e desafios para stakeholders, garantindo transparência e responsabilização.
Colaboração e Trabalho em Equipe: Trabalhar em estreita colaboração com o Líder Técnico, Product Owner, outros Líderes de Componentes e stakeholders para alinhar o desenvolvimento da plataforma com os objetivos mais amplos do projeto. Colaborar com engenheiros de hardware, equipes de plataforma, aplicação e automação de testes para garantir integração perfeita e desempenho ótimo em toda a solução.