Lead Software Engineer
Location: Harwell, Oxfordshire
Responsible to: Head of Ocean Sustainablity, Ocean Sustainablity Business Unit
Working Hours: 37.5 hours per week
Contract: 90 day Contract
Holiday: Statutory holidays.
Equal Opportunities: The Satellite Application Catapult strives to be an equal opportunities employer and commitment to this process will be expected.
The Satellite Applications Catapult promotes, develops and facilitates the commercialisation and advancement of the satellite applications industry.
The Ocean Sustainability Business Unit at the Satellite Applications Catapult is an independent innovation and technology company, created to drive economic growth through the exploitation of space. The initiative is a not for profit, collaborative project between the Satellite Applications Catapult and our partner, Pew Charitable Trusts. Our analysis focuses on adding transparency to retailers’ seafood supply chains and supporting Governments to monitor their marine reserves and Exclusive Economic Zones (EEZs). The project was runner up in the Economist Ocean Innovation Challenge 2015 and winner of the Technology Award in the 2015 Blue Marine Foundation Ocean Awards.
The mission of the business unit (to be shortly renamed) is to be the trusted, internationally recognised experts in fisheries analysis and support for Governments and retailers by providing actionable information on fisheries activities.
Our vision is for Governments and retailers globally to have fair and equal access to high quality, actionable analysis on fisheries compliance, resulting in higher levels of economic and biological sustainability.
The Catapult fosters an open and collaborative culture that stimulates and develops staff and encourages collaboration and innovation. Our employee value proposition is strong. We have worked hard to create an environment which is dynamic, exciting, challenging, rewarding, flexible and, most importantly, fun. More about the Catapult Culture
The Lead Software Engineer’s role is twofold:
- To ensure the architectural integrity of the Eyes on the Seas solution, to ensure that developers deliver software in line with the architectural goals, and direct developers to adhere to the “keep it simple” mantra.
- To provide leadership to the development team and ensure that deliverables are on time and to budget.
The ideal candidate will be an experienced software engineer with a strong software design and architecture background, with experience mentoring other engineers and developers, and experience leading customer-facing projects. This person must be exceedingly well organized, flexible and enjoy the challenges of working in an office of diverse people in a small start-up environment.
The role will present limited opportunity for hands-on development; the candidate will spend most of their time working with other developers to ensure their effectiveness, and being available to help solve problems and unblock progress. Where necessary the candidate will work across the business to resolve issues that impact customer satisfaction, and to identify risks that may give rise to such issues.
The role splits into three key areas:
Software Architecture and Design
- Ensure that the Eyes on the Seas solution is developed in line with the architectural vision and that design decisions are taken to ensure the integrity of the overall solution, customer satisfaction, and in a manner that optimises operational effectiveness.
- Work with stakeholders to develop the architectural vision as business needs evolve
- Document the architecture and design, in particular as decisions are made during the evolution process
- Mentor software engineers and developers to ensure that they adhere to the vision. This includes performing pair programming with team members to help direct development activities, performing code reviews, and supporting learning activities.
- Ensure the solution is developed such that it is straightforward and simple to maintain and operate.
- Ensure that developers remain on task and on schedule throughout sprints
- Ensure that blocking issues are cleared quickly and effectively, and facilitate team thinking activities to ensure solutions are well thought out and appropriate
- Support and direct learning opportunities to ensure the most appropriate technologies are considered for use
- Facilitate technical discussions and help overcome differences of opinion in approach and direction
- Work closely with the technology manager to ensure that the developed solution is operationally ready and is supportable/maintainable by the operations staff
- Work closely with the department head to ensure alignment on architectural vision and the development thereof, and alignment with business strategy
- Work closely with the chief analyst to ensure that the solution meets the needs of our analysts and customers
- Work closely with business development to ensure that the solution meets the needs of the market and prospects. This may include supporting pre-sales activities.
- Work closely with the business unit coordinator to ensure efficient and effective business operations, including developer wellbeing
Required Skills and Experience
- Be conversant in the many architectural options available for building large scale distributed data analytics solutions
- Understand in detail how software components supporting such large scale systems can be integrated to deliver a data analytics solution
- Be familiar with a wide range of technologies upon which such solutions can be built, to include the following or similar technologies:
- Apache Accumulo
- Apache Hadoop 2 / HDFS
- Apache Spark
- NATS messaging
- Google Protocol Buffers
- Oath, OAuth, Open ID, SAML, ADFS, etc.
- T-OTP authentication
- TLS / Kerberos
- Have developed such solutions in Java or C#, and be familiar with modern language features that support such solutions
- Understand in detail the software and network security aspects of such solutions and know how to design solutions for maximum security while maintaining usability
- Be the customer champion in the technology team, ensuring that the customers’ needs are represented, and that solution development is focused on the customer
- Be rooted in an operational mindset, recognising that all software must be operated and supported, and that simplicity is the best path to that end
- Be able to convey the benefit of your experience and mindset to other engineers and developers
- Experience with agile software development methodology, and in supporting projects using such methodologies
- Excellent time management skills and ability to multi-task and prioritise work
- Excellent customer service skills, and a drive to achieve excellent customer satisfaction
- Experience with process and procedure development
- Strong attention to detail and problem solving skills
- Excellent written and verbal communication skills
- Highly organised, with an ability to organise and motivate others
- Self-motivated, pro-active, but able to work effectively as part of a team
If you are up for the challenge and thrive in a fast-paced and creative environment, send your CV along with a covering letter to email@example.com.