Senior Python Software Engineer – Azure, Distributed Systems & AI (NYC)
Senior Python engineer who designs, ships, and operates production backend services and distributed systems on Microsoft Azure (Functions, App Service, AKS), with heavy emphasis on debugging, reliability, and on-call ownership. Integrating LLMs into applications (OpenAI, RAG) is a plus. Hybrid NYC role with 2 office days per week.
- Compensation
- Not disclosed
- Location
- United States
- Work setup
- Hybrid
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 8+ years
- Category
- Software engineering
- Posted
Skills
Must have
- 8+ years of professional software engineering experience, primarily in backend, application engineering, or distributed systems
- Strong hands-on Python expertise: design, debugging, testing, performance optimization, production-quality code
- Demonstrated experience shipping and maintaining software in production (not prototypes, notebooks, or PoCs)
- Real-world Microsoft Azure experience deploying and troubleshooting applications in Azure production environments
- Strong understanding of backend architecture, APIs, databases, networking fundamentals, and distributed systems
- Experience diagnosing production incidents, identifying root causes, implementing fixes, and preventing recurrence
- Practical experience with automated testing, source control, CI/CD, monitoring, and safe deployment practices
- Ability to independently own technical problems and communicate clearly during incident investigation
- Available for in-person interviews in NYC and hybrid work with 2 days per week in-office
Nice to have
- Experience operating Python applications on Azure Functions, App Service, Azure Container Apps, or AKS
- Experience with FastAPI, Flask, Django, or similar Python application frameworks
- Strong understanding of asyncio, asynchronous I/O, concurrency control, and performance profiling
- Experience with Docker, Kubernetes, infrastructure configuration, and automated deployment workflows
- Experience with relational or NoSQL databases, caching, messaging systems, and external service integrations
- Experience shipping AI-enabled applications using LLM APIs, Azure OpenAI, RAG, or agent orchestration frameworks
- Familiarity with Azure Monitor, Application Insights, Log Analytics, OpenTelemetry, or comparable observability tools
- Working knowledge of C# or .NET
Full description
Location: NYC, NY
Work Policy: Hybrid — 2 days per week in-office
Level: Senior
Experience: 8+ years of professional software engineering experience
About the Role
"Please apply only if you can attend in-person interview at NYC location and can do hybrid. This isn't a remote only position"
We are looking for a hands-on Senior Python Software Engineer with deep core Python expertise and a proven track record of building, deploying, debugging, and operating production software on Microsoft Azure.
This role is for an engineer who understands what it takes to ship reliable software beyond the development environment. You have built real applications and backend services, diagnosed complex production issues, improved performance under load, and taken ownership of systems throughout their lifecycle.
We are not looking for data scientists, research-focused AI practitioners, or engineers whose primary experience is building ETL jobs, data ingestion frameworks, or data pipelines. We need a strong software engineer first—someone who writes maintainable Python, understands concurrency and distributed systems, and can independently troubleshoot issues in live environments.
Experience building AI-powered applications and integrating LLMs into production software is a plus, but strong software engineering fundamentals and production ownership are essential.
What You'll Do
Core Python Engineering
- Design, develop, test, and maintain production-grade Python applications and backend services.
- Write clean, modular, maintainable, and efficient Python code using appropriate design patterns and engineering best practices.
- Work with asynchronous programming, concurrency, multithreading or multiprocessing, and efficient resource management where appropriate.
- Diagnose complex application issues, investigate memory and performance bottlenecks, and improve application reliability.
- Build robust error handling, retry mechanisms, timeout management, and recovery strategies for failure-prone systems.
Production Deployment & Operational Ownership
- Own software from development through deployment, production monitoring, troubleshooting, and ongoing maintenance.
- Investigate and resolve production incidents involving application failures, latency, resource exhaustion, dependency failures, and unexpected behavior.
- Use logs, metrics, distributed tracing, profilers, and debugging tools to identify root causes and implement lasting fixes.
- Design and implement effective unit, integration, and regression testing strategies.