Are you ready to take on a new challenge and level up your Python skills? Do you want the chance to apply what you already know and grow your talent on real applications?
Join us as a Python Back-End Engineer and help us build powerful data processing engines, develop new applications, and make sure we stay on top of the game.
Not based in Prague? If you’re open to either remote cooperation or relocation, reach out to us anyway to find out what the options are. #LI-remote
Co-design, extend, improve, and optimize the Python 3.9 backend code used by our in-house machine learning algorithms (recommender, anomaly detection, deduplication, and more to come soon).
Continually improve how our code can be operated in production (comprehensive metrics and alerts, understandable logs, robustness, idempotency, horizontal scaling, reduction of in-memory state, and other aspects of a well-behaved distributed application).
Convert validated ML prototypes into production-ready code and make their mathematical algorithms easier to understand.
Participate in discussions about new machine learning features and closely cooperate with our researchers, so you’ll be contributing / sharing and learning at the same time.
Participate in API design (gRPC and GraphQL) and the integration of our Python microservices with the rest of the Java-based data management platform.
Balance between the needs of cloud (k8s) and on-premise (VMs) deployment when packaging, scaling and migrating our microservices.
Contribute to our CI / CD pipeline, participate in peer reviews, and write automated tests to maintain the high quality of the codebase.
Is this you?
You might not tick all the boxes, but we still want to hear from you! There's room to tailor the role to your individual strengths.
You can write readable, idiomatic, linter-clean, production-ready Python code with type annotations, docstrings, and maintainable Pytest test cases and fixtures.
You are interested in a programmer’s point of view more than a mathematician’s, but are not afraid to eventually learn the underlying math, bit-by-bit.
You prefer readability and simplicity, and eliminate artificial complexity wherever possible.
You’re not afraid of diving into communication patterns for distributed applications, cloud-native patterns, and maintainable API design.
You have some prior experience using SQL databases.
You enjoy constantly learning new things and sharing your knowledge with others.
You’re not afraid to propose new approaches supported by sound reasons, yet willing to find a win-win solution that may sometimes be different from your original idea.
You can clearly communicate your progress, ask for help, provide non-threatening feedback, and document your results.
You’re used to / willing to adopt the DevOps mindset (how well the app is operated in production is your business).
You prefer prevention and proactivity over firefighting and hacking.
Basic knowledge of Java
DevOps (CI / CD)
SQL and NoSQL DBs (document stores)
Perks & Benefits
Flexible working hours and unlimited home office
5 weeks of vacation, 2 sick days, an additional personal day for each year you’re in the company
Personal & professional development, education (online language and other courses, conference tickets, a well-stocked office library)
Experienced team to support your professional growth
Unlimited playground (Room to adjust and expand your role, or switch teams based on your individual skills and interests).
Lucrative employee referral program
Modern hardware / equipment (laptop, mobile phone, headphones, office chair, desk, monitor for your home office)
20 / 50 GB of mobile data to improve your home office work experience
Annual package of counseling sessions to support your mental health & well-being
FlexiPass / Multisport card, free entrance to the Prague Zoo and Botanical Garden
Employee appreciation gifts throughout the year
Relaxed work environment, offices in Karlín
Office bikes, skateboards, and electric scooters
Great coffee and refreshments in the kitchen