← İşler

Senior Backend/Platform Engineer

Bütçe: $50.0 - $60.0 HOURLY / FULL_TIME ⭐ 5.00 (1) United Kingdom

python, software-architecture, amazon-web-services, api

About the Role We're looking for a senior engineer to build and maintain a serverless, event-driven platform on AWS. You'll work across the full backend stack - from API design and data modelling to infrastructure-as-code, pipeline orchestration, and developer-facing SDK/CLI tooling. This is a collaborative role in a small team. We value proactive communication - raising questions early, discussing approaches before implementation, and providing context with your work. You should be comfortable writing code without AI assistance and understand its limitations; AI is a useful accelerant but not a substitute for judgement. We care about readability and maintainability - the hard part is keeping a codebase clean and coherent over time. Core Technical Requirements Python (3.12+) - Strong proficiency in modern Python: type hints, async/await - Pydantic for data validation, settings management, and model-driven design - FastAPI for REST APIs - Async-first SDK libraries and CLI tools (Typer, Rich) AWS (deep, hands-on experience required) - Compute: Lambda, ECS Fargate, AWS Batch (Fargate and EC2/GPU) - Data: DynamoDB (single-table design, streams, GSIs), Redshift Serverless - Orchestration: Step Functions, EventBridge - AI/ML: Bedrock (Knowledge Bases, Agents), AgentCore - Networking: VPC, CloudFront, API Gateway, Route53, ACM - Storage: S3, ECR - Ops: CloudWatch, SQS/SNS, SSM Parameter Store, Secrets Manager Infrastructure as Code - AWS CDK v2 (Python) - multi-stack architectures, cross-stack references, per-tenant resource provisioning - Multi-account, multi-environment deployment strategies Development Tooling - Package management: uv (Astral) - workspaces, dependency groups, private registries - Code quality: Ruff, ty/Pyright, pre-commit hooks, Conventional Commits - Testing: pytest (async, coverage, xdist), moto, httpx/respx, polyfactory - CI/CD: GitHub Actions (self-hosted runners, matrix builds, OIDC auth), semantic-release - Containers: Docker multi-stage builds, Buildx with layer caching, Docker Compose Architecture and Patterns - Serverless-first with Lambda as the default compute - Event-driven design (EventBridge, DynamoDB Streams, SQS, SNS) - Single-table DynamoDB (composite keys, GSI overloading, TTL) - Monorepo with shared workspace libraries - Step Functions for workflow orchestration - Multi-tenant isolation (per-tenant AWS resources, RBAC) - Container-based batch processing for compute-intensive workloads (CPU and GPU) - MCP (stdio) server implementation for AI tool integration Nice to Have - PyTorch - Scientific data formats (HDF5/h5py, anndata) - RAG architectures (vector stores, knowledge bases, embeddings) - Sentry, AWS Lambda Powertools Day-to-Day - Designing and implementing API endpoints, event-driven workflows, and SDK/CLI surfaces - Writing and reviewing CDK infrastructure alongside application code - Optimising DynamoDB access patterns and Step Functions state machines - Debugging cross-service issues across Lambda, Batch, and ECS - Maintaining CI/CD pipelines, Docker builds, and deployment automation - Writing tests and keeping coverage high - Collaborating on architecture decisions for scalability and cost efficiency
Upwork'te aç