PT

Desenvolvedor de Firmware Junior | Junior Firmware Developer

Descrição da vaga:

[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