Everything You Need To Know: @iammukeshm
Everything You Need To Know: @iammukeshm
com
@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
@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
@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
@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
@iammukeshm
Mukesh Murugan | codewithmukesh.com
WAS THIS
HELPFUL?
Share with a friend who needs it!
Mukesh Murugan
codewithmukesh.com
@iammukeshm
@reallygreatsite