Backend Engineer - 7Mind, Berlin, Germany, Remote or Onsite

Introductory paragraph
7Mind empowers people and organizations alike to lead healthy, happy and purpose-driven lives since 2014. With more than 2.5 million downloads to date, 7Mind has become one of Germany’s most popular online meditation training and is still growing.

Our goal is to help people pay as much attention to their mental well-being as they do to their physical health. In cooperation with seasoned meditation teachers, as well as healthcare experts, we strive to develop high quality training that provide the easiest access possible to meditation and mindfulness.

We are a Berlin-based start-up in Mitte with a creative, international, and close-knit team of 50 employees.

About us

My name: Sascha Wolf
My position: Principal Engineer
Company name: 7Mind
Company website: 7Mind | Live more consciously and relaxed with the 7Mind-App
Company headquarters (country): Berlin, Germany
Company info and history: 7Mind has been around for over 7 years building mindfulness products. We’ve recently released a new product (7Sleep). We’re using Elixir as our language of choice for the large majority of backend development.

About the job

Job title:
Backend Engineer (mid-level)

Job description:

  • Work on new and existing products
  • Desire to improve the customer experience in known, and unknown, pain points
  • Be part of a cross-functional team working with proven technologies
  • Collaborate with mobile and web developers to understand problems and build solutions
  • Deploy and maintain critical applications - including CI/CD, infrastructure-as-code, and observability tools - in a cloud-native environment
  • Be involved in making architectural decisions and push us to disrupt our status quo
  • Keep in touch with evolving industry trends to help us improve our systems

Salary range (Euro, yearly):
52k - 68k (Mid-level)

Qualifications or experience required:

  • Must-Have
    • A desire to understand problems before solving them
    • Willing to take and share ownership of parts of the product
    • Strong communication and documentation skills in English (German is a plus)
    • 2+ years experience in general backend development
    • An interest in functional programming languages (esp. Elixir)
    • Passion for clean, maintainable and testable code
    • Solid understanding of the full web technology stack (e.g. HTTP, cookies, asset loading, caching, REST, Websocket)
    • A working knowledge of building and managing CI/CD pipelines
  • Nice-to-Have
    • Prior knowledge of Domain-Driven Design
    • Experience with Elixir (whether in a production environment or from pet projects)
    • Familiarity with Kubernetes administration and configuration
    • Understanding of system administration in Linux environments
    • An interest in mobile and web technologies

What the successful job applicant will be working on:
We’re in the process of migrating from a homegrown garden of somewhat entangled micro services to a monolithic elixir codebase, while still applying separation of concerns principles (following ideas from Domain-Driven Design). This modulith we’re building is meant to replace large swaths of the existing services, while reducing complexity in areas where 7Mind doesn’t have a core-business interest.

We’ve recently launched a completely new product, and are now aiming to modernize our existing product. You’ll be part of one of our cross-functional teams (design, product management, mobile, backend) to help us build new solutions for (sometimes old) problems and help us migrate fully to this new, simpler technical landscape.

Position on remote work

Remote job: negotiable
Remote restrictions: it’s an advantage if you’re still based in Germany
Remote leeway: we do hire people from outside Germany but since that incurs additional expenses on our side it is a higher barrier to clear; so is a timezone that’s very different from CET

About the interview process
Usually we begin with a first call which acts as a first technical screening and getting to know each other. This will be done by backend colleagues who you’re also going to work with. Then follows a more in-depth technical interview.

Based on this we decide how to proceed. The last round in our application process is always a “meet-the-team” round, where you get the opportunity to meet multiple members of the Product Team.

How to apply

9 Likes

For anyone that wants to apply, please know that we won’t be getting back to you before January. Over the holidays there won’t be anyone around to respond. Nonetheless you’re welcome to apply! :slight_smile:

3 Likes

Hi Sascha, thanks for sharing this job offer here. I’m just curious, as you’ve explicitly mentioned domain-driven design, are you using the Ash framework?

No, we’re using plain old Phoenix.

Hey, @wolf4earth

Again, since you mentioned DDD, do you use Commanded or any other event sourcing library?

Hi @wolf4earth, Thank you for sharing the job. Can you please let me know if there are any specific location restrictions for the job?

I would’ve expected that the section detailing our stance on remote work would answer that, no?

2 Likes

One of the legacy services that manages subscription data is built with Commanded but it’s part of the system that we’re migrating away from to reduce complexity.

Are you open to freelancers?

Not strictly against it but there’s a strong preference for a regular employment contract

UPDATE: Since we’ve progressed quite far with multiple candidates we’re currently not accepting any more applications. The posting will be unlisted soon.

UPDATE: We offered a contract to a candidate and they accepted. Thank you all for your interest in working with us!

1 Like

Congratulations on filling the job.

I know that Christmas and New Year got in the way, but it’s still curious that it took three months to fill the post and I wonder what you would do differently next time in retrospect.

I hired an Elm programmer this year. I only advertised in Elm Slack. We had 5 applicants in the first 24 hours. 15 in the first week. None in the second week. A few stragglers later. Less than a month to have someone in the “office”.