Your key responsibilities:
- Full lifecycle involvement in the detailed design, coding and validation of C/C++ embedded software, with a focus on standards-based wireless networking
- Collaborate with other global teams to ensure the timely delivery of new products according to agreed timescales
- Adopt in-house best practice for code integrity and design validation
- Ensure that the integrity of the system and software architecture is maintained throughout the lifecycle of the product
About you:
As an embedded C/C++ software engineer you will have a structured approach to design and verification with demonstrable skills in selecting appropriate software architectures. You will be able to produce efficient embedded software implementations and have a good appreciation of electronic hardware.
You will play a key role in the realisation of leading-edge smart home products. It is key that you can demonstrate you are a natural collaborator with a successful track record of embedded software delivery in your career to date. You will have a passion for design excellence and demonstrate outstanding technical competence.
Essential:
- Proven skills in embedded C and C++ for Linux and resource-constrained platforms
- Good understanding of electronics and microcontroller-based embedded systems
- Degree in computer science, electrical/electronic engineering or equivalent
- Knowledge of firmware development environments including compilers, debuggers, emulators and toolchains
- Self-starting, demonstrating a high degree of initiative in welcoming challenges in a fast-moving environment
- Working well in a close-knit yet geographically dispersed team
- Excellent time management skills
- Open communicator
- Pro-active and collaborative team worker (cross-functional teams including external development partners)
- The initiative to innovate and champion change
- Freely accepts and welcomes technical ownership
Desirable
- Experience of low-power wireless communications, such as Zigbee, Wi-Fi and Bluetooth
- Experience in software design for thread-based architectures (RTOS/Linux-based systems)
- Experience of software development for consumer products