Nível: Sênior
Cursos de: automação industrial,Engenharia da Computação,engenharia eletrônica, Electrical Engineering and Electronics, Software Engineering
Escolaridade: Graduação - Completo
Tipo de contrato: PJ
Jornada de trabalho: Segunda-feira à sexta-feira das 8h às 11:30h | 13h às 17:30h
Benefí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 empresa
Responsabilidades 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.