cSharp-Software-Engineer-Roadmap ?️
Roadmap for becoming a cSharp Software Engineer in 2021:
Below you can find a chart demonstrating the paths that you can take and the libraries that you would want to learn to become an ASP.NET Core developer. I made this chart as a tip for everyone who asks me, "What should I learn next as an ASP.NET Core developer?"

Disclaimer ❗
The purpose of this roadmap is to give you an idea about the landscape. The road map will guide you if you are confused about what to learn next, rather than encouraging you to pick what is hip and trendy. It would be best if you grew some understanding of why one tool would be better suited for some cases than the other, and remember hip and popular does not always mean best suited for the job
Give a Star!
If you like or are using this project to learn or start your solution, please give it a star. Thanks!
Resources
-
Learn the prerequisites
- .NET EcoSystem Overview
- A tour of the C# language
- C# Fundamentals for Absolute Beginners - Good For Beginners with no prior exprience.
- C# Fundamentals
- Let's learn C#! - With Scott Hanselman
- Head First C# - A Learner's Guide to Real-World Programming with C# and .NET Core (O'Reilly Media 2020)
- C# W3School
- Object Oriented Programming
- .NET 5
- Entity Framework
- Dapper
- NHibernate
- ASP.NET Core
- SQL Fundamentals
- SQL Server Complete Series
- Tutorials for SQL Server
- SQL W3School
- Educational SQL resources
-
General Development Skills
- Learn GIT, create a few repositories on GitHub, share your code with other people
- GIT Labs
- Git 101 Basics By Scott Hanselman
- Git Pull Requests explained By Scott Hanselman
- Git Rebase vs Merge explained
- Git Push
- Know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS)
- Don't be afraid of using Google, Power Searching with Google
- Learn dotnet CLI
- Resources for Data Structures & Algorithms
- Data Structures & Algorithms I Used Working at Tech Companies
- C# Data Structures & Algorithms Q&A
- Fundamental Data Structures and Algorithms in C#
- C-Sharp-Algorithms
- C# Data Structures and Algorithms tutorial
- Introduction to Algorithms
-
ASP.NET Core Basics
- MVC
- REST
- Razor Pages
- Razor Components
- Middlewares
- Filters & Attributes
- Application Settings & Configurations
- Authentication
- Authorization
-
SOLID
- Single Responsibility Principle (SRP)
- Open-Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
-
Dependency Injection
- DI Containers
- Microsoft.Extensions.DependencyInjection
- AutoFac
- Ninject
- Castle Windsor
- Simple Injector
- Life Cycles
- Scrutor
-
Databases
- Relational
- SQL Server
- PostgreSQL
- MariaDB
- MySQL
- Cloud Databases
- Azure SQL For Beginners Videos Series.
- CosmosDB
- DynamoDB
- Search Engines
- ElasticSearch
- Solr
- Sphinx
- NoSQL
- Redis
- MongoDB
- Apache Cassandra
- LiteDB
- RavenDB
- CouchDB
-
Caching
- Memory Cache
- Distributed Cache
- Redis
- StackExchange.Redis
- EasyCaching
- Memcached
- Entity Framework 2nd Level Cache
- EFCoreSecondLevelCacheInterceptor
- EntityFrameworkCore.Cacheable
-
Logging
- Log Frameworks
- Log Management System
- ELK Stack
- Sentry.io
- Loggly.com
- Elmah.io
-
API Clients & Communications
- REST
- gRPC
- GraphQL
- HotChocolate
- GraphQL-dotnet
-
Real-Time Communication
- Object Mapping
- AutoMapper
- Mapster
- ExpressMapper
- AgileMapper
-
Task Scheduling
- Coravel
- HangFire
- Background Service
- Fluent Scheduler
-
Testing
- Unit Testing
- Frameworks
- Mocking
- Moq
- NSubstitute
- FakeItEasy
- Assertion
- Integration Testing
- WebApplicationFactory
- TestServer
- Behavior Testing
- E2E Testing
-
Micro-Services
- Message-Broker
- RabbitMQ
- Apache Kafka
- ActiveMQ
- Azure Service Bus
- NetMQ
- Message-Bus
- MassTransit
- NServiceBus
- EasyNetQ
- CAP
- API Gateway
- Containerization
- Orcherstration
- Reverse Proxy
- Other
- Orleans
- Steeltoe
- Dapr
- Tye
-
Continuous Integration & Delivery
- Gihub Actions
- Azure Pipelines
- Travis CI
- Jenkins
- Circle CI
- TeamCity
-
Design-Patterns
- CQRS
- Decorator
- Strategy
- Builder
- Singleton
- Facade
-
Client-Side Libraries
-
Clean Arcitecture
- A starting point for Clean Architecture with ASP.NET Core
- Sample .NET Core reference application, powered by Microsoft, based on a simplified microservices architecture and Docker containers
- This project contains a 10-tier microservices application
- A containerized polyglot microservices consisting of services based on .NET Core, NodeJS and more running on service mesh (istio)
- A starting point for Clean Architecture with ASP.NET Core
- Clean Architecture Solution Template for Angular 8 and .NET Core 3
- Microsft REST API Guidelines
-
Template Engines
- Razor
- DotLiquid
- Scriban
- Fluid
-
Good to Know
- MediatR
- Fluent Validation
- Polly
- Benchmark.NET
- NodaTime
- GenFu
- Swashbuckle
-
Misc Resources.
- Computer Stuff They Didn't Teach You By Scott Hanselman