کیپا
کیپا

Senior Software Engineer (.NET)

Tehran/ Vanak
Full Time
Saturday - Wednesday
-
-
51 - 200 employees
Banking
Iranian company dealing only with Iranian entities
1397
Privately held
توضیحات بیشتر

key Requirements

5 years experience in similar position
Sql Server - Intermediate
C# - Advanced
Kafka - Intermediate
.Net Core / .Net - Advanced
Microsoft Azure Devops / TFS - Intermediate
RabbitMQ - Basic
Docker - Intermediate
Kubernetes - Intermediate

Job Description

About the Role:

We are looking for a Senior Software Engineer (.NET) to join our engineering team and play a key role in designing, developing, and improving scalable, high-performance, and enterprise-grade systems.

In this role, you will work on complex backend systems using C#, .NET, Microservices, Event-Driven Architecture, Kafka, Kubernetes, and Cloud technologies. You will contribute not only to software development but also to architectural decisions, system design, performance optimization, and building reliable distributed systems.

If you enjoy solving complex technical problems, designing scalable systems, and building high-quality software, we would love to have you on our team.

Responsibilities:

  • Design, develop, and maintain high-quality backend services using C# and .NET

  • Design and implement scalable Microservices and distributed systems

  • Apply Domain-Driven Design (DDD), SOLID principles, Design Patterns, and Clean Code practices

  • Contribute to Modular Monolith, Vertical Slice, and Event-Driven Architecture initiatives

  • Design and implement solutions based on CQRS, Event Sourcing, and Message-Driven Architecture

  • Design and develop scalable APIs using REST, gRPC, and GraphQL

  • Develop and maintain event-driven services using Kafka and message brokers such as RabbitMQ

  • Design systems with a strong focus on scalability, high availability, performance, and resilience

  • Analyze and optimize system performance and identify technical bottlenecks

  • Work with distributed systems, concurrency, caching, and eventual consistency

  • Implement patterns and mechanisms such as Idempotency, Rate Limiting, Throttling, Circuit Breaker, Retry, and Bulkhead

  • Design and optimize database structures and queries using Microsoft SQL Server

  • Use Entity Framework Core and Dapper based on system requirements

  • Work with Docker and Kubernetes to build and operate containerized applications

  • Contribute to the development and improvement of CI/CD pipelines and DevOps practices

  • Implement and improve logging, monitoring, metrics, and distributed tracing to enhance system observability

  • Apply security best practices, including Authentication, Authorization, and OWASP principles

  • Participate in code reviews and ensure adherence to engineering and coding standards

  • Develop and maintain unit and integration tests and promote TDD practices where appropriate

  • Translate complex and ambiguous business requirements into clear and actionable technical solutions

  • Contribute to technical and architectural decision-making

  • Collaborate closely with Product, Engineering, and other cross-functional teams to deliver effective technical solutions

Requirements:

  • Strong proficiency in C# and .NET 6+ / .NET Core

  • Strong experience with Microservices Architecture

  • Experience with Modular Monolith Architecture

  • Strong understanding and practical experience with Domain-Driven Design (DDD)

  • Hands-on experience with CQRS

  • Experience with Vertical Slice Architecture (VSA)

  • Experience with Event-Driven Architecture and Event Sourcing

  • Strong understanding of Algorithms and Data Structures

  • Hands-on experience with Docker and Kubernetes (K8s)

  • Strong hands-on experience with Kafka (Required)

  • Experience with RabbitMQ or other Message Brokers

  • Strong knowledge of Microsoft SQL Server

  • Experience with Entity Framework Core and/or Dapper

  • Experience designing and developing APIs using REST, gRPC, and/or GraphQL

  • Experience with at least one major Cloud Platform, such as Azure, AWS, or GCP

  • Experience with DevOps practices and CI/CD pipelines

  • Strong understanding of SOLID principles, Design Patterns, and Clean Code

  • Strong understanding of Distributed Systems and Concurrency

  • Experience with Caching Strategies, particularly Redis

  • Strong knowledge of Git and Code Review practices

  • Experience with Unit Testing, Integration Testing, and TDD

  • Strong Performance Analysis and Troubleshooting skills

  • Experience with Observability, Logging, Monitoring, and Distributed Tracing

  • Experience designing and developing high-load and scalable systems

  • Practical understanding of Resilience Patterns, including Circuit Breaker, Retry, and Bulkhead

  • Strong understanding of Idempotency and Eventual Consistency

  • Familiarity with Multi-Tenancy and Feature Flag Management

  • Understanding of Rate Limiting and Throttling

  • Knowledge of Security Best Practices, Authentication/Authorization, and OWASP

  • Strong Enterprise-Scale System Design skills

  • Strong Problem-Solving and Critical Thinking skills

  • Strong Analytical and Software Design Thinking

  • Excellent verbal and written communication skills

  • Strong Business Acumen and understanding of the business impact of technical decisions

  • Ability to translate ambiguous requirements into clear technical specifications

  • Strong sense of Ownership and Accountability

  • Adaptability and willingness to work in a fast-paced environment

  • Commitment to continuous learning and technical growth

  • Strong collaboration and teamwork skills

  • Ability to communicate effectively with both technical and non-technical stakeholders

Job Requirements

Age
25 - 40 Years Old
Gender
Men / Women
Education
Bachelor| Computer and IT
Software
.Net Core / .Net| Advanced C#| Advanced Sql Server| Intermediate Docker| Intermediate Kubernetes| Intermediate Kafka| Intermediate RabbitMQ| Basic Microsoft Azure Devops / TFS| Intermediate

ثبت مشکل و تخلف آگهی

ارسال رزومه برای کیپا