Senior Android Developer

Gousto ,
London, Greater London

Overview

Job Description

About us Gousto is the UKs leading recipe box company delivering precise ingredients, delicious recipes and a dollop of adventure to thousands of homes across the UK. As one of Europes fastest growing independent companies, youll be part of an exciting, expanding team and trailblazing company. Food and tech is at the heart of what we do. Using industry-leading technology, weve connected over 6 million people to delicious food so far. By 2025 well have delivered 400 million delicious meals to dinner tables across the country... and were only just getting started. Join us and lets dream big and deliver bigger. Unbox possibility. The Opportunity The code we write powers every aspect of our business from the menu recommendation engine to driving our supply chain. We are a scale up business on a steep growth trajectory, and with that comes the need to build a platform that can scale. In parallel to this, we need to expand our team, evolving effective tools and processes that ensure we can continue to deliver quality code at pace. Our Android app is built using both Kotlin and Java, based on Clean Architecture. We continue to keep up with the latest best practices and technologies, which allows us to iterate on ideas quickly without sacrificing the maintainability of our codebase. We make extensive use of automated testing, and have a high level of coverage throughout our app using a combination of Unit Tests and UI Automation. Your skills and experience will help us move to the next level. We know weve got lots of things right but we also have many things still to improve. Right now were working on migrating our app from Java to Kotlin, and are making extensive use of Coroutines for our asynchronous tasks. We are making huge investments in technology, and plan to triple the size of our team to over 200 people in the next few years. As well as providing lots of career growth for our team, there will be plenty of opportunities to lead, mentor, influence and learn. Whats it really like to work here? * We are customer-centric, data driven and outcome focused, using lean principles to work iteratively, experiment and learn fast. * We work in cross-functional squads which we are slowly evolving to include business partners. This allows us to work more closely with our colleagues in food, operations and marketing, enabling greater alignment, collaboration and innovation. * Our squads have a high level of autonomy to decide both what outcomes they should pursue and how they will achieve them. * We believe in being agile rather than committing to a single framework. We have a set of lean and agile principles which we follow, but beyond that squads are empowered and encouraged to tailor their working processes. * We discourage pigeon-holing which means our engineers are responsible for designing, writing, testing, deploying and maintaining their code in production. We dont have QAs, and our Mobile Lead works closely with squads to consult and collaborate. * Pairing and Whiteboarding are practices we champion and want to keep improving. * 10% of our time is dedicated to tech innovation and we hold regular brown bags. * We are committed to being involved in the wider tech community, hosting meetups, speaking at events and sharing learnings via our blog. Requirements * Mentoring other engineers * Deep knowledge of Java, Kotlin and the Android framework * Understanding of architecture patterns such as Clean Architecture, MVP, and MVVM * Experience of using dependency injection with Dagger 2 * Ability to architect apps into modular components * Designing complex mobile apps that have numerous experiments running concurrently * Working with RESTful Web Services using Retrofit * Experience of CI/CD tooling and automated testing, we use JUnit and Espresso * A good understanding of lean product discovery and delivery practices What we look for in a great Senior Engineer Great engineering - and this is so much more than writing great code. As well as an excellent knowledge of software craftsmanship, youll have a test-first approach and know what automated testing to apply at which level of the stack. Youll have great design and architectural knowledge and plenty of experience of maintaining your code in production. Mentorship - this is a big one for us. We look to our senior to coach and mentor all levels of engineering, using your knowledge and experience to drive improvements across your team. You lead by example, driving a culture thats collaborative and inclusive. Ownership - you are proactive and use your initiative. You take ownership of problems and drive forward solutions. You have a strong sense of responsibility and accountability, and you expect the same from your team mates. Lean delivery - you deliver rapidly in small batches, reducing risk and creating a fast feedback loop. You have a continuous improvement mindset, constantly seeking to reduce waste and avoid re-work. Growth mindset - you are curious and are always l