NET Developer Roadmap 2023 1699044865
NET Developer Roadmap 2023 1699044865
Learning resources
• https://dotnet.microsoft.com/en-
us/learn/csharp
• https://learn.microsoft.com/en-
us/shows/csharp-101/
Mastering design patterns, clean code, and
version control like Git enables you to write
efficient, maintainable code that works and
thrives in a team environment. It's the difference
between being a coder and a skilled software
engineer.
SOLID Principles:
• Single Responsibility Principle (SRP)
• Open/Closed Principle (OCP)
• Liskov Substitution Principle (LSP)
• Interface Segregation Principle (ISP)
• Dependency Inversion Principle (DIP)
Learning resources
• https://newsletter.techworld-with-
milan.com/p/how-to-learn-git
• https://amzn.to/3Qdj91J
• https://www.pluralsight.com/paths/design-
patterns-in-c
It is a cross-platform framework for building
web apps, APIs, and microservices. You can
also run your apps on Windows, Linux, or
macOS. It's engineered for flexibility and
scalability with features like built-in dependency
injection and a robust configuration system.
Learning resources
• https://www.pluralsight.com/courses/aspnet-
core-fundamentals
• https://amzn.to/3RV3rcV
If you want to build UIs in .NET, you will need
these frameworks.
Learning resources
• https://docs.microsoft.com/aspnet/core/mvc/v
iews/razor
• https://dotnet.microsoft.com/apps/aspnet/we
b-apps/blazor
• https://github.com/dotnet/maui
Good database design ensures efficient data
storage and quick retrieval, making your app run
smoother and scale easier.
• SQL Syntax
• Basics of Database design (normal forms, keys,
relationships)
• The Difference Between Inner, Left, Right,
and Full Join
• SQL Queries Execution Order
• What is Query Optimizer
Learning resources
• https://www.youtube.com/watch?v=ztHopE5Wn
pc
• https://newsletter.techworld-with-
milan.com/p/how-to-learn-sql
Object-relational mapping (ORM) is like a
translator between your object-oriented C# code
and the relational database, eliminating the
tedious task of writing SQL queries for basic
CRUD operations.
Learning resources
• https://learn.microsoft.com/en-us/ef/core
• https://github.com/StackExchange/Dapper
• https://www.dotnetnakama.com/blog/underst
anding-the-dot-net-language-integrated-
query-linq/
Caching is like your app's personal short-term
memory, storing frequently accessed data so it
can be quickly retrieved without taxing your
database.
• In-memory cache
• Application-level cache
• Distributed caching (Redis)
Learning resources
• https://docs.microsoft.com/aspnet/core/perfor
mance/caching/memory
• https://redis.io/
• https://learn.microsoft.com/en-
us/aspnet/core/performance/caching/output
Logging captures runtime information, errors,
and other crucial data that can help you quickly
identify and fix issues, making your application
more reliable and secure.
Learning resources
• https://github.com/serilog/serilog
• https://github.com/NLog/NLog
• https://learn.microsoft.com/en-
us/dotnet/core/extensions/logging
Real-time communication technologies, like
SignalR in the .NET ecosystem, enable these
functionalities by maintaining a constant
connection between server and client.
Learning resources
• https://docs.microsoft.com/aspnet/core/signal
r
• https://docs.microsoft.com/en-
us/aspnet/core/fundamentals/websockets
These services run tasks in the background,
freeing up your application to focus on user
interactions.
Learning resources
• https://docs.microsoft.com/en-
us/aspnet/core/fundamentals/host/hosted-
services
• https://github.com/HangfireIO/Hangfire
• https://github.com/quartznet/quartznet
Their libraries automate the task of mapping
between objects, eliminating the need for
repetitive, error-prone manual mapping code.
Learning resources
• https://github.com/AutoMapper/AutoMapper
• https://github.com/MapsterMapper/Mapster
Unit tests focus on isolated pieces of your code,
integration tests ensure different parts play well
together, and end-to-end tests validate the
entire user journey within your application.
Learning resources
• https://www.pluralsight.com/courses/advanced
-unit-testing
• https://docs.microsoft.com/aspnet/core/test/i
ntegration-tests
• https://playwright.dev/
• https://github.com/techtalk/SpecFlow/tree/Do
tNetCore
These tools provide real-time insights into your
application's performance, user behavior, and
error rates, enabling you to address issues before
they escalate into full-blown problems
proactively.
Learning resources
• https://github.com/prometheus/prometheus
• https://github.com/grafana/grafana
• https://www.datadoghq.com
• https://www.elastic.co/what-is/elk-stack
• https://github.com/open-
telemetry/opentelemetry-dotnet
Messaging systems act as a middleman between
different parts of your system, allowing them to
communicate without being directly connected.
Learning resources
• https://www.rabbitmq.com/tutorials/tutorial-
one-dotnet.html
• https://github.com/MassTransit/MassTransit
• https://docs.microsoft.com/azure/service-bus-
messaging/service-bus-messaging-overview
Container solutions (such as Docker)
encapsulate your .NET application, libraries, and
runtime into isolated containers. This enables
consistency across multiple development and
production environments, resolving dependency
issues.
Learning resources
• https://www.docker.com
• https://kubernetes.io
Cloud providers provide a layer of APIs to
abstract infrastructure and provision it based on
security and billing boundaries. The cloud runs
on servers in data centers, but the abstractions
cleverly give the appearance of interacting with a
single "platform" or large application. The ability
to quickly provision, configure, and secure
resources with cloud providers has been key to
the tremendous success and complexity of
modern DevOps.
Learning resources
• https://aws.amazon.com/
• https://azure.microsoft.com/
• https://cloud.google.com/
CI/CD automates the building, testing, and
deployment stages into a streamlined, error-
resistant pipeline. This means faster releases, bug
fixes, and more time to focus on feature
development.
Learning resources
• https://github.com/features/actions
• https://azure.microsoft.com/en-
us/services/devops/pipelines
• https://www.jenkins.io
A list of useful .NET libraries you can use in
your project.
Learning resources
• https://github.com/jbogard/MediatR
• https://github.com/App-vNext/Polly
• https://github.com/JeremySkinner/FluentValid
ation
• https://github.com/dotnet/BenchmarkDotNet
• https://www.newtonsoft.com/json
• https://github.com/reactiveui/refit
• https://microsoft.github.io/reverse-proxy/
• https://github.com/domaindrivendev/Swashbu
ckle.AspNetCore
Ending slide
https://github.com/milanm/DotNet-Developer-Roadmap