Senior Full-Stack Engineer (Python/Django, React/TypeScript)

PLANEKS

PythonTypeScriptReactDjango

Location
Remote
Employment
Full-time
Level
Specialist
Category
Frontend
Posted

Description

What We Offer

100% remote work opportunity and flexitime - choose working hours between 8:00-20:00 Kyiv time.

Personal Growth Budget in USD (Travel, Health & Psychotherapy, Sports, Education & Training, Software, Work Equipment).

Competitive compensation in USD with regular salary reviews.

Paid vacation, holidays, and sick leave.

Continuous professional growth through mentorship, feedback, and knowledge sharing.

English Speaking Club with a native speaker.

Access to AI tools, including coding assistants for engineers and LLM subscriptions for non-technical specialists.

Projects with clients across Europe and North America across FinTech, Logistics, Hospitality, E-commerce, Legal, Music, and other industries.

Transparent processes, flat management structure, and a supportive team culture.

About the Role

We are hiring a Senior Full-Stack Engineer to become one of the strongest technical contributors on the team.

The single most important thing we’re looking for is experience scaling a SaaS product. We want someone who has already seen what happens as a live platform grows: increasing complexity, technical debt, scaling bottlenecks, evolving data models, unreliable integrations, and engineering decisions that worked at one stage but became expensive at the next.

This is a hands-on senior engineering role with strong technical leadership expectations. You will design and write production code, own substantial systems end to end, influence architectural decisions, challenge technical direction when needed, and raise the engineering level of the people around you.

Project

FinTech SaaS platform built for the restaurant and hospitality industry. Our products handle tip pooling and payouts, payroll, reporting and compliance, labor and operational data, and integrations with the systems hospitality businesses already use. The platform is live, serves thousands of customers and moves millions of dollars.

Required Hard Skills

Several years operating at Senior Engineer level on a SaaS product that grew significantly while you were there. You have seen a system become meaningfully bigger and understand the problems that tend to arrive next.

Strong Python and Django / Django REST Framework experience, or deep experience in a closely comparable backend stack.

Strong React and TypeScript experience, with the ability to work effectively across backend and frontend when required.

Strong PostgreSQL and data modeling skills. You should be comfortable designing schemas that can evolve as the business grows into new products and safely changing them once they contain production data.

Production experience with asynchronous and distributed workloads using Celery, Redis, or comparable technologies.

Strong understanding of API design and third-party integrations, including failure handling, retries, idempotency, data consistency, reconciliation, and situations where the system on the other side is unreliable or outside your control.

Strong understanding of software architecture and the ability to make pragmatic architectural decisions inside a large existing codebase rather than only designing systems from scratch.

Experience identifying and addressing performance, scalability, reliability, and maintainability problems before they become critical.

Strong testing practices and experience safely evolving systems that must remain operational while they are being changed.

Production experience with Docker, CI/CD, monitoring, error tracking, and observability.

Sound judgment about technical debt: knowing the difference between an acceptable shortcut and one that will create significant problems later, and being able to improve a system while it remains in production.

Current Stack

Django / DRF, PostgreSQL, Redis, Celery, Docker, Traefik, Datadog, Sentry, Mailgun, Jupyter, GitHub Workflows.

Next.js, MUI, TanStack Query, React Hook Form, Zod, Vitest.

Nice to Have

FinTech or financial systems experience, particularly payments, payouts, ledgers, reconciliation, payroll, banking, audit trails, or other systems where financial correctness matters.

Experience with restaurant or hospitality technology, including POS, scheduling, workforce management, payroll, or similar systems.

Experience with high-volume or business-critical third-party integrations.

Experience improving a system with meaningful legacy code or technical debt while the product remained actively developed.

Experience with multi-tenant SaaS architectures.

Experience improving engineering practices across a team rather than only within your own work.

Experience as a Senior Engineer in a company of roughly 20–200 people, where your role included helping decide what technical work actually mattered.

Required Soft Skills

Ability to take technical ownership beyond your own tickets and think about the health of the product and engineering system as a whole.

Strong engineering judgment and the confidence to challenge technical decisions constructively, including decisions made by Staff Engineers and engineering leadership.

Comfort with ambiguity. Problems will not always arrive fully specified, and part of your job is asking the questions that make them clear before code gets written.

Ability to explain complex technical trade-offs clearly to engineers, Product, and non-technical stakeholders.

A strong teaching mindset. You explain your reasoning, document important decisions, review code seriously, and make the engineers around you better rather than becoming the only person who understands a difficult system.

Comfortable taking leadership during difficult technical situations without waiting for someone else to define every step of the solution.

Strong written communication and self-direction. The team is distributed across Canada and Europe with limited live overlap, so you need to communicate clearly asynchronously and drive your own work.

Fluent English, written and spoken.

Key Responsibilities

1. Own substantial systems end to end

Take meaningful problems that have been identified but not fully solved and work with Staff Engineers and Product to determine the right technical approach.

Own complex initiatives from problem definition through design, implementation, migration, testing, rollout, and production monitoring.

Design not only for the expected path, but also for what happens when something goes wrong in production.

Remain responsible for the systems you build once they are carrying real customer data and real money.

2. Help strengthen the architecture of a growing product

Work closely with Staff Engineers and the VP of Engineering on architectural decisions and technical direction.

Understand the existing architecture and identify where today’s decisions may create tomorrow’s problems.

Identify areas where the platform may struggle as product complexity, integrations, customers, data volume, and transaction volume increase.

Challenge architectural decisions constructively when you see a better approach.

Help evolve the architecture incrementally through small, safe improvements rather than unnecessary rewrites or over-engineering.

3. Protect correctness, reliability, and engineering quality

Treat financial correctness as a first-class engineering concern.

Design for reconciliation and auditability: how we prove a number is correct, understand how it was produced, and detect discrepancies before customers do.

Use Datadog, Sentry, logs, production data, and other signals to identify recurring problems and their root causes.

Improve observability, error handling, testing, deployment safety, performance, and operational reliability.

Make sure recurring production problems are solved systematically rather than repeatedly patched.

4. Own technically difficult areas of the product

Lead work involving complex third-party integrations, asynchronous workflows, data synchronization, reconciliation, migrations, and failure recovery.

Design systems that behave predictably when external APIs fail, requests are duplicated, jobs execute late, or data arrives in an unexpected state.

Work closely with Product to make technical feasibility and engineering constraints visible before implementation begins.

Help break large technical initiatives into safe, incremental pieces that can be built, migrated, and released without unnecessarily putting the existing platform at risk.

5. Make the case for important technical work

Identify technical debt, platform investment, reliability work, and architectural improvements that may not naturally appear on the product roadmap.

Distinguish between debt that can safely remain and debt that is materially affecting reliability, engineering speed, or future product development.

Make the business and technical case for that work using evidence rather than engineering preference alone.

Help sequence improvements so they support product development rather than competing with it unnecessarily.

6. Raise the level of the engineering team

Be a strong technical reference point for other engineers.

Review architecture, designs, and pull requests with a focus on correctness, reasoning, and long-term maintainability.

Explain why you would make a decision differently rather than simply leaving a verdict.

Mentor engineers through reviews, pairing, technical discussions, and example.

Document important knowledge and decisions so understanding stays with the team rather than with one individual.

Take leadership when a difficult technical problem crosses multiple areas or engineers.

7. Remain hands-on

Design and write production code across the backend and frontend.

Take direct ownership of technically difficult or risky work when appropriate.

Debug difficult production issues and establish their root causes.

Read and understand the existing codebase before changing it.

Build enough direct knowledge of the platform to ensure your technical decisions are grounded in how the system actually works.

Who this position is not for

This is not a role for someone whose definition of seniority is simply delivering more complicated tickets.

If you prefer receiving clearly defined tickets and technical solutions and then implementing them, this role will probably be frustrating.

It is not a management role. You won’t have direct reports or headcount responsibility. Leadership here comes through technical ownership, judgment, mentoring, reviews, and influence.

It is also not a Staff Engineer role. Our Staff Engineers and VP of Engineering set the overall technical direction and architecture. You will help shape that direction, challenge it when needed, and fully own the design and implementation of substantial systems within it.

It is not a greenfield role. You will be joining a live platform with thousands of customers and a roadmap that does not pause while technical improvements are made. Much of the work involves understanding existing systems, migrating them safely, and improving them incrementally rather than replacing them.

If you naturally ask what happens when the system gets significantly larger, how it fails, how we know the data is correct, and what today’s shortcut will cost us a year from now, you’ll recognize the work.

Things You Should Know Before Applying

The engineering challenge is no longer simply building features quickly. It is continuing to ship while improving reliability, scalability, architecture, and the technical foundation required for significant year-over-year growth

There is technical debt. Part of your job is determining which debt actually matters, making its impact visible, and helping address it without stopping product development.

Requirements will sometimes be incomplete. We expect you to help shape the solution rather than wait for perfect specifications.

You will be expected to disagree when necessary, propose better approaches, and explain the reasoning behind them.

Apply at the source

This role was published by PLANEKS and listed via Djinni. Applications are handled there, not on this site.

View & apply on djinni.co ↗