Senior Software Engineer – UK
- Location: Brighton, UK
- Salary: £50000-£60000
Why do I want to work for LEO?
LEO is global leader in the creation of digital learning, our portfolio includes major programmes for the private sector, 3rd sector and government, including high-profile initiatives with mainstream media visibility. The focus of the development team is to support the company in leading in the domain of learning technologies.
This role offers a unique opportunity to contribute to meaningful learning solutions that will make a genuine difference to people’s lives. We work hard and we move fast. We laugh and we have fun doing what we do, but when we work, it is “game on”. Excellence, attention to detail, and initiative are highly valued.
We are looking for an enthusiastic, passionate and self-motivated software engineer to help us define and deliver new (productised) software (sub-) systems and extend existing systems.
You will lead the development of large and smaller custom software projects: mentoring and coaching other developers as they carry out sprints of design and implementation work and personally undertaking more complex development tasks from time to time
If you understand how to define technically robust and correctly estimated development proposals, how to analyse and solve difficult problems across the stack, and how to guide a development team through execution while quality assuring their work during implementation, then this could be the role for you.
A perfect match for us would be someone with a BSc in a STEM subject, who is able to draw on industry-wide best-practice and a broad range of technical knowledge, thrives on constantly learning about ever evolving technologies and is an excellent verbal and written communicator. Ideally you will have at least three years experience of implementing large backend infrastructure, preferably mobile platforms, and two years experience of using open source web-development frameworks to create complex database-driven websites with an emphasis on repeatability. You should also be familiar with SCRUM methodology and ensuring version control and release management using Git, Github or Bitbucket.
A little more detail on your responsibilities in defining and then delivering software architectures:
Defining software architectures
- Manage non-functional requirements
- Contribute to and support technology selection by considering costs, licensing, vendor relationships, technology strategy, compatibility, interoperability, support, deployment, upgrade policies, and end-user environments, reducing risk where there is high complexity or uncertainty and introducing risk where there are clear benefits in doing so
- Contribute to and support the architecture definition process, bringing structure, guidelines, principles and leadership to the development aspects of projects
- Contribute to and support architecture evaluation by testing throughout the software development lifecycle, giving LEO’s customers confidence that the system will work when rolled out
- Collaborate closely with all system stakeholders (ranging from the development team to stakeholders who have an interest from a security, database, operations, maintenance, and support perspective) to ensure that the custom software development will successfully integrate with its environment
Delivering software architectures
- Own the technical aspects of client software development projects, providing technical guidance and making technical decisions
- Collaborate and peer-review colleague’s code
- Manage quality assurance by maintaining code standards, design principles and source code analysis tools through to the use of continuous integration, automated unit testing, deployment automation and code coverage tools
- Design, develop and test your own code where appropriate
Skills and knowledge
- Sc. In any of the STEM fields or equivalent demonstrable work experience.
- Three+ years of experience with identifying issues and implement solutions to complex problems in medium to large scale backend infrastructure and preferably mobile platforms.
- Demostrable experience of analyzing and solving difficult problems across the stack.
- Two+ years experience of using open-source web development frameworks to facilitate the creation of complex, data-driven websites, with an emphasis on reusability and “pluggability” of components, rapid development, and adhering to the principle of “don´t repeat yourself”.
- Demonstrable experience of creating complex solutions using industry standards and best-practice.
- Excellent understanding of a wide range of technologies, processes, tools and systems, including enterprises-scale solutions.
- Demonstrable experience with an open-source learning (content) management system.
- Comprehensive knowledge of version control and release management with Git, Github or Bitbucket.
- Demonstrable experience with automated code base testing.
- Demonstrable experience using Scrum methodology.
- Demonstrable experience deploying and optimising responsible applications for mobile experience.
- Excellent communication skills, both written and verbal.
How do I apply?
Contact us and tell us how you’d help us define and deliver superb software solutions. What skills or perspectives do you bring to the table that we can’t do without? Tell us why you’re the right person for this role. If it feels like a match, we will ask you to undertake a test.
Email email@example.com with your CV, cover letter and any additional information.