0% found this document useful (0 votes)
159 views30 pages

Everything You Need To Know: @iammukeshm

The document provides a roadmap for developer basics and technologies that are important to learn for a backend .NET job. It covers topics such as C#, ASP.NET Core, databases, ORM, system design, caching, logging, background tasks, containers, cloud, CI/CD, testing, and packages that are useful for .NET applications. The document encourages continuous learning and updating of skills.

Uploaded by

Techydeed.com
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
159 views30 pages

Everything You Need To Know: @iammukeshm

The document provides a roadmap for developer basics and technologies that are important to learn for a backend .NET job. It covers topics such as C#, ASP.NET Core, databases, ORM, system design, caching, logging, background tasks, containers, cloud, CI/CD, testing, and packages that are useful for .NET applications. The document encourages continuous learning and updating of skills.

Uploaded by

Techydeed.com
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Mukesh Murugan | codewithmukesh.

com

everything you need to know


2023 version

@iammukeshm
Mukesh Murugan | codewithmukesh.com

DEVELOPER BASICS
How does the internet work?
HTTP / HTTPS Protocols
Object Oriented Programming Knowledge
Basic Data Structures + Algorithms + Problem-Solving Skills
Should be fluent enough to search for solutions on
StackOverflow + ChatGpt
GIT for source code version control
GIT Platforms like GitHub / GitLab etc

@iammukeshm
Mukesh Murugan | codewithmukesh.com

C#
Learn basics/changes in .NET 6 & 7
Learn the latest C# Language features.
Be fluent in using .NET CLI commands.
Be ready to migrate to .NET 8
Master IDEs like Visual Studio & Visual Studio Code
Learn Basic Code Optimization Techniques
Design Patterns

@iammukeshm
Mukesh Murugan | codewithmukesh.com

CLEAN CODE
Improve Naming Conventions
Write De-Coupled Code
Learn SOLID Principles
Design Patterns
Engage in Peer Reviews to get more feedback
Keep It Simple Silly (KISS) - Do not complicate code.

@iammukeshm
Mukesh Murugan | codewithmukesh.com

DATABASES
RDMS & NoSQL Fundamentals
Learn SQL Syntaxes & Stored Procedures (at least the basics)
Learn Database Optimizations
Work with RDBMSs like PostgreSQL, MS SQL, MySQL, etc.
Get familiarized with MongoDB. AWS DynamoDB, Azure
CosmosDB, and its C# packages.
Elastic Search & Redis

@iammukeshm
Mukesh Murugan | codewithmukesh.com

ASP.NET CORE
Learn the following key concepts of ASP.NET Core (Backend)
How the ASP.NET Core Application handles a request.
Web API
Controllers
Minimal APIs
Middlewares
Routing
Filters & Attributes
Configuration

@iammukeshm
Mukesh Murugan | codewithmukesh.com

Authentication
Authorization
Extension Methods to Simplify Startup.cs
Dependency Injection & Service Lifecycles ( Scoped, Transient &
Singleton).
REST API Conventions

@iammukeshm
Mukesh Murugan | codewithmukesh.com

ORM
Now that you are aware of DBMS and .NET, learn how to simplify your
life and improve your developer experience by using ORMs to access
databases.
Entity Framework Core (Highly Recommended)
Code First, Database First
Automatic Migrations & .NET EF CLI commands
LINQ Knowledge
Various Data Loading Strategies

@iammukeshm
Mukesh Murugan | codewithmukesh.com

Dapper (Prefer this for running RAW SQL Commands and SPs)
MongoDB Drivers and integrations.

@iammukeshm
Mukesh Murugan | codewithmukesh.com

SYSTEM DESIGNS
Develop good system design knowledge to break down problems and
build systems that are scalable and easy to maintain.
Monolith vs Microservices & When to use which.
Building Scalable Services
Event-Driven Architecture with Messaging
Clean Architecture concepts - Feature Based Solution Designing

@iammukeshm
Mukesh Murugan | codewithmukesh.com

CACHING
Very Crucial for improving your web application's performance!
Learns the benefits of Caching.
Learn Cache Invalidation Techniques.
Cache Expirations.
In-Memory Caching
Distributed Caching with Redis.
Application Level Caching (Response Caching, EF Caching).

@iammukeshm
Mukesh Murugan | codewithmukesh.com

LOGGING
Helps improve the observability of your application and helps trace
out errors.
ILogger of Microsoft
Serilog: Honestly this is the only logging package you will ever
need.
NLog: A good alternative

@iammukeshm
Mukesh Murugan | codewithmukesh.com

BACKGROUND TASKS
Native IHostedService & BackgroundService Interfaces for simple
task scheduling.
CRON Concepts
Hangfire
Quartz

@iammukeshm
Mukesh Murugan | codewithmukesh.com

10

MESSAGE BROKERS & BUS


To Build Event Driven applications, you need to know a few of these
message brokers and buses.
RabbitMQ
Apache Kafka
ActiveMQ
Azure Service Bus
Masstransit - A beautiful abstraction for working with event
messages in microservice systems.
EasyNetQ

@iammukeshm
Mukesh Murugan | codewithmukesh.com

11

API GATEWAY
You cannot avoid this if you need to build microservices.
Learn about Reverse Proxies, Routing & Gateways
YARP - Yet Another Reverse Proxy
Ocelot
Amazon API Gateway
KONG?

@iammukeshm
Mukesh Murugan | codewithmukesh.com

12

CONTAINERS
This is going to make your deployments so much easier.
Learn about the benefits of Docker & Containerization.
Learn Docker & Docker Compose Concepts
DockerFile
Built-In Containerization feature in .NET 7+ (You no longer need a
Dockerfile)
Kubernetes & kubectl commands
Dapr: Provides essential building blocks for microservices.
Tye: Nice for running microservices locally.

@iammukeshm
Mukesh Murugan | codewithmukesh.com

13

CLOUD
At a senior level, this is a mandatory path. It's best to have good
exposure to cloud tech, preferably with AWS or Azure. (AWS has a
better market share).
AWS Lambdas, EC2, ECS, DynamoDB, IAM, S3, and other core
services.
Serverless Knowledge.
Get yourself certified at a developer / DevOps / solution-
architect level.
Have good hands-on experience with real-life use-cases.

@iammukeshm
Mukesh Murugan | codewithmukesh.com

14

CI/CD
Continuous Integrations & Deployments.
GitHub Actions (Easy to get started. Also, it's FREE)
AWS Code Pipelines
Azure Pipeline
Jenkins
Build Automation with Scripting

@iammukeshm
Mukesh Murugan | codewithmukesh.com

15

IIS
DEPLOYMENTS
Learn Manual Deployment & Resource Provisioning into your
favorite Cloud Provider to get a good hand-on experience.
Once you are familiar with the workflow, automate it using
Infrastructure as Code tools.
Terraform
AWS CDK
Pulumi

@iammukeshm
Mukesh Murugan | codewithmukesh.com

16

API TESTING
Default REST Testing in Visual Studio using .rest / .HTTP files.
Postman
Thunderclient Visual Code Extension (Recommended)

@iammukeshm
Mukesh Murugan | codewithmukesh.com

17

TESTING
Although we don't really like writing test cases, it really helps you
ensure that the functionality of your code base isn't broken.
xUnit / NUnit
Moq for mocking in test cases.
FluentAssertions (Recommended)
Bogus for dummy data generation.
K6 for load testing

@iammukeshm
Mukesh Murugan | codewithmukesh.com

18

OTHER CONCEPTS
Realtime Communication with SignalR
JWTs, OAuth (auth flows)
CURLs
OpenAPI Documentation with Swagger
API Versioning
Monitoring tools like Prometheus, Graffana, ELK Stack, AWS
Cloudwatch, Metrics, and CloudInsights

@iammukeshm
Mukesh Murugan | codewithmukesh.com

MediatR & CQRS Patterns


Scrutor for Dynamic DI Injection
Request Validations using FluentValidation
Polly for Retry Mechanism

@iammukeshm
Mukesh Murugan | codewithmukesh.com

19

PACKAGES
Here are the essentials packages for your .NET Applications.
Serilog
MediatR
FluentValidations
Mapster / Automapper
EntityFrameworkCore
Microsoft's Dependency Injection

@iammukeshm
Mukesh Murugan | codewithmukesh.com

OpenIddict
Newtonsoft.Json
Guard Classes
Roslynator.Analyzers
Hangfire

@iammukeshm
Mukesh Murugan | codewithmukesh.com

CONGRATS!
On your new .NET Backend Job!

@iammukeshm
Mukesh Murugan | codewithmukesh.com

LEARNING NEVER REALLY


STOPS!
Keep adding more to your
roadmaps and stay up to date

@iammukeshm
Mukesh Murugan | codewithmukesh.com

You will learn only by building applications! Make sure that you
implement concepts soon as you learn them. Build your own 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 7 Web API Boilerplate (Search on Google)
eShopOnWeb & eShopOnContainers.

@iammukeshm
Mukesh Murugan | codewithmukesh.com

WHICH STAGE OF THIS


ROADMAP ARE YOU ON?
Leave a comment!

@iammukeshm
Mukesh Murugan | codewithmukesh.com

WAS THIS
HELPFUL?
Share with a friend who needs it!

Mukesh Murugan
codewithmukesh.com
@iammukeshm

Follow me for more!

@reallygreatsite

You might also like