Embedded Software Engineer
Full Job Posting
Requirements
- Experience with embedded debugging tools, compilers, build systems, version control and source-code review practices.
- Familiarity with unit testing, integration testing, regression testing and software quality practices.
Full Job Posting
At ABB, we help industries outrun - leaner and cleaner. Here, progress is an expectation - for you, your team, and the world. As a global market leader, we’ll give you what you need to make it happen. It won’t always be easy, growing takes grit. But at ABB, you’ll never run alone. Run what runs the world. This Position reports to: Talent Acquisition Lead Your role and responsibilities: In this role, you will have the opportunity to contribute significantly to successful project results in technology, software, product, and/or solution development, as well as associated Intellectual Property (IP). Each day, you will act as the first point of contact in Research and Development for specific product-related issues and maintenance. You will also showcase your expertise by identifying, proposing, and implementing innovative solutions. You will be mainly accountable for:
- 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. Qualifications for the role:
- Bachelor’s or Master’s degree in Electronics / Electrical / Computer Science / Embedded Systems or related field with 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; C++ exposure is desirable.
- 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, I2C and Wi-Fi; TCP/IP basics are an advantage.
- Familiarity with unit testing, integration testing, regression testing and software quality practices. A future opportunity This role is part of our talent pipeline, which means it’s not currently open, but we’re always looking for curious minds, bold thinkers, and people who want to make an impact. Click Apply to express your interest and be considered for future opportunities that match your experience and aspirations. At ABB, we welcome people from all backgrounds and believe that diverse perspectives help us build a cleaner, smarter future. Apply today or visit https://www.abb.com to learn more about how we help run what runs the world.
About ABB
Global technology company specializing in electrification and automation.
Visit company websiteJobs and hiring trendsApply for this job in 1 click
Skip the repetitive application forms
Install the Base Career Chrome Extension and autofill job applications across major job boards with your profile.
Trusted by over 500,000 job seekers on Base Career
More from this employer
More jobs at ABB
Business Intelligence Specialist
Milton, CAN
Product Marketing Manager - Industrial
, CAN
Project Electrical Designer
Milton, CAN
Service Manager
Mississauga, CAN
Assembler
Dorval, CAN
Master Data and Operations Process Specialist
Atlanta, USA
Executive Assistant
Cary, USA
Assembler - 1st Shift
Portland, USA