Senior Software Engineer
Dubai, United Arab Emirates · Full Time
Be the first to apply
- Experience
- 5+ yrs
- Salary
- —
- Openings
- 1
- Posted
- 3 weeks ago
- Work mode
- In office
- Education
- Bachelor's degree or Master's degree in Computer Science, Software Engineering, or related field
- Resume
- Required to apply
Where you'll work
Sign in to tell us what does and doesn't work for you here — it sharpens every match we show you.
Job description
About the Role
eMagine Solutions is recruiting for an experienced Senior .NET Engineer to join a rapidly growing FinTech client in Dubai. This hands-on engineering position involves developing and refining backend services that support real-time trading operations. The role focuses on addressing challenging issues related to concurrent processing, system performance, reliability, and production monitoring.
Key Responsibilities
- Develop and enhance .NET Core microservices integral to real-time trading workflows.
- Architect solutions for high concurrency with async programming and multithreading, emphasizing thread safety.
- Utilize event-driven designs leveraging Kafka, AWS SQS, RabbitMQ, or similar messaging platforms.
- Optimize services to handle low latency and significant throughput demands.
- Enhance system resilience and fault tolerance within distributed components.
- Adopt modern architectural paradigms such as Clean Architecture, Vertical Slice Architecture, and CQRS.
- Convert trading and financial business requirements into reliable technical implementations.
- Maintain high-quality code standards via Test-Driven Development (TDD), thorough code reviews, and comprehensive automated testing including unit, integration, and performance tests.
- Implement OpenTelemetry for comprehensive tracing, metrics collection, and logging.
- Create and upkeep monitoring dashboards and alerting systems using Prometheus, Grafana, and Kibana to ensure actionable production insights.
- Engage actively in Scrum ceremonies and agile development practices.
Qualifications and Experience
- Minimum 5 years of professional software engineering experience emphasizing C# and .NET Core technologies.
- Significant expertise in multithreading, asynchronous programming patterns, and concurrency within distributed systems.
- Proven track record in delivering domain-driven microservices with well-defined service boundaries.
- Extensive knowledge of event-driven architectures and messaging systems such as Kafka, AWS SQS, and RabbitMQ.
- Hands-on experience with observability tools including OpenTelemetry, Prometheus, Grafana, and Elastic/Kibana.
- Familiarity with CI/CD pipelines, Docker containerization, and Kubernetes orchestration.
- Strong proficiency in Git and adherence to robust version control workflows.
- Comfortable participating in Scrum-based Agile development teams.
Preferred Additional Skills
- Experience implementing Saga patterns for managing distributed transactions.
- Background in trading or financial domain systems, particularly those requiring low-latency processing.
- Expertise in SQL Server performance tuning and database optimization.
Education and Certifications
A bachelor's or master's degree in Computer Science, Software Engineering, or related discipline is required. Possession of relevant certifications in software development, system architecture, or AWS technology is considered advantageous.