- Drive the redesign and reimplementation of legacy modules into a microservices-based architecture using Python
- Design, build, test, deploy, and maintain backend services (REST APIs, internal services, messaging, task queues) running in containers, orchestrated via Kubernetes
- Collaborate with DevOps/SRE to define CI/CD pipelines, automation, monitoring, alerting, metrics, and deployment strategies (blue/green, canary, rolling)
- Ensure high reliability, fault-tolerance, graceful degradation, and recovery in error conditions (network partitions, node failures, resource exhaustion)
- Design and implement service communication patterns (synchronous, asynchronous, event-driven, pub/sub), versioning, and backward compatibility
- Define and enforce best practices: code quality, modularity, documentation, observability (logging, tracing, metrics)
- Conduct performance profiling and tuning, address bottlenecks, optimize throughput, latency, concurrency, and memory usage
- Mentor and coach more junior engineers: conduct code reviews, share architectural knowledge, promote best practices
- Participate in product planning and design discussions help translate features/requirements into scalable technical solutions
- Handle migration strategies: incrementally decompose legacy monolith, manage data schema migrations, ensure safe cutovers and rollbacks
- Thrash in edge cases: backup/restore, disaster recovery workflows, handling large data volumes, integrity checks (AutoVerify), data immutability (AirGap)
- Engage in system-level thinking: capacity planning, fault injection, chaos testing, disaster scenarios, resilience in cloud environments
- 5+ years of professional Python development experience (or equivalent), building production-grade backend systems
- Strong experience in microservices architecture: service decomposition, inter-service communication, API design, versioning, service discovery
- Hands-on experience with containerization and orchestration (Docker, Kubernetes)
- Solid experience with relational databases (e.g. PostgreSQL, MySQL) including schema design, indexing, replication, partitioning, migrations
- Experience building systems deployed on AWS
- Understanding of distributed systems
- Experience in designing for high availability, fault-tolerance, resilience, and disaster recovery
- Strong debugging, profiling, and performance tuning skills (e.g. handling concurrency, memory, I/O)
- Experience migrating or refactoring legacy monolithic systems to modern architectures
- Proficient in writing clean, maintainable, tested code (unit tests, integration tests); familiarity with test automation
- Excellent problem-solving skills, ability to break down complex problems, make trade-offs, and deliver pragmatic solutions
- Good communication skills and ability to work cross-functionally with product, QA, operations, and business stakeholders
- Leadership or mentoring experience is a plus
We’re looking for a Senior Python Developer to join our ConnectWise team!
Are you passionate about building large-scale, cloud-native systems that power automation for IT professionals worldwide?
Join us to modernize and re-architect a global backup and disaster recovery platform — trusted by thousands of companies. You’ll work with Python, AWS, and Kubernetes to design microservices, optimize performance, and ensure reliability under real-world conditions.
Here your technical vision matters — you’ll help define architecture, set best practices, and mentor others as we transform legacy code into a robust, scalable solution.
Let’s turn complex challenges into elegant, high-performing systems together!
You will lead the re-architecture and rewrite of a legacy backup & disaster-recovery (BCDR) platform into a modern microservices architecture. You will build scalable, resilient, cloud-native services running on Kubernetes in AWS, design robust database layers, and collaborate closely with the leads, developers, and product team on the Client side to deliver a high-availability, high-performance system. You’ll help define architecture, set best practices, mentor engineers, and ensure the system meets SLAs under heavy load and disaster scenarios.
CUSTOMER
ConnectWise is the world's leading software company dedicated to the success of IT solution providers. The company’s vision is to power a thriving IT ecosystem that transforms what’s possible for small and medium-sized businesses (SMBs), and it does so by empowering IT solution providers with unmatched software, services, and community to help them achieve their most ambitious vision of success. Its tools are used by IT service providers to automate their activities for SMBs, such as data backup and recovery, security management, and administrative tasks on Microsoft 365 tenants.
PROJECT
The team is developing tools that help IT service providers automate their daily operations, including data backup and recovery, security management, and administrative tasks within Microsoft 365 environments.
This project offers a unique opportunity to contribute fresh technical and process ideas, share best practices, and participate in continuous improvement initiatives. You’ll collaborate directly with the Customer, brainstorm technical solutions, and implement them in real-world scenarios.
We follow a Kanban-based process involving regular communication and daily status meetings with the Customer. The project is long-term (at least one year) with no predefined end date, ensuring stability and space for growth.
Technology stack: C#, .NET Core, MS Azure, Entity Framework Core, Docker, and Kubernetes.
