Desenvolvedor de Firmware Junior | Junior Firmware Developer
[PT]
Objetivo da Função
Integrando a equipe de Software Embarcado e reportando-se ao Líder do Grupo de Firmware, o Engenheiro de Firmware Júnior terá a oportunidade de iniciar sua carreira em sistemas embarcados, aprendendo e desenvolvendo habilidades técnicas com o apoio de engenheiros mais experientes. O profissional participará de projetos reais desde o início, contribuindo para o desenvolvimento de soluções de firmware em um ambiente colaborativo e desafiador.
Principais Responsabilidades
- Desenvolver e manter firmware para microcontroladores e sistemas embarcados em C/C++, sob orientação de engenheiros sêniores
- Implementar e testar drivers de periféricos (UART, SPI, I2C, GPIO, etc.)
- Auxiliar na integração de firmware com hardware eletrônico, colaborando com a equipe de eletrônica
- Executar testes de firmware, incluindo testes unitários e de integração, reportando resultados de forma clara
- Utilizar ferramentas de depuração como osciloscópios, analisadores lógicos e interfaces JTAG/SWD para identificar e resolver problemas
- Participar de revisões de código, aprendendo e aplicando os padrões de codificação da equipe
- Documentar o trabalho realizado, incluindo comentários em código, relatórios de teste e notas técnicas
- Colaborar com equipes multifuncionais (eletrônica, mecânica, software de aplicação e testes)
- Manter-se atualizado com novas tecnologias e melhores práticas em desenvolvimento embarcado
Habilidades e Experiência - Essenciais
- Formação superior em Engenharia Elétrica, Engenharia da Computação, Engenharia Eletrônica ou área correlata
- Conhecimento básico de programação em C para sistemas embarcados (projetos acadêmicos ou pessoais são considerados)
- Noções de arquitetura de microcontroladores (ARM Cortex-M, STM32, Arduino, ESP32 ou similares)
- Compreensão básica de protocolos de comunicação serial (UART, SPI, I2C)
- Capacidade de ler e interpretar esquemáticos eletrônicos e datasheets de componentes
- Familiaridade com sistemas de controle de versão (Git)
- Vontade de aprender e desenvolver-se continuamente na área de sistemas embarcados
Habilidades e Experiência - Desejáveis
- Experiência com projetos práticos em estágio, iniciação científica, TCC ou projetos pessoais envolvendo firmware
- Noções de programação em C++
- Contato com sistemas operacionais de tempo real (FreeRTOS, Zephyr ou similares)
- Familiaridade básica com ferramentas de debug de hardware (osciloscópio, analisador lógico)
- Conhecimento básico de eletrônica analógica e digital
- Noções de protocolos de comunicação de rede (TCP/IP, MQTT)
- Familiaridade com ambientes de desenvolvimento como STM32CubeIDE e PIC.
[EN]
Summary
As part of the Embedded Software Team and reporting to the Firmware Group Leader, the Junior Firmware developer will have the opportunity to start a career in embedded systems, learning and developing technical skills with the support of more experienced engineers. The professional will participate in real-world projects from the outset, contributing to the development of firmware solutions in a collaborative and challenging environment.
Key Responsibilities
- Develop and maintain firmware for microcontrollers and embedded systems using C/C++, under the guidance of senior engineers.
- Implement and test peripheral drivers (UART, SPI, I2C, GPIO, etc.).
- Support firmware integration with electronic hardware, collaborating closely with the Electronics Team.
- Execute firmware testing activities, including unit and integration testing, and clearly report results.
- Use debugging tools such as oscilloscopes, logic analyzers, and JTAG/SWD interfaces to identify and resolve issues.
- Participate in code reviews, learning and applying the team's coding standards and best practices.
- Document completed work, including code comments, test reports, and technical notes.
- Collaborate with cross-functional teams, including Electronics, Mechanical Engineering, Application Software, and Test Engineering.
- Stay up to date with emerging technologies and best practices in embedded systems development.
Requirements
- Bachelor's degree in Electrical Engineering, Computer Engineering, Electronics Engineering, or a related field.
- Basic knowledge of C programming for embedded systems (academic or personal projects are acceptable).
- Understanding of microcontroller architectures (ARM Cortex-M, STM32, Arduino, ESP32, or similar).
- Basic understanding of serial communication protocols (UART, SPI, I2C).
- Ability to read and interpret electronic schematics and component datasheets.
- Familiarity with version control systems (Git).
- Strong willingness to learn and continuously develop within the embedded systems field.
Skills and Experience – Desirable
- Hands-on experience through internships, undergraduate research projects, final-year projects, or personal firmware development projects.
- Basic knowledge of C++ programming.
- Exposure to Real-Time Operating Systems (RTOS) such as FreeRTOS, Zephyr, or similar.
- Basic familiarity with hardware debugging tools such as oscilloscopes and logic analyzers.
- Basic knowledge of analog and digital electronics.
- Understanding of networking communication protocols such as TCP/IP and MQTT.
- Familiarity with development environments such as STM32CubeIDE and Microchip PIC development tools.
Localização | Modelo de contratação | Modelo de trabalho |
|---|---|---|
Santa Rita do Sapucaí, MG, BR | Efetivo CLT | Presencial |