Mid-Senior Scala back-end Engineer - remote

Findify
Posted 2 years ago
We are looking for an open minded and enthusiastic Scala engineers to scale our Core Search team, which is responsible for building an maintaining one of the best e-commerce search engines, used by hundreds of our clients to succeed. You will be collaborating closely with the other members in the Core Search team and report directly to our CTO.

If you're excited about writing clean code and designing distributed systems, care about the developer experience and would like to learn more about how full text search engines work under the hood, we'd love for you to join us!

The Core Search team is responsible for the distributed data pipeline, which build the index and for the search engine that serves it. In the indexing pipeline we use Apache Pulsar to connect various micro-services which together publish the Apache Lucene index and updates for the search engine. Our search engine is loads the index and serves search and suggestion requests of the end users.


What is Findify?

We’re a small, stable and well funded scaleup providing solutions for custom search and personalization solutions for e-commerce. We’re a fully remote company with an engineering team distributed across a number of different countries in CET +-2 time zones, including places such as Portugal, Georgia, Germany, Slovenia and Lebanon. Our strong values and sense of community have been the key to our success – we now serve over 1500 stores in more than 50 countries. We have ambitious plans for the coming year - we plan to grow the business and the organization substantially. We’d love for you to join us on this journey!


What you’ll be doing:

As a Scala engineer on our team, you will be collaborating with the other Scala engineers on the team, as well as other engineers from adjacent teams to design and build new functionality which delights our customers and in turn their customers. You will work in a flexible environment, which is built on collaboration and communication and seeks to give you ownership and impact.


Your tasks will include

  • Collaborating with your peers to shape the future of our tech stack, tooling and reducing complexity across our code.
  • Optimizing our search stack for latency
  • Collaborating with the product manager and designer to help define the direction of future functionality
  • Identify and reduce technical debt
  • Embracing feedback on your specs and your code as an opportunity for continuous improvement and collaborative design, and carrying out spec and code review for your coworkers
  • Caring for knowledge transfer and mentoring others on the team, whether they're overall more junior or just less experienced in your specific domain of expertise
  • Continuous learning of different paradigms and exciting new technologies
  • Being an effective technical and non-technical communicator (our company language is English)

You’ll really thrive in this role if you: 

  • Are comfortable writing functional programming (we use cats, cats-effect, fs2)
  • Believe, like us, pragmatic and readable code is the best reward in the future
  • Visualize and reason through large, distributed systems and can contribute to their design
  • Have experience with data (ETL) pipelines
  • Bring crystal clarity to complex and ambiguous ideas and projects
  • Appreciate good developer experience and make ours even better by introducing new tools and iterating on processes
  • Are generous with your communication, whether it is about new ideas, praise, or very kindly phrased constructive feedback
  • Like to learn new things, have an open mind and want to share your knowledge with your coworkers, helping them to grow

Reasons you’ll love working with us: 

Impact and culture - Findify is still a pretty small company going into a growth phase so this is the perfect opportunity for you if you're excited about joining a team where you can have a lot of impact and take a lot of ownership over your work. The DevOps team especially is a great opportunity for you if you want to leave your mark and contribute to the culture, as the team is positioned in a place where your contributions can make an outsized positive impact on the daily lives of others at Findify as well as our customers.

Developer experience - Despite being small, we're a high tech company, and especially in the recent years we've focused a lot on developer experience. We have a cutting edge tech stack (TypeScript and Scala with Kubernetes deployments via gitops) with no legacy tools and a keen interest in keeping it that way - so if you're excited about learning new technologies in a laid back, collaborative environment where quality software and engineering experience are among the first priorities, we are a good fit for you.

Work life balance - We're a remote team and have found this a recipe for success for the whole company. We're also stable and well funded and pay competitive market salaries for all our positions. This has made us successful especially during the global pandemic where we've been able to grow the company and keep all positions intact while supporting our staff with young children and other family members to care for. We care about quality of work, collaborative processes and tangible results - we want you to be available and responsive during usual working hours in case your coworkers need something from you, but we’re very flexible when the circumstances arise. We have kids at home from daycare making appearances on calls sometimes, and you can book a slot in your work calendar for the appointment with your doctor or your dentist without feeling guilty. It’s important that we’re communicative and as responsive as possible when that happens, but sometimes we need some flexibility on when we get the focused work done and we understand that completely.

 

The interview process is:

  • An intro chat
  • A soft skill interview
  • Take home technical assignment with a follow up chat
  • Technical interview with the task review