Position: Senior Backend Engineer (Python)
Company: AMBOSS GmbH
Category: Python
Experience required: 5y
English level: intermediate

We are AMBOSS https://amboss.com, we help medical professionals to make more confident decisions with smart tools designed for clinicians on the go.

## 📡Team Tech-stack

- Backend: Python, aiohttp, Fastapi, graphene, Asyncio, celery
- Databases: Elasticsearch, Redis, Google BigQuery
- Infrastructure: Kubernetes (AWS EKS), CI/CD (Jenkins)
- NLP: Python, SpaCy

## AMBOSS benefits

- 30 vacation days
- AMBOSS Daycare in case if your Kita is closed or you need to bridge the gap until you find a kita spot
- Sponsored bike or BVG public transportation card
- Freshly cooked lunches and breakfasts in the office
- Learning budget to invest in your personal development
- Sponsored gym membership

💪The Search Team

We are a cross-functional team and all of us participate in most initiatives.

- Urs (Full-stack Engineer)
- Daniele (Senior AI Engineer)
- Sasha (AI Engineer)
- Anita (Junior Front-end Engineer)
- Valentin (Technical Product Manager)
- Sergii (Hands-on Engineering Manager)

Interested in principles we use to build the development process https://bit.ly/3tGnXjp

We do a lot of pair programming, talk to each other often, we believe in collaboration.
We are a remote-friendly team with team members working in the office full time and others working full time from a home office. We try to meet every few months face to face.
 
## 🕵🏼‍♀️What have we achieved so far?

- We migrated the Search from Sphinx to Elasticsearch, added new features and made the migration invisible to customers
- We introduced Did You Mean feature and search by medical media
- We built a service that recognizes medical entities in the text and links it to the content we have in AMBOSS
- We introduced GraphQL API that is now used by both mobile and web clients
- We started to use user behavior data for tuning relevancy
- We used external medical ontology as a semantic layer for query understanding that allows our search to understand complex queries
- We made pharmaceutical information searchable

## 🔮What do we want to do next?

- Advance language understanding for German language (medical ontologies, understanding of compound words)
- Build the system that tries to suggest relevant search topics before the user starts typing
- Make AMBOSS video searchable by the content
- Write an intelligent medical spelling correction system
- Experiment with new content types that helps to get medical answers faster
- Open Search API for external usage


## 👩🏻‍💻Who are we looking for?

- You know Python and you know how to build backend services
- You are ready to lead the backend development
- You are ready to train us on technologies
- You have practical knowledge of Elasticsearch or you can show that you can learn it in no time
- You have practical knowledge in designing APIs
- You live in Berlin or you are ready to relocate to Berlin

## ⏩The hiring process

We want to make it fast and simple for both you and us. You will talk only with the team and the Engineering Manager. We can answer your questions!

Hiring process:

1. Meet Engineering Manager and/or Product Manager (1/2 hour)
2. Present your project to the team, Q&A with the team (1 hour). If you do not have a project to present, you can take a home assessment and we can take it as a base for our conversation (~ 4 hours)
3. System design interview (1 hour)
4. Done!

In all stages, members of the Search Team will be involved and you will meet almost all your future colleagues.

If we see that the process doesn't go well for us, we will provide you the feedback in next few days after the interview. 

We will try to make the process fast, stress-free, and enjoyable for all of us.