Senior Linux based developer, you will be working on maintaining and enhancing the current platform functionality as well as working alongside other Senior Developers and Technical Architects to specify, design and deliver our next-generation software platforms.
You will be a strong, creative developer with a broad range of software development experience who is keen to explore new technologies and adept at choosing the appropriate technology to achieve an efficient and effective solution. You will be an engineer who enjoys working directly with Product Owners and Technical Architects and has a proven track record of being able to turn a conceptual product “vision” into robust, secure, scalable, low-maintenance, enterprise-grade software.
You will be working within a multi-disciplined team and will be expected to take an active role in capturing and understanding product requirements, producing design documentation, coding and creating automated tests. You will work closely with the Team Lead to achieve the team goals and help grow the team.
For high-achievers the role offers scope for promotion and progression within the Engineering Department.
- Working closely with other engineers, Team Leads and Technical Architects to specify, design and build our next-generation product architecture.
- Working closely with Product Owners to specify, plan, size and prioritise new features.
- Designing, coding & testing enhancements to the existing platform code-base to meet product roadmap commitments.
- Supporting the Team Lead, helping to develop and grow the team, recruit new staff and mentor/develop existing staff.
- Supporting all aspects of the development process by contributing in planning, status and review meetings
- Extensive experience developing Linux-based software, bash shell scripting.
- Extensive experience working in a variety of commercial software development environments, as a member of a multi-disciplined team within a multi-team engineering department.
- Experience developing complex, distributed, multi-subsystem software using a broad range of technologies.
- A strong interest in working with new/emerging technologies such as micro-service architectures, containers and cloud deployment.
- Experience working with (or as) a technical architect to specify, design and drive the delivery of new software products from concept to commercial launch.
- Experience designing software solutions with security, robustness, performance, scalability and testability as fundamental requirements.
- Experience developing software using a wide variety of object-orientated and scripted languages.
- Clear and concise communication skills (verbal and written).
- Ability to report and monitor own progress against plan.
- Good understanding of the complete software development lifecycle.
- Familiarity with Red Hat Enterprise Linux (deployment, administration, network configuration).
- Experience of developing software as part of an Agile team within the Scrum framework
- Experience building software from a mix of open-source, third-party and proprietary source-code.
- Experience porting or refactoring software to run on a new Operating System or within new deployment environments.
- Experienced working within a team, with leadership responsibilities.
- Experience of software quality, test and development techniques (TDD, BDD, CI etc.).
- Familiarity with RPM/DEB formats and working with YUM/APT repositories.
- Familiarity with UML.
- Develops high quality, robust and pragmatic solutions
- Follows and supports Engineering best practices and procedures
- Assists in improving the delivery effectiveness of the team
- Pays close attention to detail
- Forms excellent working relationships