Road Map
Road Map
mukesh murugan
@iammukeshm
codewithmukesh
Advanced C#
Now that you are familiar with the basics, let's get going.
mukesh murugan
@iammukeshm
codewithmukesh
Database Fundamentals
A very crucial step in your learning path.
mukesh murugan
@iammukeshm
codewithmukesh
Create a sample ASP.NET Core Web API and learn the basics.
Understand the lifecycle of a request within an ASP.NET Core
application.
Learn about Controllers and Minimal APIs.
Understand Middlewares.
Routing.
Filters and Attributes.
Various API Architectures like REST API, GraphQL, and gRPC.
REST API Conventions.
Understand MVC Pattern.
How to load Configurations and IOptions pattern.
Service Lifecycles (Scoped, Transient & Singleton), and
Dependency Injection.
Authentication & Authorization (We will have a separate page
for this)
Extension Methods.
Exception Handling with IExceptionHandler.
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
Microservices!
To build truly decoupled systems, you need to know about
Microservices.
When to use Microservices.
The Tradeoffs and Perks.
Communication Between Services using Message Brokers &
Buses like RabbitMQ, or Kafka.
Masstransit.
Event Sourcing and Eventual Consistency.
Observability.
Containerization and Orchestration.
Secrets.
API Gateways like YARP, Ocelot.
Load Balancing.
And a lot more!
mukesh murugan
@iammukeshm
codewithmukesh
TIP!
Never start with Microservices! In most of the cases, a well-
designed Monolith is what you would need.
mukesh murugan
@iammukeshm
codewithmukesh
Testing
This is something we often tend to skip or put for later. But make
sure that you write your test cases.
Unit Testing.
Integration Testing.
xUnit / NUnit NuGet Packages.
Fluent Assertions (Recommended).
Bogus for dummy data generation.
K6 for load testing.
Test Driven Programming. Make your code testable and ensure
you have good code coverage.
mukesh murugan
@iammukeshm
codewithmukesh
Caching
A crucial feature to improve your Web Application’s performance.
mukesh murugan
@iammukeshm
codewithmukesh
Logging
Enhance Your Application's Observability and Bug Tracking.
mukesh murugan
@iammukeshm
codewithmukesh
Background Tasks
Every application would require background tasks at some point in
time.
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
Beyond C#
It takes more than just a single technology to excel as a developer
in 2024 and beyond!
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
Observability
Building large systems requires you to have an efficient way to
track your system state, logs, and metrics.
Monitoring
ELK Stack
Serilog + SEQ
Prometheus
Graffana Dashboards
Open Telemetry in .NET
Cloud Logging Providers like Cloudwatch.
Metrics Collection and Cloud Insights.
mukesh murugan
@iammukeshm
codewithmukesh
Cloud
Cloud is unavoidable in 2024 and beyond. Almost all B2B and B2C
SaaS products are hosted on a Cloud Provider like AWS, Azure, or
GCP.
mukesh murugan
@iammukeshm
codewithmukesh
CI/CD
CI/CD (Continuous Integration/Continuous Deployment) is a
software development practice that involves automating the
process of building, testing, and deploying code changes.
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
Congrats!
You are just one interview away!
mukesh murugan
@iammukeshm
codewithmukesh
LEARNING NEVER
REALLY STOPS!
Keep adding more to your roadmaps and
stay up to date
mukesh murugan
@iammukeshm
codewithmukesh
You will learn only by building applications! Make sure that you
implement concepts as soon as you learn them. Build your
Solution Templates to ease your development time. Refer to the
following projects on GitHub to learn code implementations with
clean architecture.
Full Stack Hero - .NET 8 Web API Starter Kit (Search on
Google)
eShopOnWeb & eShopOnContainers.
mukesh murugan
@iammukeshm
codewithmukesh
mukesh murugan
@iammukeshm
codewithmukesh
WAS THIS
HELPFUL?
Share with a friend who needs it!
mukesh murugan
@iammukeshm