About the Role
Job description
About Made Tech
Our aim at Made Tech is to use human-centred technology to improve our society. We believe putting people at the heart of designing, building and delivering public services leads to better outcomes for everyone.
Are you a Software Engineer that wants to actually see the real-world impact from what you help to create? Our mission is simple! We believe we can use tech to make public services better. We also believe this can happen best when our own team represents the society that actually used the services we work on. At Made Tech, we’re collectively continuing to grow a culture that is happy, healthy, safe and inspiring for people of all backgrounds and experiences, so we encourage all people from underrepresented groups to apply for roles with us. Have we caught your interest? Please read on…
We are looking for Lead Engineers with a particular penchant and love for cloud, automation, slick tooling, and empowering software delivery by coaching teams in true DevOps fashion. While we are looking for those with significant experience working with AWS this role remains a full stack and polyglot role as with all of our Software Engineering roles
Our Lead Software Engineers are Tech Leads, Architects, Thought Leaders, Full Stack Engineers, and Consultants. They are our most senior technologist within a customer account representing Made Tech and act as a hands-on CTO across one or more software delivery teams driving organisational change and outcomes for users. They combine technical excellence, drive to deliver, and coaching, to achieve outcomes for our customers and their users, and to establish strong engineering cultures within our customers' organisations. They find themselves working on a variety of different problems from monoliths to microservices, upskilling colleagues and customers, always finding themselves learning from others, while constantly striving to be nice humans 🙂
Key responsibilities
We primarily write and deliver custom software for the public sector. We work across central and local government, as well as in health, and our past lies in the technology startup world. Technical excellence for us isn’t about delivering to feature lists. We place a strong emphasis on outcome-based delivery; ensuring our customers goals are understood and achieved with the technology we deploy.
High performing software delivery teams need to be empowered to iteratively and rapidly deliver changes all the way through to production. To do this we combine our extensive cloud automation knowledge with DevOps culture.
We ensure we document our architecture and infrastructure as code, using technologies such as Terraform and OpenAPI. Containerisation is a big part of empowering our teams to develop, deploy and scale their applications, but so too is using AWS Lambda and avoiding the complexity of stateful services altogether. Right tool for the job.
For us, DevOps is about culture rather than roles and titles. Even though this role is for someone with strong DevOps experience, the biggest impact you will have is coaching and helping teams use the platforms you build. You won’t be building infrastructure in isolation or charged with deploying other people’s work into production. You’ll empower teams with the mantra: you build it, you run it!
Our teams have used Java, Ruby, Python, ES6 with React, C# with .NET Core. We don’t limit ourselves as a company and we expect all our Engineers to be keen on learning new technologies. Automation is important to our teams, so we make sure there is a CD pipeline set up to build, test, and release many times per day.
We grow a team of language agnostic engineers, which you might already consider yourself to be, who are versed in a mix of paradigms such as object oriented, functional, declarative, event-based and aspect-oriented. To create this environment our Senior Engineers need to embrace sharing their knowledge and skills with others, and they need to keep an open mind -we’d love to hear some examples of mentoring, coaching and growing team members. Maybe you will have written some blog posts about your discipline, or perhaps even delivered a talk or two.
Skills, knowledge and expertise
Essential Skills
We want our teams and individuals to grow. If you don’t have the following skills, you will have access to a learning budget, experienced team members and a wider learning and mentoring culture that can help you develop the following:
Written code with tests
Delivery in an agile environment
Worked across a variety of programming languages
Worked with databases
Worked with APIs
Worked with at least one Cloud platform
Debugging experience in a range of systems
Evidence of self-development - we value keen learners
Drive to deliver outcomes for users
Desire to mentor & people manage
Nice to Haves
Consultancy experience
Working directly with customers and users
Working within multidisciplinary teams with product, design, and technology working within the same cycles
Showcasing and presentation skills
Agile practices such as Scrum, XP, and/or Kanban
Pair programming - we pair around 50% of the time
Writing code with test-driven development
Experience building and maintaining CI/CD pipelines
Component-based design techniques such as using pattern libraries, styled-components, CSS-in-JS, BEM, and/or SUIT CSS
Debugging infrastructure
The REACT ecosystem including a test-driven approach
Infrastructure as code technology like Terraform and Cloud Formation
Familiarity with architectural and design patterns
Use of architectural design records
Tech Stack
JavaRubyPythonES6ReactC#.NET CoreTerraformCloud FormationAWSAPIsDatabasesCI/CDAgileDevOps