We are looking for a passionate Software Engineer to develop and maintain software solutions (specifically UI on RasPi and Android platforms) to drive our hardware.
Software Engineer responsibilities include gathering user requirements, and writing code in various languages (specifically Python and Java). Our ideal candidates are familiar with the software development life cycle (SDLC) from preliminary system analysis to tests and deployment. Knowledge and experience of Linux is essential (specifically RasPi and Android distributions). A basic of embedded software and communications would also be very helpful.
Ultimately, the role of the Software Engineer is to build high-quality, innovative and fully performing software that complies with coding standards and technical design.
- Develop the UI with feature improvements
- Execute full software development life cycle (SDLC)
- Write well-designed, testable code
- Integrate software components into a fully functional software system
- Document and maintain software functionality
- Troubleshoot and debug in conjunction with hardware
- Comply with project plans and industry standards
- Ensure software is updated with latest features
- Develop flow-charts, layouts and documentation to identify requirements and solutions
- Proven work experience as a Software Engineer or Software Developer
- Experience designing interactive applications
- Ability to develop software in Python and Java. A knowledge of Kivy framework would be advantageous.
- Experience of coding for RasPi and Android platforms
- Experience with test-driven development
- Proficiency in software engineering tools
- Ability to document requirements and specifications
- Experience of unit testing