Careers/Engineering
Senior Backend Engineer (Python)
Design, build, and ship production Python packages, SDKs, CLIs, and libraries. Own the developer experience of the tooling behind our AI and data platform.
About the role
We are hiring an experienced Python engineer who builds software other engineers depend on. This is not a web backend or data science role. You will design, develop, and maintain the Python packages, SDKs, CLI tools, and shared libraries underneath our platform.
You own the lifecycle of developer-facing Python software: API design, packaging, versioning, documentation, and distribution. Internal teams and external integrators build on your work. You care about clean interfaces, backward compatibility, and dependency management.
This is an IC4-level individual contributor role for someone who has shipped Python software that others rely on in production.
Responsibilities
Package & SDK Development
- Design and build production Python packages and SDKs with clean, well-documented public APIs.
- Develop typed client libraries for internal platform services (REST, gRPC, GraphQL) with automatic code generation where appropriate.
- Build and maintain CLI tools using Click, Typer, or similar frameworks for developer and operator workflows.
- Own package versioning, changelog management, and release processes following semantic versioning.
- Design plugin and extension architectures that allow downstream consumers to customize behavior without forking.
Systems & Library Engineering
- Build shared libraries for cross-cutting concerns: configuration management, logging, auth, error handling, and telemetry.
- Implement async patterns (asyncio, httpx, aiohttp) for high-throughput client libraries and service connectors.
- Design and maintain data validation layers using Pydantic with strict schemas and clear migration paths.
- Write low-level integrations with external systems: database drivers, message brokers, cloud provider APIs, and container runtimes.
- Optimize for performance-critical paths including serialization, I/O, concurrency, and memory management.
Developer Experience & Tooling
- Create and maintain project scaffolding, cookiecutter templates, and internal developer tooling.
- Build comprehensive test suites (unit, integration, contract) with pytest and hypothesis for property-based testing.
- Set up and maintain CI/CD pipelines for automated testing, linting (ruff, mypy), and publishing to private and public PyPI registries.
- Write thorough API documentation with Sphinx or MkDocs, including usage guides, tutorials, and migration notes.
- Own dependency management strategy across the Python ecosystem using uv, pip-tools, or Poetry.
Architecture & Technical Leadership
- Define Python engineering standards: project structure, typing discipline, error handling patterns, and testing conventions.
- Review and mentor across teams on Python best practices, packaging, and API design.
- Evaluate and adopt modern Python tooling (uv, ruff, pyright) to keep the developer experience fast and reliable.
- Drive decisions on build systems, monorepo vs multi-repo strategies, and dependency resolution for Python codebases.
- Collaborate with Go and TypeScript backend teams to ensure consistent API contracts and interoperability.
Qualifications
Must-Have Technical Expertise
- 7+ years of professional Python development, with significant experience building and shipping packages, SDKs, or developer tools.
- Deep understanding of Python internals: packaging (setuptools, hatch, flit), import system, metaclasses, descriptors, and async runtime.
- Expert-level typing with mypy or pyright in strict mode, including generics, protocols, overloads, and type narrowing.
- Production experience building CLI applications with Click, Typer, or argparse.
- Strong REST API design skills: resource modeling, versioning, pagination, idempotency, backward compatibility and schema-first documentation (OpenAPI).
- Proficiency with AI-assisted development tools (Cursor, Claude Code, GitHub Copilot, or similar).
Infrastructure & Integration Skills
- Experience publishing and maintaining packages on PyPI or private registries with automated release pipelines.
- Strong testing practices: pytest fixtures, parametrize, mocking, property-based testing, and integration test patterns.
- Experience with gRPC, Protocol Buffers, or OpenAPI code generation in Python.
- Familiarity with async Python (asyncio, trio) for building high-performance client libraries.
- Experience integrating with databases (PostgreSQL, Redis), message brokers (NATS, Kafka), and cloud SDKs (GCP, AWS).
Preferred/Bonus
- Track record of open-source contributions or maintained public Python packages.
- Experience with Pydantic v2, FastAPI internals, or building framework-level abstractions.
- Knowledge of Rust or C extensions for Python performance-critical modules (PyO3, cffi, ctypes).
- Experience with monorepo tooling for Python (pants, bazel, or uv workspaces).
- Familiarity with LLM SDK patterns (streaming, tool calling, structured outputs) from building or extending AI client libraries.
- Strong Vietnamese and English communication skills.
Benefits
- Competitive salary and performance incentives
- Set the Python standards for the platform
- Work on developer-facing tools used across AI and data platform products
- Flexible work arrangements
- A small, senior engineering team with direct code review
Apply
Apply for Senior Backend Engineer (Python).
Send a CV and a short note on what you have shipped. We read every application and reply to each one.