Senior Fullstack Software Engineer (Node/ReactJS preferred)
Here at Gousto, we are on a mission to become the UK's favourite way to eat dinner!
Whether it is creating diversity in our recipes or building new teams, we care about our people and the opportunities they have at Gousto.
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 Squads at Gousto are typically made up of around 3-8 Engineers, a Product Manager and an Engineering manager.
We are a diverse team from different backgrounds, we tend to have a mostly flat structure within the teams as everyone brings something different and has different experiences and knowledge. Our tribal model is not too dissimilar from the Spotify tribe model, we would be happy to dive into this during the initial candidate call!
Engineering life at Gousto:
- We are AWS first as a company
- Our teams follow ‘DevOps’ principles – they’re responsible for running their technology
- Everything we do is ‘Infrastructure as code’
- We deploy to production a lot, around 3000 deployments last quarter.
- We (like many other successful scale ups) have a PHP monolith, which gets smaller every year.
- Almost all new development is in an event driven, data bulk-headed, micro-service architecture.
- That modern architecture (mostly) uses Python and Node lambdas on the backend with React and JS on the frontend.
- Our iOS and Android apps are all built in house
- We are customer-centric, data-driven and outcome-focused, using lean principles. We believe in being agile rather than committing to a single framework.
- A DevOps culture is central to our way of working and our squads are responsible for running their solutions in production, further to this everything we do is infrastructure as code.
- Pairing and TDD 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 value mentoring and knowledge sharing across the business
- Deep knowledge of a high-level programming language – but it doesn’t need to be a language that we use here. Great engineers learn quickly and are keen to adopt new languages.
- Worked with CI/CD tooling and responsibly running solutions in production, working with logging, monitoring and alerting stacks.
- A good understanding of lean product discovery and delivery practices.
- An advocate of XP practices such as TDD and pair programming and enjoy working in an agile environment to help us grow and improve.
- Passionate about software quality and delivering value to users
- Clear and precise in face-to-face and written communication
- Curious, great at figuring out what the product should do – not just how the implementation should work
- Enjoys pairing with other team members and sharing knowledge with the team
- Open minded, candid, seeking out feedback and using it to reflect on ways to improve
- Strong engineering mindset, a flexible generalist
- Passionate about constantly improving the way the team is working
Core Responsibilities :
- Designing and delivering scalable, distributed, cloud-based systems in a highly available manner.
- Work within a cross functional Product Development team as a Software Engineer
- Responsible for the entire Software Development Life Cycle of their code including discovery, development, test, production, and subsequent fixes and improvements
- Caring for and evolving our platform
- Collaborate and be proactive on continuous improvement in development and quality processes for their team
- Mentoring junior engineers
- Scaling our event-driven microservices architecture
- Obsessing over quality & performance