We are working with a client that is creating connected systems that both improve the automotive experience for individual car owners and enable Mobility-as-a-Service solutions.
We are looking for Embedded Engineers to help us build connected vehicle systems that push forward the state of the art. In this role, you will work with a team of software engineers integrating complex systems consisting of embedded applications, cloud services, and mobile apps.
Qualifications:
- 3-10+ years engineering experience
- Passion for technology and problem solving
- Strong ability to work independently and as a member of a diverse team
- Strong commitment to quality and attention to detail
- Experience designing systems, hardware, and/or software
- Ability to plan and coordinate teams of people
- Develop innovative solutions for challenging problems
- Ability to develop drawings and documentation to communicate complex problems and solutions to engineers and non-engineers alike
- Experience capturing and communicating software architecture, requirements, and design
- Ability to recognize, and then avoid or navigate around technical and organizational road blocks
- Excellent written and oral communication skills
- Ability to develop system designs for a variety of applications, from low-fidelity proof-of-concepts to production-intent
- Lead engagements with customers and 3rd party software developers
- Learn constantly and dive into new areas with unfamiliar technologies
Must haves:
- Software Development experience with C and/or C++
- Experience with the ARM Cortex-M family of processors
- Experience with real-time systems, including Real Time Operating Systems (RTOSs)
- Experience with low-level protocols, such as UART, SPI, I2C, LIN, K-Line, and CAN
Desires:
- Experience with version control, such as Git or Subversion
- Software development experience with a scripting language, such as Ruby or Python
- Experience with Bluetooth Low Energy (BLE) and Bluetooth radios
- Experience working with an agile team
- Experience in all phases of software development (feasibility, design, implementation, integration, test, and support), preferably experience with complex systems that include multiple
- Ability to work across multiple disciplines (systems, embedded, cloud web, mobile, testing)