Senior Software Engineer in Search M/W/D (Python) // AMBOSS at AMBOSS

Posted on: 01/11/2022

Location: Berlin, Germany (ON-SITE)

full time

Glassdoor: 5.0 / 5 | Original Source

Tags: celery eks typescript fastapi qa redis elasticsearch spacy jenkins python aws kubernetes graphql react nlp

🩺 Let's help doctors to provide the best possible care together. We are AMBOSS, we help medical professionals to make more confident decisions with smart tools designed for clinicians on the go. 💪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) 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. 🔑 Key principles Instead of defining a specific development process, we define key principles that we follow: * Integrate the code as fast as possible, the code that is not ready should be disabled by feature flags. * Deliver frequently, deploy frequency improves quality, decreases rework. * Enable fast flow from development to production by reducing variability and batch sizes (slice big tasks, deliver often). * Visualize team goals and targets, actively monitor and visualize performance to goals/targets. Visualize and minimize WIP. * Eliminate unnecessary controls (code review, QA, manager's approval), automate quality, invest in team capabilities and autonomy. * High cooperation, knowledge sharing, novelty and innovations are highly welcomed. 📡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 * Frontend: React, JS/TypeScript. 🕵🏼‍♀️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 * You have practical knowledge in designing APIs * You live in Berlin or you are ready to relocate to Berlin or you are ready to travel to Berlin to meet your team ⏩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: 2. Meet Engineering manager and Product Manager (1/2 hour) 4. 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 small home assessment and we can take it as a base for our conversation (4 hours) 6. System design interview (1 hour) 8. Done! In all stages, members of the Search Team will be involved and you will meet 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. 🎉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