ABB logo

Embedded Software Engineer

ABB
NewPosted today

LOCATION

Bangalore · Onsite

EXPERIENCE

4 - 5 Years

TYPE

FullTime

SKILLS REQUIRED

Embedded C ProgrammingReal-Time Operating SystemsDevice DriversMicrocontroller programming

Job description

Overview

Embedded software engineering role within ABB's Research and Development, contributing to technology, software, product and solution development and associated intellectual property, and acting as first point of contact for specific product-related issues and maintenance.

What you'll do

  • Design, develop and maintain embedded software using C, following coding standards and established software architecture.
  • Develop and debug software components for real-time embedded systems using RTOS concepts, including tasks, scheduling, synchronization and inter-task communication.
  • Apply sound software design principles and object-oriented programming (OOP) concepts where appropriate to build modular, reusable and maintainable code.
  • Work with Linux fundamentals, including command-line tools, process/thread concepts, build environments and basic system debugging.
  • Participate in requirements analysis, software design, implementation, code reviews, unit testing, integration testing and release activities.
  • Diagnose software issues using debugging tools, logs, traces and target-hardware observations; perform root-cause analysis and implement corrective actions.
  • Integrate software with hardware peripherals, device drivers, communication interfaces and other product components.
  • Develop and execute unit, integration and regression tests, including boundary cases, error handling and timing-related scenarios.
  • Maintain technical documentation, design descriptions, test evidence and software change records in line with product development processes.
  • Collaborate with system, hardware, verification and global engineering teams to deliver robust software on schedule.

What you'll need

  • Bachelor's or Master's degree in Electronics / Electrical / Computer Science / Embedded Systems or related field.
  • 4–5 years of relevant experience in embedded software development for real-time or resource-constrained systems.
  • Strong hands-on programming skills in Embedded C, including pointers, memory management, data structures, bitwise operations and low-level debugging.
  • Good understanding of RTOS concepts such as task/thread scheduling, priorities, interrupts, semaphores, mutexes, queues and timing constraints.
  • Solid understanding of object-oriented programming concepts, including encapsulation, inheritance, polymorphism and abstraction.
  • Working knowledge of Linux fundamentals, shell commands, processes, threads, file systems and software build/debug workflows.
  • Experience with embedded debugging tools, compilers, build systems, version control and source-code review practices.
  • Understanding of microcontrollers, peripheral interfaces, device drivers and hardware-software interaction, including GPIO, ADC, PWM, timers and interrupts.
  • Familiarity with communication interfaces and protocols such as UART, SPI, I²C and Wi-Fi.
  • Familiarity with unit testing, integration testing, regression testing and software quality practices.

Nice to have

  • C++ exposure.
  • TCP/IP basics.

Details

  • Location: Bangalore, Karnataka, India.
  • This position is part of a talent pipeline and is not currently open.

Read the full description and apply on the company’s own careers page.

Stay safe

Hiring on Abekus is free for applicants

We never charge a fee, and employers are prohibited from doing so. If a recruiter asks for payment, please report them right away.

Embedded Software Engineer