.NET Developer
Job Summary
We are seeking an experienced .NET Developer to design, develop, and maintain highly scalable, fault-tolerant services and features across a microservices platform. The role requires end-to-end technical ownership, from requirements gathering and solution design through deployment, monitoring, and production support. The ideal candidate will have strong expertise in .NET, C#, React, Microsoft Azure, relational databases, RESTful APIs, and distributed systems, along with the ability to lead technical discussions, address technical debt, and apply AI-assisted development tools to improve engineering productivity and software quality.
Key Responsibilities
• Design, develop, and deliver highly scalable, fault-tolerant services and features across the microservices platform.
• Take end-to-end technical ownership of solutions, from requirements through deployment, monitoring, and production support.
• Lead technical design discussions and contribute to architecture decisions, technology choices, and engineering standards.
• Proactively identify and address technical debt by refactoring code and improving maintainability, performance, and reliability.
• Troubleshoot and resolve complex production issues using structured problem-solving approaches.
• Collaborate with Product, QA, and stakeholders to clarify requirements, identify risks early, and drive solutions to completion with minimal supervision.
• Promote engineering best practices across testing, CI/CD, security, observability, and documentation.
• Leverage AI-assisted developer tools, such as GitHub Copilot, Claude, and Cursor, to accelerate development and improve engineering output.
• Perform other duties as assigned.
Required Qualifications
• 7+ years of professional software engineering experience in a multi-team, production environment.
• Expert-level experience with .NET Framework, .NET Core, and C# for designing and building APIs, microservices, and backend systems.
• Strong understanding of software design patterns and SOLID principles.
• Experience building scalable and maintainable frontend applications using React, with a strong understanding of state management, performance optimization, and component architecture.
• Good understanding of JVM-based language fundamentals, including Java or Kotlin, with the ability to read, analyze, and contribute to codebases beyond the primary technology stack.
• Solid working knowledge of Microsoft Azure, with hands-on experience in one or more of the following services: Azure Container Apps (ACA), App Services (Web Apps), Azure Service Bus, Managed PostgreSQL, Key Vault, Application Gateway, Virtual Networks (VNet) and subnets, Private Endpoints, and Private DNS Zones.
• Experience deploying and operating production workloads in Azure.
• Expert-level experience with SQL Server and PostgreSQL, including relational database design, complex query optimization, indexing strategies, and performance tuning.
• Proven ability to design, develop, version, and secure RESTful APIs at scale.
• Strong understanding of microservices architecture, distributed systems, and integration patterns.
• Strong hands-on experience with Docker, including containerized application design, networking, and deployment.
• Experience with CI/CD pipelines using Azure DevOps, GitHub Actions, or equivalent tools.
• Solid understanding of Agile/Scrum practices and the full software development lifecycle.
• Demonstrated effective use of AI-assisted development tools as part of everyday engineering workflows.
Preferred Qualifications
• Experience with Kubernetes or Azure Container Apps for container orchestration.
• Familiarity with event-driven architecture and message brokers such as Azure Service Bus, RabbitMQ, or Kafka.
• Experience with observability tools and practices, including logging, metrics, and distributed tracing using Application Insights, OpenTelemetry, or similar technologies.
• Background in e-commerce, marketplace, or transaction-heavy platform environments.
• Experience with Test-Driven Development (TDD) and pair programming practices.
• Ability to learn and adapt to emerging patterns and technologies as the technology landscape evolves.