Start date: ASAP
Reports to: Development Manager
The Senior Software Engineer is responsible for programming both large and small requirements, by undertaking more complex development tasks .
Drawing on industry-wide best-practice and a broad range of technical knowledge, the Senior Software Engineer is responsible for defining, and programming new productised software (sub-)systems.
To be successful, this individual needs to be enthusiastic, passionate and self-motivated, capable of learning quickly and reacting to a world of ever-evolving technologies.
Defining software architectures
Manage non-functional requirements
Contribute to and support the architecture definition process, bringing structure, guidelines, principles and leadership to the development aspects of projects
Manage 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 software development projects, providing technical guidance and making technical decisions
Provide coaching and mentoring to the development team as needed
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
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
Demonstrable experience of analysing and solving difficult problems across the stack
Two+ years experience of using open-source web development frameworks (preferable Django and React) to facilitate the creation of complex, database-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 with ideally pytest and lettuce or something equivalent
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 enterprise-scale solutions
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 responsive applications for mobile experience
Excellent communication skills, both written and verbal.