Senior Backend Engineer (Ruby)

About the role

You’ll be joining a cross-functional team that is responsible for evolving and maintaining our pipeline for ingesting, enriching and sharing employee data across the Culture Amp platform. 

Working with domain driven design, event sourcing and CQRS - you’ll help the team build new features to enrich employee data, allowing the Culture Amp platform to provide more meaningful insights across our product modules.

As a Backend Software Engineer on one of our teams you can expect to:

  • Tackle a wide variety of technical problems across our codebases as you build features and help us move to a distributed and event-driven architecture.
  • Collaborate with other engineers in your team through pair programming, writing solution designs, or giving feedback on pull requests, to build shared understanding of your work.
  • Work with the product managers and designers in your team to understand customer problems and help to develop, refine, and then implement solutions.
  • Maintain and support the services your team is responsible for. Ensure our dependencies are up-to-date, observe and understand services in production, refactor code, and attend to issues raised by our customers.

About you

This job is for you if:

  • You have experience in building web-based software applications. You understand fundamental engineering concepts, scalability, security, and maintenance.
  • You are a proactive and clear communicator. You value empathy and kindness and are able to articulate your ideas and feelings when writing or speaking, and are open to the perspectives others bring.
  • You seek to understand and solve customer problems. You think about how your work – at all levels – impacts our customers and improves their experience.
  • Your process involves documenting your work. You write code that is consistent, maintainable, and understood by your teammates.
  • You have experience writing and operating backend services.
  • You are proficient with Ruby, Go or TypeScript (or are willing to learn).
  • Your code is thoroughly covered by integration and unit tests. You understand the value of test-driven development and know how and when to add tests.
  • You’re self-motivated and can work independently. You take the initiative to ensure that you have everything you need to work efficiently and call for support when required.
  • You’re aligned with our values and demonstrate them through your working practice.
It’s not expected that any single candidate would check every box here — what’s important is that you arrive with a strong set of fundamentals, and that you’re committed to building the skills you’ll need to do great work. Similarly, while we use a range of specific technologies — Go, AWS, TypeScript, React, Kafka, Rails, Kotlin — you don’t need to have direct experience with them for this position and there’ll be opportunities to learn as part of the role.

Research shows us that candidates from underrepresented backgrounds often don’t apply for roles unless they meet all the criteria. We strongly encourage you to apply if you’re at all interested. We’d love to learn how your unique experience will improve our teams and widen our perspective.

Supporting you at work

We ensure you have the tools and support you need to thrive, both inside and outside of work:

  • A new computer and budgets for setting you up to work where and how you want
  • A stake in the company’s success through our employee share options program
  • Flexible working hours and arrangements so you can create a schedule that suits you
  • Generous parental leave allowances and at-work support programs for both primary and secondary carers
  • Resources and flexible budgets for coaching, well-being, and to support your growth
#LI-REMOTE