Senior Python Back-end Developer
O pozici
We are currently looking for talent to join a fast-growing Czech FinTech environment (nonbank lender) that is entering a new phase: evolving a fast-moving startup product into a stable, sustainable enterprise platform.
The role involves supporting an existing legacy system while helping build a modern, nextgeneration solution in parallel - and we’re expanding our team to drive this transition.
Joining this team means working with a modern tech stack, shaping architecture, and influencing how a proven startup grows into a long-term, resilient product.
As a Python Engineer, you will:
design product architecture and implement simple and complex features
suggest improvements across technical and product areas
help break down epics and provide technical estimates
work closely with other developers, QA engineers and managers
work with business consultants to understand and address needs of business
What skills should you have?
senior-level back-end Python programming with a proven track record of delivering systems to production
developing clean modules and maintaining high code clarity
designing and implementing backend services and APIs
thinking in terms of maintainability, clarity, and long-term evolution of systems
hands-on experience with MongoDB or similar document databases
understanding of message queues and event-driven communication patterns
ability to quickly learn new frameworks, tools, and patterns when needed
have strong testing culture: write unit (component, integration, and end-to-end tests when applicable) for your features
using type checking and static analysis as part of daily workflow
ability to provide thoughtful, constructive code reviews and have commitment to engineering excellence
Additionally it would be great if you:
have experience in FinTech / lending / payments domain
have experience with AWS (or GCP, Azure) services and cloud infrastructure
have solid Docker skills and understanding of containerized environments
are able to work with CI/CD systems (GitHub, GitLab) and are not afraid to write/setup pipeline yourself
are comfortable with infrastructure-as-code and automation practices
Tech stack - tools that we currently use or plan to use in the future:
Python 3.1X, FastAPI, Pydantic, Pytest, Mypy (we’re planning to try ty)
ruff, uv, Docker, AWS (SDK, CDK, CloudFormation, EC2, ECS, Fargate, S3, Dynamo, Kinesis, SQS, AWS Lambda, CloudWatch, SSM)
OpenTelemetry, Prometheus, Grafana, Ansible, GitLab CI/CD
What we offer:
Meaningful Technical Growth
- deep, handson work with modern Python tooling and cloud technologies
- real ownership of architecture and longterm technical direction
Build Engineering Culture You Can Be Proud Of
- strong focus on code quality, clarity, and maintainability
- pragmatic decisionmaking - no overengineering, no unnecessary bureaucracy
- a team that is actively shifting toward thoughtful engineering over rushing features
High Impact on the Product
- direct influence on architectural decisions and system evolution
- close collaboration with product and business teams
Flexible, Modern Work Environment
- fully remote work setup with flexible working hours with the ability to collaborate during CET
business hours
- asyncfriendly communication that supports deep work
- international team with diverse perspectives and experience
Compensation & Benefits
- competitive salary and yearly bonuses
- paid time off and sick-days
This role may not be a good match if:
you need close guidance, stepbystep direction, or struggle to selforganize your work
ambiguous requirements frustrate you, or you prefer others to fully define solutions before you start
writing tests feels like overhead, or you tend to ship features without strong test coverage
you resist code reviews or see them as a formality rather than a collaborative quality practice
cloud infrastructure makes you uncomfortable, or you avoid DevOpsrelated tasks even when they’re simple
async communication feels slow or difficult, and you rely heavily on synchronous discussions to move forward
you prefer sticking to familiar tools and patterns rather than learning new ones when the situation calls for it
you avoid ownership, or you tend to overengineer or underengineer solutions instead of aiming for pragmatic clarity