The Software Engineer will work within a small software team and will have the following
- Design and development of new product offerings.
- Integration of new features to existing applications.
- Work closely with the hardware development team.
- Software testing.
- Issue tracking and bug fixing.
- Producing high quality software documentation.
As a minimum the successful candidate will have the following Qualification: -
- A 2:1 degree or equivalent qualification in Software Engineering, Computer Science or other related subject.
- 2+ years’ experience in related position.
Skill and Experience: -
- Excellent knowledge and experience of the following programming languages or technologies: -
- Server: Java, C++
- Web: HTML5, CSS3, Spring, JQuery, Angular.js
- Cloud: Azure, AWS
- Protocols: RESTful API, JSON, XML, SOAP
- Databases: SQL, Hadoop, MongoDB, Cassandra, Neo4J
- Good understanding of the software development life cycle.
- Experience of Agile methodologies (Scrum and TDD)
Desirable Experience (not essential): -
- Familiarity with machine learning and data mining technologies.
- Experience working with automation server (e.g. Jenkins, Bamboo)
- Experience in mobile development: Java, Swift, objective, C++
- Knowledge of embedded development in C/C++
The following Personal Qualities are desirable for fulfilling the role: -
- Fluent in the English language, with strong communication skills both written and oral.
- Experience of understanding client requirements and translating them into software applications.
- Able to work both individually and as part of a team
- Willing to broaden knowledge across a number of products (software & hardware)
- Must be capable of multi-tasking and working to agreed schedules
- Enthusiastic and innovative in finding solutions
- Understand the commercial implications with respect to finding technical solutions
- Desire to travel, meet with clients & present/promote technical capability of the company