Senior Full Stack Engineer - remote

Posted 2 years ago  • London, UK
Stack Overflow

Our Senior Full Stack Engineers are passionate about delivering high quality software, on both our backend and frontend services. They also coach and learn from their colleagues, and constantly better themselves and the people around them.

About SH:24

First off, thank you for considering a role with us!

SH:24 is a pioneering online sexual and reproductive health service, delivered in partnership with the NHS. We make it easy for people to self-manage their sexual and reproductive health online by providing free STI test kits, contraception &treatment, information and advice - 24 hours a day. Weve won a host of awards and industry recognition for what we do, and were happy to say that our reach and services offered are expanding every day.

We are not-for-profit and passionate about delivering discreet, convenient and clinically safe sexual health services. Our vision is to make it easier and faster for people to access sexual and reproductive health services, no matter where they live;weve been doing it since 2013. Were also proud of our community and the people who work for us;those who have helped us shape a company that puts our users at the heart of everything we do by designing services that are easy to use, easy to access and easy to understand by all that need them.

The Role

Our Development Team has recently split into four distinct workstreams to better focus on specific projects and keep context over several months of sustained work. These four streams have responsibilities that span a mix of BAU, Support and tool-improvement, as well as several new projects and the creation of customer-facing sites. We are looking for Senior Full Stack Engineers to help populate these new teams.

At SH:24 we like to keep our stack relatively straight-forward: we build our software primarily in Ruby, most of which is within Ruby on Rails. We have a mixture of full stack Ruby on Rails applications and REST APIs serving React components and in the near future we will look to principally build out our front-end in React. Additionally, all our applications run on AWS, with a deep stack of EC2, EKS, RDS, S3, SQS, Elasticache, all managed using Terraform. Every project is run through CircleCI and we deploy to most of them several times a day.

Were big followers of Agile and have daily stand-ups, as well as weekly estimating sessions, refinement sessions, retrospectives, and other Agile ceremonies. We use Clubhouse.io as a kanban/project management tool. We also love pairing and you can expect to work closely with your team either through screen-sharing or, hopefully soon, in person!

What We Need From You

You'll be either an expert in Ruby or an experieneced polyglot with little Ruby experience as well as having a good knowledge of object oriented programming. Youll have extensive experience of working on a delivery team shipping a product to users.

Youll have been involved in the front-end side of at least one product, and have a good grasp of what it takes to use HTML, CSS and JavaScript to make a robust and accessible UI for users. Any experience with modern front-end frameworks such as Gatsby or Next.js will be a bonus.

Youll also have a good knowledge of databases and how they relate to ORMs. An understanding of SQL and DB performance at scale would be a real advantage.

Youll have worked in an environment where developers are exposed to managing cloud infrastructure. You have a working knowledge of AWS and containerisation basics: Virtual servers, networking, Docker and Kubernetes.

Well expect you to be able to work on entire features from inception through to delivery. Youll be able to assist in planning and architecture decisions throughout our service and communicate those decisions to other members of the team.

We are big testers here. Wed hope you are too, as well as following good design principles for creating code. You might not know what every letter of SOLID means (although it wouldnt hurt!) but you should be interested to learn and have a good understanding of what it means to create great code.

Youll have worked in an Agile environment and be comfortable with its ceremonies and deploying regularly. In time, well need you to join our on-call rota for out of hours support. This is shared amongst all members of the development team and youll be compensated for those times that youre on-call. Finally, and most importantly, you will love to learn, share knowledge and help others. The team at SH:24 is great because we provide the support to each other for everyone to perform well.

What Youll Get From Us

We are always interested in upskilling our employees, and are flexible in ways to do it: be it courses, books, onsite or remote learning with a colleague - whatever suits the situation best. If there is a particular skill or product you would like to work on and improve, well always try to accommodate you.

Were also keen to allow the team to work in the way they want - you can choose the OS of your machine, your chair, standing desk, dual monitors etc. If there is anything you need dont be afraid to ask.

As well as remuneration in the region of £60-85k based on experience, SH:24 provides a number of other benefits, including 25 days of annual holiday (in addition to the days between Christmas and New Year), truly flexible working, excellent pension contributions and life insurance.

Equality and Diversity

As an employer, SH:24 is committed to inclusivity.

We want to increase representation of currently under-represented groups to make SH:24 more diverse.

Build an inclusive team, where everyone is able to be themselves at work and feel supported, empowered, valued, respected, fairly treated and able to achieve their full potential.

As an inclusive employer we will not tolerate discrimination.

Interview Process

The SH:24 interview process comprises three main sections:

1. An interview with a member of the product team or senior management. This is primarily a culture-fit interview but also allows you to get a feel for the company and ask any final questions that may have come up through the process.

2. A take-home code test. This is usually completed in Ruby but let us know if you'd like to complete it in another language. As an alternative we're also open to looking at any public code you can send us.

3. A pairing interview, consisting of a conversation with two members of the team, along with a pairing exercise relating to the code test submitted. Usually well request an additional feature or suggest a possible refactor for you to try.