Back-end Software Engineer
As a Back-End Software Engineer working in the Emerging Technology team, you will take the lead on designing, developing, releasing, and maintaining java based back-end systems.
You will work closely with researchers and other software engineers to develop existing prototypes into efficient production-ready systems. You will be comfortable owning the development of innovative new systems from scratch with a high degree of autonomy.
You will be joining a team focused on early-stage product development in emerging technologies and nascent markets, and will enjoy rapid iteration and moving between projects as circumstances change.
- Development and maintenance of new Nominet products
- Solving complex problems with no precedent and taking responsibility for key design decisions
- Investigating and engaging with new trends, technologies, packages and libraries
- Packaging software and data for continuous delivery/deployment
- Writing high-quality documentation
- Developing relationships with people across the Nominet business.
Key result areas
- High level of service delivered based on internal feedback and features implemented as part of product roadmaps
- On-time and on-budget project delivery
- Collaborative, productive working relationships with colleagues.
- Superb Java skills + Java8 functional programming
- Experience with working with SQL databases
- Familiarity with Git version control system
- Ability to implement clean, robust, thoroughly-tested, maintainable, and standards-compliant code (that leverages frameworks where possible) in an agile working environment
- Ability to work from a prototype and collaborate with researchers to deliver production-ready systems
- Ability to working on a breadth of back-end technologies whilst ensuring a coherent, high-performing solution
- Ability to scrutinise and provide feedback on specifications
- Ability to produce documentation that is well-structured and well-written
- Being a good team player with a positive attitude and able to work with different people across departments and levels
- Effective communication with technical and non-technical colleagues, including giving demonstrations of your software
- Ability to understand product development within the context of the business and how products will contribute to the success of the company.
- Maths/Science/Telecom background
The following skills are desirable but not essential:
- Linux sysadmin/DevOps experience
- Experience with MS Azure cloud environment