The Role Purpose
Develop new software features as part of an Agile team. Help shape the direction of future features, and contribute to our innovative and dynamic culture.
In your role you will:
- Design and develop new features, contributing to mission critical server side network services.
- Develop high-performance cross platform application software, dealing with video streaming, network communications, file storage, redundancy and more.
- Participate in all aspects of development, from feature scoping and estimation to unit testing and bug fixing.
- Take ownership of features and lead cross-functional feature teams.
- Help shape the direction of future features, and the overall product.
- Challenge accepted ways of working, and actively participate and contribute to process improvements.
- Mentor and provide guidance to other engineers.
Your success factors:
- Passion for owning, building and delivering great software for end-users.
- Contribute and thrive in the culture of collaboration and continuous improvement.
- Deliver new features on time with agreed scope, usability and quality.
- Help refine feature requirements and generate innovative ideas.
- Work efficiently on multiple tasks at the same time.
- Develop an understanding of the business in order to be adaptable to changing requirements.
- Work closely within your own team and across the Engineering department.
- Participate in and learn from peer reviews of code and other artefacts.
- Actively share your knowledge with others within and outside of the team.
- Propose new tools and ways of working.
Skills, experience & attributes
- Strong C++ experience, ideally C++11 or later.
- Great working knowledge of OO and design patterns.
- Excellent problem solving, analytical and decision making skills
- Able to define, scope and estimate tasks of varying size.
- Experience of leading and contributing to cross-functional development teams.
- Committed to developing stable, user-friendly software.
- Active learner who keeps up to date with developments in your technical and professional areas of expertise.
- 5+ year’s commercial experience and a relevant degree
- Knowledge or interest in any of the following:
- IP networking principles
- Virtualisation technologies such as Hyper-V
- Source control tools such as Mercurial or Git.
- Linux and Windows system administration
- Bash or PowerShell script development
- Multi-threaded software, Boost, STL
- Network communication protocols such as SOAP, HTTP, REST, ONVIF
- Performance and scalability of large scale, distributed systems
- Security practices and how they apply to different components in a system
- Passion for programming
- Gets things done
- Customer focus
- Forward thinking