Senior Software Engineer
Recruiter
Listed on
Location
Salary/Rate
Type
Start Date
This job has now expired please search on the home page to find live IT Jobs.
Senior Software Engineer
We build educational publishing and research tools for use within Adam Matthew, and our international customers.
Our department's mission is to ensure the fast, predictable, and uninterrupted flow of planned work that delivers value to the business, by delivering stable and secure software, and minimising the impact of unplanned work. We do this by using Agile, Lean, and DevOps practices to build high quality software products that are valuable to our business.
Software Engineers work as a team to plan and collaboratively build software that meets our quality standards. Engineers will feed into the product and technology roadmaps too, helping to identify potential value improvements, and refining solutions ready for the team to build. Engineers are responsible for ensuring their tools and practices are up to date and enable us to meet our goal ever more effectively.
As a Senior Software Engineer, you will bring your expertise and experience to the table as we continue to learn and grow. You will encourage debate, collaboration, and experimentation, and investigation, and will mentor and coach others to do the same.
You will also be able to demonstrate the following:
An excellent understanding of Object-Oriented Programming and SOLID software design principles, as well as approaches to implementing them.
The ability to build server- and client-side web applications using clean, well document and secure code.
Experience with the following server-side languages, frameworks
.Net framework (v4 and ideally Core)
C#, MVC, Entity Framework, WebAPI
SQL Server
Experience with the following client-side languages and frameworks
JavaScript, including ES6
CSS, including styling architecture techniques such as SASS
JavaScript libraries such as Angular, React, Vue, Knockout, Typescript
HTML including semantic HTML5
Node and npm/yarn dependency management
Task runners such as Gulp or Webpack
The ability to actively participate in group discussions, providing your own ideas and opinions and listening to others.
A very good understanding of Agile, Lean and DevOps practices, as well as frameworks such as Scrum.
The ability to research and share solutions to problems.
An understanding of web application security risks and mitigation techniques
Experience in designing data models and understanding of modelling techniques.
An excellent understanding of modern distributed web application and architecture design patterns, such as microservices, functions.
Understanding of DevOps methodologies and processes, including CI/CD and experience with build and deployment tooling such as Azure DevOps, TeamCity, Jenkins, Octopus.
Experience with source control mechanisms such as Git or Mercurial, including branch management techniques such as GitFlow/GitHubFlow.
Experience of AWS or other cloud platform service providers.
The ability to teach and mentor both technical and non-technical subject matter.
An expert understanding of TDD and BDD, and frameworks such as Gherkin/Cucumber.
A passion for learning and experimenting with new technologies and approaches and sharing your knowledge with others.
While all of the skill areas shown above are important, we will be particularly interested in candidates who can demonstrate expertise in the following areas:
- Mentoring
- Teamwork and collaboration
- Agile and Development Ops principles
- CI/CD strategies and tools
- Cloud orchestration, containerisation, IAC
- Code branching strategies
- TDD
- AWS
- Client Side/FE Programming
- .Net Programming