Java/Android Software Engineer (JNI)

Job Title: Java/Android Software Engineer (JNI)
Contract Type: Permanent
Location: London, England
Salary: £40000 - £50000 per annum
Start Date: ASAP
Reference: 70942-ITENG-LMY_1516713080
Contact Name: Lynn Younan
Contact Email:
Job Published: January 23, 2018 13:11

Job Description

Java/Android Software Engineer role - London

My award winning cyber security client is recruiting a Java Software Engineer to join a busy applications team.

We are looking for engineers with experience in developing in Java, C++ and ideally JavaScript. This experience should include AOSP customisation or Android Apps including JNI / native code development in a complex application.

Duties and responsibilities
Software Engineers are expected to contribute to all aspects of product engineering within the team and take the lead on developing software components for the product. The responsibilities of software engineers include:
Product software development
* Developing functionality for the product to meet the key market needs with a focus on delivering reliable, high-quality software components and a highly usable solution
* Developing user-facing components and related core system functionality and ensuring the system as a whole meets the required performance and reliability requirements
* Contributing to the scoping and design of new software and supporting planning and estimating, including responsibility for estimating individual development tasks

Integration, test and sustainment
* Performing the end-to-end integration and test of software components and deploying them onto hardware through both manual testing and automated test development
* Working with the hardware and firmware teams to identify and mitigate risks in both the overall design and in the integration of hardware and software
* Identifying and investigating defects in the system, whether found internally or by clients, and developing bug fixes and corresponding enhancements to the product

Engineering improvement
* Improving code maintainability and supportability for example through ongoing code refactoring, code peer-review, unit test development and provision of stable APIs
* Developing automation for common engineering tasks, including testing, environment provisioning and build and release management to improve development efficiency

Supporting innovation
* Investigating new technologies and performing rapid prototyping under the direction of the Head of Engineering or the CTO to support technical de-risking and identify opportunities for design improvements
* Working with the leadership team to identify and prioritise potential new product features, and suggest and progress opportunities for innovation across all aspects of the product design.

In addition to the specific software engineering responsibilities above, all members of staff are expected to contribute to the wider business where possible. By way of example, this could include providing technical support to customer trials, helping to write customer-facing documentation or building and setting up demonstration systems.
* 1st or 2.1 Degree in a relevant Engineering, Maths or Science subject or equivalent professional experience
* Minimum 2 years development experience in one or more of: o End-user application development in C++ or Java
o Android App development including JNI / native code development
o Javascript programming and web development
o Automation of integration, test and deployment
o Working in a product engineering environment

* Knowledge of one or more of the following is desirable o Android Open Source Project
o Browser plugin / extension development
o Firefox customisation

* Examples (on GitHub or similar) of Android App development, including JNI / native code in a complex application
* Self-motivated
* Ambitious
* Enjoys technical challenges
* Results driven
* Ability to cope when thrown in at the deep end
* Needs to be able to communicate well, verbally and in writing
* Team player with the ability to collaborate effectively
* Flexible and adaptable
* Excellent interpersonal skills
* The ability to plan, prioritize and get work done on schedule is essential, as is the ability to get on well in a small team environment