Python Engineer for Ancillaries Tribe
What is the Ancillaries Tribe doing?
Ancillaries engineers are responsible for automation and generation of the main revenue stream for the company. Our services obtain availability of extras services like seats, bags, priority boarding, show it to customers and fulfill the order. While providing a unified interface to the rest of the teams in the company, we hide complexity of 100+ different providers under a single application. Our customers rely on us that their baggage is bought, a window seat is selected, and spaghetti in the air is ordered.
We understand the codebase is always changing and therefore enforce clean code, code reviews, and automated testing. As we deploy multiple times per day, QA testing, real-time monitoring, and alerting is an inevitable part of our release process. We often refactor parts of code/product that are slowing development down but also focus on being able to deliver new features - to be innovative and deliver value to our customers. Within the team, we try to spread knowledge and collaboratively work on top priorities to avoid hero syndrome - preventing bus factor.
What technologies do we use?
- Our main codebase is written in Python 3.7+
- Flask as our Python framework (with Connexion for validation)/ AioHttp for async/ FastApi occasionally
- Apps are built as docker images, orchestrated by Kubernetes and deployed to GCP
- OpenAPIv3 schema first API design
- PostgreSQL database with SQLAlchemy models
- Celery tasks for asynchronous and periodic tasks
- Top of the line code quality tooling - Black, Pylint, SonarQube and Mypy
- Slack as a main communication tool - a rich set of Slack integrations to promote flexibility
- Datadog for real-time app metrics, logs and alerts. Sentry for error tracking - all connected to PagerDuty for high severity incidents
What will you do?
- Design, develop, integrate and deploy high-quality software aligned with user needs and business goals - finding a balance between business needs and technical excellence
- Write and review code - contributing to main revenue generation of the company - using best practices
- Identify, prioritize and execute tasks in the software development life cycle
- Take ownership of domain/service crossing several teams/services - healthy architecture, testing, monitoring and documentation
- Lead and mentor less experienced colleagues
- Actively promote & support continuous learning approach within the team and department, demonstrating a positive attitude
- Collaborate with internal teams and vendors to fix and improve products
What do we expect from you?
- Professional experience working in larger team, leading feature delivery
- Strong communication skill are necessary for efficient cross team collaboration
- Independent and self-motivated
- Strong ownership - you stand behind what you do and step up when it is needed
- Ability to deploy and operate services using docker
- Deep understanding of system design, data structures, and algorithms
- Care about quality and understanding what ship high-quality code means
- Ability to communicate professionally in English
Why it rocks to be at Kiwi.com:
- We deploy immediately after a job is completed, not after months of QA.
- Do, fail, learn – repeat! We understand that mistakes happen and we learn fast.
- We decide which cutting-edge technologies are appropriate for the task.
- We love contributing and using Open Source.
- We visit and speak at conferences and technological events worldwide.
- We code at hackathons and other competitions.
- We support the local technological community.
- We use our work time wisely with a friendly vacation policy and work schedule.
- We also like to party and hang out together.
- We work, play, relax, workout and even nap in our offices (complete with sauna, gym, masseur, sleeping spots, canteen, chillout zones, free refreshments, etc).
- Dogs, kids and parties are welcome in our offices.
- We also enjoy common benefits, such as meal vouchers, flexible benefits scheme, sick days, VIP Medical Care, flight vouchers, multisport card, etc.
- Besides a fair salary, we can also look forward to quarterly bonuses dependent on company performance.