In this role you'll be responsible for designing , developing and testing Embedded Software (Firmware), platforms and systems that runs on devices that need to be tailored to the needs of the hardware that it has to run on. As part of a multi-developer firmware team the major responsibilities will include analysis, design, implementation and testing of firmware for Transmission product line. You will report to the Senior Software Manager.
Essential Responsibilities:
Architects, designs and/or programs/develops a small module or a large component, feature, set of features, whole feature area or entire embedded software product. Some areas of expertise may include, but is not limited to, networks, operating systems, cybersecurity, databases, or applications.
Identifies scope of the work, provide initial estimate and justify the estimate with facts
Engages in technical discussions; participates in technical designs and presents technical ideas through white boarding
Designs and implements features or components of feature on request from various programs
Works closely with peers and keeps engaging in a fast pace technical design and development team
Executes in a fast pace delivery mode and focuses in delivering tasks to meet the product release goal
Maintains code quality through best practices, code reviews and unit testing
Customer-oriented focus in the root cause analysis of issues during programs execution
Seeks and provides feedback on design and development
Demonstrates the ability to make informed technology choices after due diligence and impact assessment
Articulates the need for scalability and understand the importance of improving quality through testing.
Provides guidance to other team members with either planning and execution and/or design architecture
Required Qualifications:
Bachelor’s Degree in Computer Science, Electrical Engineering, or Computer Engineering.
Minimum of 8 years of embedded development experience.
Desired Characteristics:
C++ preferably C++17 programming skills and understanding of object oriented design and development
Strong grasp of RTOS; VxWorks, embedded Linux fundamentals
Good understanding and programming skills of modern languages such as GO and Python
Exposure to modern development environments CI/CD, automated software unit-testing
Knowledge of microcontrollers; NXP Freescale family, Xilinx SoC’s, Altera SoC's