Lead Software Engineer
LocationMarlborough, Wiltshire / Remote working
As a Lead Software Engineer, you will bring your expertise and experience to the table as we continue to learn and grow. You will encourage and lead debate, collaboration, experimentation, and investigation, and will mentor and coach others to do the same. You will also line manage other software engineers. You will work closely with the Software Architect and department leadership.
Our 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. They are responsible for ensuring their tools and practices are up to date and enable us to meet our goal ever more effectively. Each engineer has a responsibility to produce excellent quality work, and to do so as part of a team effort to achieve our goals.
What we need you to bring to the party:
Some of the core skills you will need to be successful are outlined here. You donâ€™t need to be a master of all these things to be a member of our team. Yes, we love expertise, but above all, we value a keen interest and demonstrable ability to learn! Besides, who knows what technologies weâ€™ll want to try our hand at.
- 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-documented 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
- CSS, including styling architecture techniques such as SASS
- HTML including semantic HTML5
- Node and npm/yarn dependency management
- Task runners such as Gulp or Webpack
- The ability to understand complex software systems and diagnose and debug issues within them.
- The ability to actively participate in group discussions, providing your own ideas and opinions and listening to, and encouraging the input of others.
- An excellent understanding of Agile, Lean and DevOps practices, as well as frameworks such as Scrum.
- The ability to research and share solutions to problems.
- A very good 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.
- A very good 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.
What we will offer in return:
- A competitive salary/excellent benefits and the opportunity to develop your career. We take great pride in upskilling and promoting our staff.
- An innovative, progressive and fast-paced, fun team environment where you can work as part of a brilliant team, enjoy your work and be rewarded for it.
- A hybrid, flexible working environment where you can plan your week and work from home at least three days.
Be Bold- We maintain our entrepreneurial spirit, keeping a sense of agility and curiosity in all we do.
Be Distinctive- We think differently and celebrate the individual. We bring quality, passion, and fun to our work.
Be Honest- We act with integrity to our partners and customers. We are forthright with each other to ensure we continually improve.
Be Accountable- We take responsibility for delivering results and support one another to succeed.
Before you goâ€¦
We believe in the importance of diversity and inclusion at Adam Matthew Digital. We strongly encourage a wide, diverse range of applications.