Nível: SêniorCursos de: Electrical Engineering and Electronics, Software Engineering, automação industrial,Engenharia da Computação,engenharia eletrônicaEscolaridade: Graduação - CompletoTipo de contrato: PJJornada de trabalho: Segunda-feira à sexta-feira das 8h às 11:30h | 13h às 17:30hDisponibilidade para home-officeBenefícios: ⏰Jornada Flexível, Notebook para trabalho, ️ Férias remuneradas após 1 ano de trabalho, Day-off no seu aniversário, Seguro de Vida, Recesso Remunerado, Premiação Anual, Plataforma Alura, Mimos, Local para alimentação na empresaResponsabilidades da posição: - Compreender e analisar os requisitos do sistema e do produto para definir as especificações de firmware.- Projetar a arquitetura de software para o firmware, incluindo a estrutura de módulos, interfaces e fluxos de dados.- Escrever, otimizar e conduzir revisões de códigos em linguagens como C e C++, garantindo eficiência, desempenho, corrigir bugs, adicionar novas funcionalidades, melhorar a segurança e garantir a qualidade e a conformidade com os padrões de codificação.- Criar e manter drivers para interação com hardware específico, como sensores, atuadores, interfaces de comunicação (I2C, SPI, UART, etc.).- Implementar protocolos de comunicação tanto proprietários quanto padrão (por exemplo, Bluetooth, Zigbee, TCP/IP).- Configurar e manter pipelines de integração contínua para garantir que o firmware seja testado continuamente durante o desenvolvimento.- Utilizar ferramentas de depuração, como JTAG, ICE (In-Circuit Emulator) e analisadores lógicos para identificar e corrigir problemas no código e no hardware.- Trabalhar estreitamente com engenheiros de hardware para garantir que o firmware seja otimizado para o hardware específico, através de testes de sistema e de unidade para verificar a funcionalidade individual dos componentes do firmware.- Implementar técnicas de gerenciamento de energia para maximizar a vida útil da bateria em dispositivos móveis ou IoT.- Criar e manter documentação detalhada do firmware, incluindo especificações, diagramas de fluxo, manuais de usuário e guias de manutenção.Requisitos obrigatórios para a posição: - Conhecimento em arquiteturas de microcontroladores e microprocessadores, como ARM, PIC, AVR, MSP430, etc.- Compreensão de esquemáticos e layout de PCB (Printed Circuit Board) para colaborar eficazmente com a equipe de hardware.- Experiência com sistemas operacionais de tempo real (RTOS) e sistemas embarcados sem OS.- Implementação de práticas de segurança, incluindo criptografia, autenticação e proteção contra ataques de hardware/software.- Familiaridade com ferramentas de desenvolvimento de firmware, como compiladores, linkers, IDEs (Integrated Development Environments) e sistemas de controle de versão (por exemplo, Git).Entregas e resultados esperados para a posição: - Capacidade de gerenciar projetos de firmware desde a concepção até a entrega, incluindo cronogramas e recursos.- Comunicar-se eficazmente com equipes multidisciplinares, incluindo engenheiros de hardware, gerentes de projeto e outros desenvolvedores.- Abordagem analítica e metódica para identificar e resolver problemas complexos de firmware e hardware.