Embedded Software Developer  
  Job Code :  PAL/ESD// 
No of post:  3 
Location :  Bangalore 
Mode :  Onsite 
Contact Email ID :  Job Summary:  
  Development and maintenance of embedded software in C/C++ for microcontroller-based systems 
 Programming and configuration of STM32 microcontrollers (Cortex-M0+, M4, M33).
  Implementation of device drivers, peripheral interfaces, and communication protocols (UART, SPI, I²C, etc.).
   Adaptation and optimization of existing product software.
   Software integration and testing on target hardware.
   Conducting Unit-Tests and Code Reviews.
   Driving and contributing to the test strategy.
   Design and maintenance of the development ecosystem and CI/CD pipelines using GitLab/Jenkins.
   Setup, maintenance, and continuous improvement of embedded toolchains (compilers, linkers, debuggers, build systems).
   Optimization and integration of embedded IDEs (e.g., JetBrains CLion, VS Code) with appropriate plugins.
   Evaluation and documentation of tools, and creation of development guidelines.
  Collaboration with cross-functional teams (mechanics, electronics, testing, hardware).
  Future outlook: Participation in setting up a Linux-based toolchain and training colleagues.
 Soft Skills:  
  Open-minded, willing to learn, and forward-looking attitude.
  Curious, questioning the status quo, and proactive in sharing ideas.
   Analytical thinking and structured approach.
   Team-oriented with a security-focused and test-driven development mindset.
  Motivation & Role Impact:  
  You will contribute to the core embedded systems framework by implementing the complete hardware abstraction layer.
Your work will enable application developers to access microcontroller features more efficiently and will support a highly modular and reusable software environment across product lines.
 
 Tech Stack  
  C – hardware-based programming   C+ to C+ or higher    Python (used in toolchain and scripting)   Microcontrollers & Processors  
  STM32H5 (ARM Cortex-M33, MHz)   STM32U5 (ARM Cortex-M33, MHz)    STM32F4xx    STM32F    Cortex M0+, M4, M33 (general)   RTOS  
  Segger embOS (must have)   Zephyr RTOS (nice to have for future development)   IDE, CI/CD & Build Tools  
  JetBrains CLion, VS Code   CMake, Make    Jenkins    Git, GitLab    JetBrains IDEs, Upsource    Jira Software, XRay   Debuggers & Tools  
  J-Link Debugger (SEGGER)   ST-LINK/V3 Debugger    STM32CubeMonitor   Interfaces & Communication  
  CAN (Controller Area Network)   IO-Link    Modbus (TCP)    EtherCAT / PROFINET / OPC UA    I²C, SPI, UART   Security & Certifications  
  Secure Boot & Secure Firmware Update (SFI/SFU) – STM32H5 supported   TrustZone for Cortex-M33 (secure/insecure application separation)    AES- & SHA- Hardware Encryption    ISO / IEC – Safety & Security Standards