Skip to content

Latest commit

 

History

History
73 lines (47 loc) · 5.92 KB

lead_software_engineer.md

File metadata and controls

73 lines (47 loc) · 5.92 KB

Lead Software Engineer

Our Lead Software Engineers work with organisations to deliver digital, data and technology outcomes that improve society. They do this by establishing and managing teams to deliver software in public sector organisations.

Your role at Made Tech

At Made Tech we want to positively impact the future of the country. We help public sector organisations deliver quality software to help citizens get more from public services. We work alongside brilliant public servants to modernise technology and accelerate digital delivery.

You will combine technical excellence, drive to deliver, and coaching to achieve better outcomes for our clients and their users, and establish strong engineering cultures within organisations. You’ll work on a variety of different problems, including monoliths, microservices, and upskilling colleagues and clients.

Depending on our clients' needs you may play one or more roles. Sometimes the role is very hands-on and you'll be the most senior engineer on the team delivering software. Other times you’ll be more of a technical architect in one or more teams.

You will need to be a person who enjoys a varied workload, is happy to switch between being more and less hands-on, but don't see yourself stepping away from code any time soon. It might be that you're stronger as a tech lead or a tech architect, or only have experience in one area. That's okay as long as you have an interest and willingness to broaden your expertise.

You will have the opportunity to work across a variety of technologies and will need to be comfortable doing so. Our teams have used Ruby with Rails and Sinatra, ES6 with React and Angular, C# with .NET Core, Java with Spring, Python with Django, and plenty more stacks. We don’t limit ourselves to particular technologies and we expect all of our engineers to be keen on learning new skills.

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've been using AWS from the start and as Advanced Partners are go-to experts within the public sector. We use a range of IaaS, PaaS and FaaS depending on the needs of our users, in this case software teams, such as EC2, Lambda, ECS, Kubernetes, Heroku, CloudFoundry, Azure App Services, and more. We use VPC and PrivateLink for connecting to on-premise, legacy systems. We also use API Gateway, S3, CloudFront, SQS, SNS, SES, RDS, and many other services provided by AWS. You will have the opportunity to use and learn these technologies. We also offer official AWS and other cloud training.

We make sure 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, as is using AWS Lambda and avoiding the complexity of stateful services altogether.

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 in coaching and helping teams use the platforms you build. You won't be building infrastructure in isolation or tasked with deploying other people’s work into production. You'll empower teams with the mantra “you build it, you run it”!

We have a team of polyglot programmers (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. You will need to be comfortable sharing your knowledge and skills with others. We’d love to hear some examples of times you’ve mentored, coached, and contributed to the growth of team members. Maybe you’ve written some blog posts about your discipline, or perhaps even delivered a talk or two that you’d like to share.

What skills and experience do we look for?

We look for the following skills and experience. But when we’re hiring for this role, if you don’t have some of the skills and experience listed below, don’t let that stop you from applying!

  • Working directly with clients and users
  • Working within multidisciplinary teams with product, design, and technology working within the same cycles
  • Agile practices such as Scrum, XP, and/or Kanban
  • Showcasing and presentation skills
  • Writing code with test-driven development
  • Working with many programming languages
  • Working with many databases
  • Working with APIs
  • Working with a cloud platform such as AWS, GCP and/or Azure
  • Influencing architecture and teams
  • Debugging experience in a range of systems
  • Evidence of self-development – we value keen learners
  • Empathy and people skills

Desirable experience

Experience in the following things isn’t essential, but it’s highly desirable!

  • Working at a technology consultancy
  • Pair programming
  • 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
  • Use of architectural decision records
  • Writing blog posts and giving talks

Work perks and benefits

Take a look at the Benefits & Perks section of the Made Tech Handbook to see what we can offer you.

Salary and location

We mainly work remotely but you may need to visit clients or go to the office occasionally. We have offices in London, Bristol, Manchester, and Swansea.

The salary for this role is location dependant:

  • UK: £70,000 - £100,000
  • London & South East: £73,500 - £105,000

Applying

When we’re hiring for this role, you can see the details and apply at www.madetech.com/careers. If you have any questions about the role please email us at careers@madetech.com. We’re happy to help!