TI Processors has a strong and robust software development team focused on solving some of the most challenging technical problems in automotive and industrial. We believe that hardware and software advancements go hand in hand, and to give our customers seamless, integrated solutions, we need to drive cutting-edge innovations in both. If software is your passion, TI is the right place for you. Our SW strategy rests open source and community focused SW development which allows you to connects you with 1000s of like-minded engineers whose passion is to innovate and share!
As a Software Engineer, you will be responsible for delivering high quality software that complies with coding standard and meet technical requirements that scales across RTOS on multiple TI SOCs. The work will deal with drivers development, Boot loaders, RTOS integration, Memory and Performance optimizations, SDK integration and delivery. You will be part of team which will be solving problems across wide range of domains. Your role demands you to work across the lifecycle of a software products from requirement gathering, Design, coding and testing
Basic qualifications:
· 1-2 years industry experience in software development on embedded devices.
· Bachelor’s/Master’s degree in Computer Science, Electronics Engineering or equivalent
Skills needed:
· Programming experience in Embedded C and Embedded C++.
· Experience with bare-metal drivers and RTOS based Applications
· Good understanding of CPU and SOC architecture for MCUs and MPUs
· Experience in hands-on development and troubleshooting on embedded systems with tools like compilers, debuggers and SDKs
· Proficiency debugging embedded software systems. Familiarity with UARTs, SPI, I2C, JTAG, and oscilloscopes
· RTOS application level development and Python or Perl scripting experience and methods to optimize SW development and testing activities
· Familiarity with software tools which is used to configure SW, Drivers and application
· Strong Communication, documentation and writing skills.
· Concept of Continuous Integration using Jenkins and GIT
Primary responsibilities:
· Develop simple, scalable and high-performance drivers, middleware, compliance, SDK Integration and Customer support.
· Can debug device drivers, applications of self-written or customer written software
· Analyzes and writes test and procedures for the components developed.
· Develop test automation software and test scripts, performing SW optimization for memory & performance.
· Develop application specific software demos and examples related to end equipment which enables to benchmark TI processor capability and help customer to get started on their product development.
Able to look at software deliverables from end user point of view – ease of use, well documented code, design documents. Participate in customer discussion and understand their requirements and implement it on TI software.