-
General Development Skills
- GIT - Version Control (VSTS, GitHub, GitLab)
- HTTP/HTTPS protocol + TLS/SSL
- Learn to search for solutions using Google + ChatGPT
- Data Structures and Algorithms
-
C#
- Learn the basics of C# 11
- Learn .NET 7 (and .NET 8 upcoming features)
- Learn dotnet CLI
-
SQL Fundamentals
- Fundamentals about database design and SQL Syntax
- Stored Procedures
- Constraints
- Triggers
-
ASP.NET Core Basics
- MVC
- REST
- Application Settings & Configurations
- Middlewares
- Filters & Attributes
- Authentication & Authorization (Identity, IdentityServer,OpenIddict, Auth0/OIDC, OWASP Top 10)
- Razor Pages
- Razor Components
-
SOLID
- Single Responsibility Priniciple ( SRP )
- Open-Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
-
ORM
-
Entity Framework Core
- Learn the basics of Entity Framework Core
- Code First + Migrations
- Change Tracker API
- Lazy Loading, Eager Loading, Explicit Loading
- TPH, TPC, TPT
- Dapper
- RepoDB
-
Dependency Injection
-
DI Containers
- Microsoft.Extensions.
DependencyInjection
- AutoFac
-
Life Cycles
- Scoped
- Transient
- Singleton
- Scrutor
-
Databases
-
Relational
- SQL Server
- PostgreSQL
- MariaDB
- MySQL
-
Search Engines
- ElasticSearch
- Solr
- Sphinx
-
NoSQL
-
💻 On-Premises
- Redis
- MongoDB
- LiteDB
- Apache Cassandra
- RavenDB
- CouchDB
-
☁️ Cloud
- Azure CosmosDB
- Amazon DynamoDB
-
Caching
- Memory Cache
-
Distributed Cache
-
Redis
- StackExchange.Redis
- EasyCaching
- Memcached
-
Application-Level
- Response Caching
- Output Caching
- Entity Framework 2nd Level Cache
-
Log Frameworks
- Serilog
- NLog
-
API Clients & Communications
-
REST
- Sieve
- OData
-
REPR Pattern
- Minimal APIs
- FastEndpoints
- Ardalis.Endpoints
- gRPC
-
GraphQL
- HotChocolate
- GraphQL-dotnet
-
Real-Time Communication
- SignalR Core
- Web Sockets
-
Object Mapping
- AutoMapper
- Mapster
- ExpressMapper
- AgileMapper
-
Background Task Scheduler
- Native BackgroundService
- HangFire
- Quartz
- Coravel
-
Testing
-
Unit Testing
-
Frameworks
- xUnit
- NUnit
- MSTest
-
Mocking
- Moq
- NSubstitute
- FakeItEasy
-
Assertion
- FluentAssertions
- Shouldly
-
Fake Data Generators
- Bogus
- AutoFixture
- GenFu
-
Integration Testing
- WebApplicationFactory
- TestServer
-
Snapshot Testing
- Verify
-
Behavior Testing
- SpecFlow
- BDDfy
- LightBDD
-
E2E Testing
- Playwright
- Selenium
- Puppeteer Sharp
-
Performance Testing
- K6
- JMeter
- Crank
- Bombardier
-
Microservices
-
Message-Broker
- RabbitMQ
- Apache Kafka
- ActiveMQ
- Azure Service Bus
- NetMQ
-
Message-Bus
- MassTransit
- NServiceBus
- EasyNetQ
- CAP
-
API Gateway
- Ocelot
- YARP
-
Containerization
- Docker
-
Orchestration
-
Kubernetes
- Kubectl
- Rancher
- K9s
- Docker Swarm
-
Other
- Orleans
- Proto.Actor
- SteelToe
- Dapr
- Tye
-
Continuous Integration & Delivery
- Github Actions
- Gitlab CI
- Azure Pipelines
- Travis CI
- Jenkins
- Cricle CI
- TeamCity
-
Design Patterns
- Creational
- Structural
- Behavioral
-
Monitoring/Logging/Tracing/Alerting
-
Monitoring
-
💻 On-Premises
- Prometheus/Grafana
-
☁️ Cloud
- Datadog
-
Logging
-
💻 On-Premises
- ELK Stack
- Seq
-
☁️ Cloud
- Datadog
-
Tracing
-
💻 On-Premises
-
OpenTelemetry
- Jaeger
- Zipkin
-
☁️ Cloud
- Datadog
-
Alerting
-
💻 On-Premises
- Zabbix
- Alertmanager
-
☁️ Cloud
- Datadog
-
Client-Side .NET
-
Template Engines
- Razor
- DotLiquid
- Scriban
- Fluid
-
Frameworks
-
Blazor
- Blazor WASM
- Blazor Server-Side
- Blazor Hybrid
- .NET MAUI
-
Good to Know Libraries
- MediatR
- FluentValidation
- Polly
- Benchmark.NET
- NodaTime
- Swashbuckle
- Nuke Build
- EFCore.BulkExtensions
- Marten
- 🚀 Keep Learning :)