Senior Software Engineer leading firmware development for innovative vehicle systems at Ford. Overseeing architectural direction and integration of modular connected systems.
Responsibilities
Lead Firmware Development: Lead the design and implementation of application firmware for connected vehicle devices, focusing on optimizing performance and ensuring robust security. This includes architectural design, code implementation, and ongoing maintenance.
System Integration: Oversee the integration of various subsystems, including those provided by 3rd party collaborators and vendors, into the overall project. This involves close collaboration with external partners to review firmware specifications, provide design guidance, and ensure seamless interoperability.
Platform Development: Extend and enhance the existing platform BSP and device drivers to support the unique requirements of each modular device. This may include developing new drivers for sensors, actuators, communication interfaces, and other peripherals. Collaborate with the platform team to integrate critical components like secure bootloaders and device drivers.
Module Function Development: Work with feature owners and domain leads to develop and maintain software for specific module functionalities (e.g., environmental control, power management, multimedia).
Create and maintain firmware for energy management systems, focusing on enhancing functionality and resolving issues post-launch.
Ensure continuous improvements, high performance, and robust issue resolution for all module functions, both before and after product launch.
Connectivity and Communication: Design and implement firmware architecture and communication protocols between the modular devices and other systems, including in-vehicle networks and mobile devices. Ensure secure and reliable data exchange between different components.
Security and Low Power Design: Ensure firmware is designed with security and low power consumption as top priorities. Implement robust security measures to protect against potential threats and optimize power management strategies for extended battery life.
Diagnostics and Event Logging: Implement comprehensive diagnostics and event logging capabilities within the firmware to facilitate debugging, troubleshooting, and system analysis. This includes defining diagnostic trouble codes (DTCs), logging system events, and providing mechanisms for data retrieval and analysis.
Hardware Collaboration: Collaborate with the hardware team to ensure component selection aligns with platform requirements and firmware capabilities. Provide input on hardware design decisions to optimize for firmware performance and integration.
Testing and Validation: Collaborate closely with the validation team to develop and execute comprehensive test plans to validate firmware functionality, performance, stability, and adherence to requirements. This includes defining test cases, developing test scripts, and analyzing test results. Active participation in all testing phases, from unit testing to system-level testing, is expected.
Continuous Integration: Integrate project source code into the Continuous Integration (CI) software build infrastructure to automate the build process, perform automated testing, and ensure code quality.
Documentation: Maintain clear and concise documentation of firmware architecture, design decisions, and code implementation.
Requirements
Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
Significant experience in embedded software/firmware development, ideally in the automotive or consumer electronics industry.
Proven experience architecting and leading firmware development for complex embedded systems.
Strong programming skills in C/C++. Experience with other relevant languages (e.g., Python) is beneficial.
Deep understanding of RTOS concepts and experience with RTOS platforms.
Experience with communication protocols such as Ethernet, Bluetooth, and Wi-Fi.
Proficiency in hardware debugging tools (JTAG debuggers, oscilloscopes, logic analyzers).
Experience with software version control systems (e.g., Git).
Excellent problem-solving, analytical, and communication skills.
Ability to work effectively in a collaborative team environment and lead technical discussions.
Experience with secure bootloaders and secure coding practices is highly desired.
Experience with over-the-air (OTA) updates is a plus.
Benefits
Immediate medical, dental, vision and prescription drug coverage
Flexible family care days, paid parental leave, new parent ramp-up programs, subsidized back-up child care and more
Family building benefits including adoption and surrogacy expense reimbursement, fertility treatments, and more
Vehicle discount program for employees and family members and management leases
Tuition assistance
Established and active employee resource groups
Paid time off for individual and team community service
A generous schedule of paid holidays, including the week between Christmas and New Year’s Day
Paid time off and the option to purchase additional vacation time
Senior Developer responsible for Salesforce platform solutions at Lennar, focusing on technical design and implementation. Collaborate with teams to ensure business needs are met through custom development and best practices.
Senior Software Engineer responsible for leading technical initiatives and improving quality at Australia's largest mobile banking team. Working collaboratively to build innovative banking solutions.
Software Engineer responsible for backend development and integrations for a digital mental health platform. Working with a distributed team to build and maintain backend services using TypeScript and AWS.
Responsible for ensuring industrial equipment reliability and performance while managing technical projects for a global leader in sustainable packaging.
Software Engineer at Teleport focusing on secure and scalable logistics solutions. Participating in agile scrum and delivering cutting - edge software with a varied daily workflow.
Senior Staff Software Engineer in QE at Cloudera driving continuous improvement for Data Warehousing products. Leading high - quality features and releases while mastering the 'Cloudera Stack'.
Principal Engineer architecting backend data and modeling platform for AI solutions at Cloudera. Drive semantic search capability and collaborate with teams on AI - driven projects.
Staff Software Engineer at Cloudera contributing to infrastructure tooling for cloud - native environment. Engage in developing Go - based services and collaborating with cross - functional teams.
Staff Full - Stack Engineer at Cloudera transforming data into actionable insights. Leading application development with strong focus on product ownership and user experience in engineering taskforce.
Senior Software Engineer developing embedded software platforms for Infotainment and Software Defined Vehicle solutions at GM. Leading design and integration efforts for Android/QNX/Embedded Linux systems.