Senior Software Engineer
Summary
Build and scale backend services in .NET/C# for high-traffic CRUD apps, RESTful APIs, and event-driven systems using Kafka, Docker, and Kubernetes.
- Bachelor's degree in Computer Science, Engineering, or similar.
- 8 years of experience in software development with .NET and C#.
- 5 years of experience designing and building scalable CRUD applications and RESTful APIs.
- 5 years of experience with SQL databases (SQL Server, PostgreSQL, or similar).
- 3 years of experience with message queue systems (Kafka, RabbitMQ, Azure Service Bus, or similar).
- 3 years of experience with containerization technologies (Docker, Kubernetes).
- Experience with API Gateway patterns and implementation.
Preferred Qualifications
- 8 years of experience with distributed systems architecture and microservices design patterns.
- 5 years of experience with long-running workflow orchestration (Temporal, Camunda, or similar workflow engines).
- 3 years of experience in a technical leadership role, mentoring engineers and driving architectural decisions.
- Strong understanding of database optimization, indexing strategies, and query performance tuning.
About the Job
- Our software engineers build the backbone systems that power mission-critical business operations at scale.
- We're looking for engineers who thrive on solving complex distributed systems challenges.
- As a Senior Software Engineer, you will be instrumental in shaping our backend architecture.
- You will collaborate with cross-functional teams including product managers, DevOps engineers, and frontend developers.
- This role offers the opportunity to work on challenging problems at the intersection of reliability engineering, distributed systems, and business process automation.
Responsibilities
- Design, develop, and maintain scalable backend services using .NET and C#.
- Architect and implement high-performance CRUD applications serving millions of requests.
- Build and maintain event-driven architectures using Kafka or similar message queue systems.
- Implement and manage API Gateway solutions for microservices communication.
- Design and develop long-running workflow solutions for complex business processes.
- Containerize applications using Docker and deploy to container orchestration platforms.
- Collaborate with cross-functional teams to define technical requirements and architectural decisions.
- Conduct code reviews, establish best practices, and maintain high code quality standards.
- Troubleshoot production issues and implement solutions that improve system reliability.
- Document technical specifications.
Technical Stack
- Tools: Git, CI/CD pipelines, monitoring and observability tools