.NET 8 & Microservices Optimization
Must-have:C#DockerKubernetesDevOpsQA/TestCI/CDMicroservices
Responsibilities
- Review and optimize applications built on .NET 8 and microservices architecture.
- Identify application-layer bottlenecks impacting database performance.
- Improve asynchronous processing, connection management, concurrency, caching, and service-to-service communication.
- Ensure optimization changes remain scalable and do not introduce regression across other services.
- Optimize application performance using .NET 8, ASP.NET Core Web API, and modern C# programming practices.
- Design, develop, and optimize scalable, high-performance microservices architectures.
- Analyze application bottlenecks and perform root-cause analysis to improve response time, throughput, and resource utilization.
- Optimize asynchronous programming using async/await, Task, concurrency, and parallel processing where appropriate.
- Improve API performance through efficient request processing, pagination, caching, serialization, and connection management.
- Optimize Entity Framework Core queries, LINQ expressions, database access patterns, and SQL execution plans.
- Implement distributed caching using Redis or equivalent caching technologies.
- Optimize inter-service communication using REST APIs, gRPC, and message brokers such as RabbitMQ or Kafka.
- Improve application resilience through timeout management, retry policies, circuit breakers, rate limiting, and fault-tolerance mechanisms.
- Monitor and troubleshoot production applications using structured logging, metrics, distributed tracing, and Application Performance Monitoring (APM) tools.
- Conduct performance testing, load testing, stress testing, and capacity planning to validate system scalability.
- Optimize Docker containers and Kubernetes deployments to improve resource efficiency, startup time, and service availability.
- Implement observability standards using OpenTelemetry, Prometheus, Grafana, or equivalent monitoring solutions.
- Collaborate with DevOps, Database, QA, and Infrastructure teams to improve application reliability and deployment efficiency.
- Establish performance baselines and continuously improve response time, throughput, memory usage, CPU utilization, and error rates.
- Maintain technical documentation, performance reports, optimization recommendations, and architectural standards.
Requirements
- Bachelor’s degree in Computer Science, Information Technology, Software Engineering, or a related field.
- Strong hands-on experience developing enterprise applications using .NET 8, ASP.NET Core Web API, and C#.
- Strong understanding of microservices architecture, RESTful APIs, dependency injection, middleware, and modular application design.
- Experience optimizing application performance, API latency, memory allocation, CPU usage, and concurrent request processing.
- Strong knowledge of asynchronous programming, multithreading concepts, thread-pool behavior, and task-based programming.
- Experience with Entity Framework Core, LINQ optimization, database connection pooling, SQL query tuning, and indexing strategies.
- Experience with SQL Server, PostgreSQL, Oracle, or other relational database technologies.
- Knowledge of Redis, in-memory caching, distributed caching, and cache invalidation strategies.
- Experience with messaging and event-driven architectures using RabbitMQ, Kafka, or equivalent technologies.
- Understanding of microservices reliability patterns, including retries, circuit breakers, timeouts, idempotency, and fault isolation.
- Experience with Docker, Kubernetes, CI/CD pipelines, and automated deployment processes.
- Familiarity with monitoring and observability tools such as OpenTelemetry, Grafana, Prometheus, Application Insights, Dynatrace, or Datadog.
- Experience using performance profiling and load-testing tools such as dotnet-counters, dotnet-trace, BenchmarkDotNet, k6, or JMeter.
- Strong analytical, troubleshooting, problem-solving, and communication skills.