You will be responsible for the development of NFC-related components and supporting applications on one or more of the major Smartphone platforms, with the current priority being towards Windows and Android.
It will be very advantageous if you are comfortable in a multi-language environment. While most development is in C++, bindings from with Java (on Android) and C# (on Windows) to native code are a key part of the role. We also use Python extensively for tools development and in our build system.
The role encompasses the whole development lifecycle, and you will be expected to prepare specifications and designs of high quality, to implement them to a high standard, and validate that they meet the specifications. Much of the development needs to be conducted to a high level of robustness - particularly against software-based attacks.
There are multiple roles available - primarily for individual contributors. For those at an early stage in their career, it is not expected that you will yet have experience in everything listed below, but these should be of interest to you.
- Use of C++ on embedded or mobile targets
- Use of version control systems such as Git, Perforce or Subversion
- Working in scripting languages such as Python, Perl or Ruby
- Working in constrained environments such as kernel or TEE
- Ability to debug and resolve highly complex issues
- Excellent communication skills
- Enjoys learning under pressure and adapts quickly to new requirements and situations
- Focus on quality
Minimum of BSc/BEng degree in Electronics Engineering, Computer Engineering/Science or a closely related numerate area.