Full Stack Software Engineer

  • Full-time

Company Description

We are re-engineering the laundry process from the ground up; our aim is for clinically-clean, net-zero carbon emissions for the whole process, from the collection through washing and back to delivery. This has never been accomplished and we are determined to be the first truly sustainable and hygienic on-demand laundry company in the world.

Job Description

We are looking for a Full Stack TypeScript/JavaScript engineer to join the Oxwash engineering team, and help us build a world-class technology-enabled sustainable business. You will be working across both existing and greenfield projects, and will be heavily involved in contributing to our software’s codebase, architecture, coding standards, and engineering practices.

Our software powers both our customer-facing web and native apps, helping customers arrange the collection, delivery, and payment for their laundry; and internally-used tooling to help our operatives (processing and delivery staff) manage their workload. Behind the scenes, it’s responsible for driving logistical and computational efficiency. 

Our current software is written in TypeScript, on the MEAN stack (MongoDB, Express, Angular, Node.js) and hosted on AWS.  It’s important that you have a familiarity with at least one of these technologies, and a willingness to learn the other(s). You do not need flawless knowledge or 5+ years experience in each of these areas to be successful in this role. We are much more interested in engineers with an overall passion for self-improvement and creating quality software.

You will join a small, friendly, and passionate engineering team and will be able to shape the future of Oxwash. We’re looking for someone who can help us solve and identify the problems which will inevitably rise as we scale and expand our operations and systems across to handle more orders, from more customers, in more places.

This is ideally a hybrid remote role. We like to work together with other Oxwash team members (operatives, admin, HQ staff) across our ‘Lagoons’ (our dry- and wet-cleaning hubs, where the magic happens).  We would like you to be in a lagoon once or twice a week, when it is safe and responsible to do so. We currently have Lagoons in London (Battersea), Cambridge, and Oxford, as well as an office in Central London (Kensington). 

Technologies you will work with

We use the following technologies. You do not have to have used all of these languages in production in the past, but you should have a good level of fluency in at least one of them, and ideally an awareness of everything else. Our software is evolving fast so it’s more important that you’re able to pick up these parts quickly.

  • Languages: TypeScript, JavaScript (must have a passing fluency of one of these)

  • Frameworks: Angular (v2+), React (Web and Native), Node.js, Express, Jest

  • Databases: MongoDB

  • Infrastructure: AWS Lambda, Elastic Beanstalk, Serverless framework

Challenges you'll be working on

  • As a Full Stack engineer you will be working across multiple technologies.  Over time you will be working on the following kinds of projects:

  • Designing and building RESTful APIs, consumed by our web and native apps

  • Building clean and accessible User Interfaces for our customers, operatives, and HQ staff

  • Maintaining and improving our native mobile apps

  • Working on internal engineering tools and features to simplify and speed up the speed of the engineering team

  • Facilitating data-centric decisions to drive strategy, growth, and sales

  • Shaping the practices and standards of a growing engineering team

What you'll need to be successful in the role

  • You care about quality in software engineering, and see it as craft

  • You are able to clearly vocalise your opinions, and are willing to listen to others

  • You have experience developing Single Page Applications (SPA) and/or RESTful APIs in any language or framework

  • You have an interest in working with modern technologies and engineering practices

  • You are comfortable working in a startup environment

  • You have experience building or designing scalable, modern software systems

  • You have used either relational or document databases in production, especially MongoDB.

  • You are able to learn new things and share your knowledge with your peers

Our Interview Process

We want to build a sensible and human-centric interview process at Oxwash.  We have designed our interviews as a chance for you to showcase the skills you will actually use at Oxwash. There are no take-home tests, brainteasers, or white-boarding. 

If you have any commitments, professional or personal, which we would need to work around - we are completely able to do so.

Our interview process looks something like this:

  • Introductory phone call with a software engineer at Oxwash, so we can learn more about each other (30-60 minutes)

  • A remote, (Google Hangouts), technical interview with two Oxwash software engineers.  You will not need to prepare anything for this interview, we’ll work together to understand, and potentially alter, a part of our codebase. There will be time at the end for questions (technical or otherwise; 90 minutes)

  • If safe and possible, a face-to-face chat with the wider Oxwash team, including leadership and our operatives, and a tour of one of our Lagoons (120 minutes)

  • We make a Job Offer if we think there’s a good fit between us!  Or else we will give feedback.

The Perks

  • Yearly conference budget (online for now, in-person when that’s possible)

  • Free personal laundry, it’s important you know the Oxwash service!

  • Free mental health support and counselling, provided by Spill (https://www.spill.chat/)

  • An enhanced sickness policy, and parental leave

  • Share options available

Salary

£45,000 - £60,000

Additional Information

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. This job description is intended to convey information essential to understanding the scope of the job and the general nature and level of work performed by job holders within this job. However, this job description is not intended to be an exhaustive list of qualifications, skills, efforts, duties, responsibilities or working conditions associated with the position.