| route-pattern | /:user_id/:repository |
| route-controller | files |
| route-action | disambiguate |
| fetch-nonce | v2:08362a0a-c1b6-f278-d383-2d59b1d29480 |
| current-catalog-service-hash | f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb |
| request-id | A534:92283:889157:B5D164:698D692C |
| html-safe-nonce | f8cdb8ec472c62c9052e52aaf9f0bfc7d6a35eeb4d62c5e70297808f8b9e9397 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNTM0OjkyMjgzOjg4OTE1NzpCNUQxNjQ6Njk4RDY5MkMiLCJ2aXNpdG9yX2lkIjoiMjc5MzMzNzMwMzkxMjUwNzY5MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | d1da6f8ae512142ce1919005c5584744ef60b0633ecfbbc8f590a4255118fc55 |
| hovercard-subject-tag | repository:1062832551 |
| github-keyboard-shortcuts | repository,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | // |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/Pawinwat/DotNet-Developer-Roadmap |
| twitter:image | https://opengraph.githubassets.com/b13de5a05f251898b37d734bc4ec7612b0cdae3a7b0ba5aab2193b8cc10732c8/Pawinwat/DotNet-Developer-Roadmap |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/b13de5a05f251898b37d734bc4ec7612b0cdae3a7b0ba5aab2193b8cc10732c8/Pawinwat/DotNet-Developer-Roadmap |
| og:image:alt | The comprehensive .NET Developer Roadmap for 2025 by seniority level. - Pawinwat/DotNet-Developer-Roadmap |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | c0818105fa276287e9369cfdefa0a0fa7953719791ceff9b94d69623c0a4fe8a |
| turbo-cache-control | no-preview |
| go-import | github.com/Pawinwat/DotNet-Developer-Roadmap git https://github.com/Pawinwat/DotNet-Developer-Roadmap.git |
| octolytics-dimension-user_id | 68786935 |
| octolytics-dimension-user_login | Pawinwat |
| octolytics-dimension-repository_id | 1062832551 |
| octolytics-dimension-repository_nwo | Pawinwat/DotNet-Developer-Roadmap |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | true |
| octolytics-dimension-repository_parent_id | 711497099 |
| octolytics-dimension-repository_parent_nwo | milanm/DotNet-Developer-Roadmap |
| octolytics-dimension-repository_network_root_id | 711497099 |
| octolytics-dimension-repository_network_root_nwo | milanm/DotNet-Developer-Roadmap |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 715890fa442134f528fb422ab338c0ad55c7a025 |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#start-of-content |
|
| https://patch-diff.githubusercontent.com/ |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FPawinwat%2FDotNet-Developer-Roadmap |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub SparkBuild and deploy intelligent apps | https://github.com/features/spark |
| GitHub ModelsManage and compare prompts | https://github.com/features/models |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FPawinwat%2FDotNet-Developer-Roadmap |
|
Sign up
| https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=Pawinwat%2FDotNet-Developer-Roadmap |
| Reload | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap |
| Reload | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap |
| Reload | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap |
|
Pawinwat
| https://patch-diff.githubusercontent.com/Pawinwat |
| DotNet-Developer-Roadmap | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap |
| milanm/DotNet-Developer-Roadmap | https://patch-diff.githubusercontent.com/milanm/DotNet-Developer-Roadmap |
|
Notifications
| https://patch-diff.githubusercontent.com/login?return_to=%2FPawinwat%2FDotNet-Developer-Roadmap |
|
Fork
0
| https://patch-diff.githubusercontent.com/login?return_to=%2FPawinwat%2FDotNet-Developer-Roadmap |
|
Star
1
| https://patch-diff.githubusercontent.com/login?return_to=%2FPawinwat%2FDotNet-Developer-Roadmap |
| newsletter.techworld-with-milan.com/ | https://newsletter.techworld-with-milan.com/ |
|
Apache-2.0 license
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/LICENSE |
|
1
star
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/stargazers |
|
420
forks
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/forks |
|
Branches
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/branches |
|
Tags
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/tags |
|
Activity
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/activity |
|
Star
| https://patch-diff.githubusercontent.com/login?return_to=%2FPawinwat%2FDotNet-Developer-Roadmap |
|
Notifications
| https://patch-diff.githubusercontent.com/login?return_to=%2FPawinwat%2FDotNet-Developer-Roadmap |
|
Code
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap |
|
Pull requests
0
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/pulls |
|
Actions
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/actions |
|
Projects
0
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/projects |
|
Security
0
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/security |
|
Insights
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/pulse |
|
Code
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap |
|
Pull requests
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/pulls |
|
Actions
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/actions |
|
Projects
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/projects |
|
Security
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/security |
|
Insights
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/pulse |
| Branches | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/branches |
| Tags | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/tags |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/branches |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/tags |
| 132 Commits | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/commits/main/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/commits/main/ |
| .github | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/tree/main/.github |
| .github | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/tree/main/.github |
| .gitignore | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/.gitignore |
| .gitignore | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/.gitignore |
| Books.jpg | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/Books.jpg |
| Books.jpg | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/Books.jpg |
| Bundle.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/Bundle.png |
| Bundle.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/Bundle.png |
| CSharp-NET_Timeline.jpg | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/CSharp-NET_Timeline.jpg |
| CSharp-NET_Timeline.jpg | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/CSharp-NET_Timeline.jpg |
| LICENSE | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/LICENSE |
| LICENSE | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/LICENSE |
| NET Developer Roadmap Minimal.pdf | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Developer%20Roadmap%20Minimal.pdf |
| NET Developer Roadmap Minimal.pdf | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Developer%20Roadmap%20Minimal.pdf |
| NET Developer Roadmap Minimal.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Developer%20Roadmap%20Minimal.png |
| NET Developer Roadmap Minimal.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Developer%20Roadmap%20Minimal.png |
| NET Roadmap.pdf | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Roadmap.pdf |
| NET Roadmap.pdf | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Roadmap.pdf |
| NET Roadmap.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Roadmap.png |
| NET Roadmap.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Roadmap.png |
| Patterns.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/Patterns.png |
| Patterns.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/Patterns.png |
| README.md | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/README.md |
| README.md | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/README.md |
| csharp-mindmap.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/csharp-mindmap.png |
| csharp-mindmap.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/csharp-mindmap.png |
| csharp-timeline.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/csharp-timeline.png |
| csharp-timeline.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/csharp-timeline.png |
| patreon.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/patreon.png |
| patreon.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/patreon.png |
| release-schedule.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/release-schedule.png |
| release-schedule.png | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/release-schedule.png |
| README | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap |
| License | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#net-developer-roadmap-2025 |
| Grab my .NET Ultimate Bundle for 2025 (500+ pages and a course) | https://www.patreon.com/techworld_with_milan/shop/ultimate-net-bundle-for-2025-1519389 |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#grab-my-net-ultimate-bundle-for2025-500-pages-and-a-course |
| Get the .NET Ultimate Bundle 🚀 | https://www.patreon.com/techworld_with_milan/shop/ultimate-net-bundle-for-2025-1519389 |
| https://www.patreon.com/techworld_with_milan/shop/ultimate-net-bundle-for-2025-1519389 |
| my newsletter | https://newsletter.techworld-with-milan.com/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#disclaimer |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#give-a-star-star |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#roadmap |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Roadmap.png |
| PDF version | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Roadmap.pdf |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#minimalistic-version |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Developer%20Roadmap%20Minimal.png |
| PDF version | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/NET%20Developer%20Roadmap%20Minimal.pdf |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#table-of-contents |
| Understanding the .NET ecosystem | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#understanding-the-net-ecosystem |
| .NET runtimes | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#net-runtimes |
| .NET Framework | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#net-framework |
| .NET Core | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#net-core |
| The One .NET - .NET 5 | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#the-one-net---net-5 |
| The current - .NET 9 | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#the-current---net-9 |
| .NET Standard | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#net-standard |
| Learning resources | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#learning-resources |
| 1. C# | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#1-c |
| 2. General Development Skills | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#2-general-development-skills |
| 3. ASP.NET Core | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#3-aspnet-core |
| 4. Client-Side .NET | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#4-client-side-net |
| 5. Databases | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#5-databases |
| 6. ORM | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#6-orm |
| 7. Testing | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#7-testing |
| 8. Logging | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#8-logging |
| 9. Communication | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#9-communication |
| 10. Background tasks | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#10-background-tasks |
| 11. Caching | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#11-caching |
| 12. Observability | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#12-observability |
| 13. Containerization | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#13-containerization |
| 14. Cloud | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#14-cloud |
| 15. Continuous Integration & Delivery (CI/CD) | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#15-continuous-integration--delivery-cicd |
| 16. AI & Machine Learning | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#16-ai--machine-learning |
| 17. NET Libraries | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#17-net-libraries |
| Additional considerations | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#additional-considerations |
| Performance best practices | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#performance-best-practices |
| Profiling and diagnostics | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#profiling-and-diagnostics |
| Performances 101 | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#performances-101 |
| Security and Cryptography | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#security-and-cryptography |
| Additional learning resources | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#additional-learning-resources |
| Books | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#books |
| YouTube Channels | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#youtube-channels |
| Blogs | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#blogs |
| Podcasts | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#podcasts |
| Other .NET Content creators | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#other-net-content-creators |
| Tools | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#tools |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#understanding-the-net-ecosystem |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#net-runtimes |
| ECMA-335 Standard for .NET | https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/dotnet-standards.md |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#net-framework |
| .NET Framework | https://dotnet.microsoft.com/en-us/download/dotnet-framework |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#net-core |
| .NET Core | https://dotnet.microsoft.com/en-us/download |
| open-sourced | https://github.com/dotnet/core |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#the-one-net---net-5 |
| .NET 5 | https://dotnet.microsoft.com/en-us/download/dotnet/5.0 |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#the-current---net-9 |
| .NET 9 | https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/overview |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/CSharp-NET_Timeline.jpg |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#net-standard |
| link | https://learn.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-1-0#net-implementation-support |
| this blog post | https://milan.milanovic.org/post/a-brief-walk-through-net-ecosystem/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/release-schedule.png |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#learning-resources |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#1-c |
| C# 13 | https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-13 |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/csharp-timeline.png |
| C# Programming Cheat Sheet | https://github.com/milanm/csharp-cheatsheet |
| Why C# | https://newsletter.techworld-with-milan.com/p/why-csharp |
| Microsoft Learn C# | https://dotnet.microsoft.com/en-us/learn/csharp |
| Microsoft C# Fundamentals for Absolute Beginners | https://learn.microsoft.com/en-us/shows/c-fundamentals-for-absolute-beginners/ |
| Microsoft C# 101 | https://learn.microsoft.com/en-us/shows/csharp-101/ |
| Udemy C# for Beginners - Coding From Scratch (.NET Core) | https://www.udemy.com/course/c-and-net-core-for-beginners/ |
| C# Basics for Beginners: Learn C# Fundamentals by Coding | https://www.udemy.com/course/csharp-tutorial-for-beginners/ |
| C# language specification - ECMA-334 | https://www.ecma-international.org/publications-and-standards/standards/ecma-334/ |
| dotnet CLI | https://docs.microsoft.com/dotnet/core/tools |
| NuGet | https://learn.microsoft.com/en-us/nuget/what-is-nuget |
| Dot Net Perls | https://www.dotnetperls.com/s#c# |
| Become a Full-stack .NET Developer - Advanced Topics | https://www.pluralsight.com/courses/full-stack-dot-net-developer |
| Async/Await | https://devblogs.microsoft.com/dotnet/how-async-await-really-works/ |
| Threading in C# | https://www.albahari.com/threading/ |
| Concurrency | https://www.codeguru.com/csharp/thread-synchronization-c-sharp/ |
| Locking | https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/lock |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#2-general-development-skills |
| Git | https://newsletter.techworld-with-milan.com/p/how-to-learn-git |
| Data Structures & Algorithms | https://amzn.to/3LTsZ6o |
| Clean Code | https://amzn.to/3Qdj91J |
| Refactoring | https://www.pluralsight.com/courses/refactoring-fundamentals |
| Design Patterns from the book | https://amzn.to/3QcVQVS |
| video tutorials | https://www.pluralsight.com/paths/design-patterns-in-c |
| cheat sheet | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/Patterns.png |
| Creational Design Patterns | https://refactoring.guru/design-patterns/creational-patterns |
| Structural Design Patterns | https://refactoring.guru/design-patterns/structural-patterns |
| Behavioral Design Patterns | https://refactoring.guru/design-patterns/behavioral-patterns |
| Repository pattern | https://learn.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-design |
| Unit of Work pattern | https://learn.microsoft.com/en-us/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application |
| Main software design | https://newsletter.techworld-with-milan.com/p/main-software-design-principles-you |
| SOLID | https://www.pluralsight.com/courses/principles-oo-design |
| Clean Architecture | https://newsletter.techworld-with-milan.com/p/what-is-clean-architecture |
| Modular Monolith Architecture | https://newsletter.techworld-with-milan.com/p/what-is-a-modular-monolith |
| Fundamentals of Software Architectures | https://amzn.to/3rEtJWh |
| Layered | https://www.oreilly.com/library/view/software-architecture-patterns/9781491971437/ch01.html |
| Microservices | https://microservices.io/ |
| DAPR | https://dapr.io/ |
| Backend for Frontend | https://microservices.io/patterns/apigateway.html |
| CQRS | https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs |
| Event Sourcing | https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing |
| Saga | https://learn.microsoft.com/en-us/azure/architecture/patterns/saga |
| Actor Model | https://getakka.net/articles/intro/what-are-actors.html |
| Inbox pattern | https://learn.microsoft.com/en-us/azure/service-bus-messaging/duplicate-detection |
| Sidecar pattern | https://learn.microsoft.com/en-us/azure/architecture/patterns/sidecar |
| Outbox pattern | https://learn.microsoft.com/en-us/azure/architecture/databases/guide/transactional-outbox-cosmos |
| Data Consistency | https://daily.dev/blog/10-methods-to-ensure-data-consistency-in-microservices |
| Domain-Driven Design | https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/february/best-practice-an-introduction-to-domain-driven-design |
| the book | https://amzn.to/49jl0tm |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#3-aspnet-core |
| How Internet works | https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/How_does_the_Internet_work |
| What happens when you type a URL into your browser? | https://newsletter.techworld-with-milan.com/p/what-happens-when-you-type-a-url |
| How DNS works | https://newsletter.techworld-with-milan.com/i/135973327/how-dns-works |
| HTTP(S) protocol | https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview |
| ASP.NET MVC | https://dotnet.microsoft.com/en-us/apps/aspnet/mvc |
| ASP.NET MVC 5 Fundamentals by Scott Alen | https://www.pluralsight.com/courses/aspdotnet-mvc5-fundamentals |
| ASP.NET Core Fundamentals by Scott Alen | https://www.pluralsight.com/courses/aspnet-core-fundamentals |
| Middlewares | https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware |
| Web API | https://dotnet.microsoft.com/en-us/apps/aspnet/apis |
| Minimal APIs | https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-8.0 |
| FastEndpoints | https://fast-endpoints.com/ |
| REST API Design Best Practices | https://newsletter.techworld-with-milan.com/p/rest-api-design-best-practices |
| REST Constraints | https://www.webscrapingapi.com/rest-api-architecture-constraints |
| Understanding REST Headers | https://newsletter.techworld-with-milan.com/p/understanding-rest-headers |
| REST Maturity Model | https://martinfowler.com/articles/richardsonMaturityModel.html |
| HTTP Status Codes | https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status |
| HATEOAS | https://en.wikipedia.org/wiki/HATEOAS |
| Data Shaping | https://code-maze.com/data-shaping-aspnet-core-webapi/ |
| Filtering, Sorting, Pagination | https://www.youtube.com/watch?v=X8zRvXbirMU |
| Basics | https://graphql.org/ |
| Queries | https://chillicream.com/docs/hotchocolate/v15/defining-a-schema/queries |
| Mutations | https://chillicream.com/docs/hotchocolate/v15/defining-a-schema/mutations |
| Subscriptions | https://chillicream.com/docs/hotchocolate/v15/defining-a-schema/subscriptions |
| Distributed Schemas | https://chillicream.com/docs/hotchocolate/v13/distributed-schema |
| gRPC Fundamtenals | https://grpc.io/ |
| Contracts and .proto files | https://learn.microsoft.com/en-us/aspnet/core/grpc/basics |
| Protobuf | https://learn.microsoft.com/en-us/aspnet/core/grpc/protobuf |
| Bidirectional communication | https://learn.microsoft.com/en-us/aspnet/core/grpc/client |
| Interceptors | https://learn.microsoft.com/en-us/aspnet/core/grpc/interceptors |
| Refit | https://github.com/reactiveui/refit |
| RestSharp | https://github.com/restsharp/RestSharp |
| Polly | https://github.com/App-vNext/Polly |
| Microsoft Resilience | https://learn.microsoft.com/en-us/dotnet/core/resilience/ |
| Life Cycles | https://learn.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection |
| Microsoft Extensions Dependency Injection | https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection?view=dotnet-plat-ext-7.0 |
| Autofac | https://autofac.org/ |
| Scrutor | https://github.com/khellang/Scrutor |
| Application Settings & Configurations | https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration |
| Filters & Attributes | https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters |
| Identity on ASP.NET Core | https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity |
| Authentication | https://docs.microsoft.com/en-us/aspnet/core/security/authentication |
| this Reddit thread | https://www.reddit.com/r/dotnet/comments/we9qx8/a_comprehensive_overview_of_authentication_in/ |
| Authorization | https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction |
| IdentityServer | https://identityserver4.readthedocs.io/en/latest |
| Auth0 | https://auth0.com |
| OIDC | https://openid.net/connect |
| Mutual TLS | https://www.cloudflare.com/learning/access-management/what-is-mutual-tls/ |
| Keycloak | https://www.keycloak.org/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#4-client-side-net |
| Razor | https://docs.microsoft.com/aspnet/core/mvc/views/razor |
| Blazor | https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor |
| .NET MAUI | https://github.com/dotnet/maui |
| WPF | https://learn.microsoft.com/en-us/dotnet/desktop/wpf/overview/?view=netdesktop-8.0 |
| WinUI | https://docs.microsoft.com/en-us/windows/apps/winui/winui3/ |
| Uno Platform | https://platform.uno/ |
| Avalonia | https://avaloniaui.net/ |
| UWP | https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide |
| WinForms | https://docs.microsoft.com/en-us/dotnet/desktop/winforms/overview/?view=netdesktop-8.0 |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#5-databases |
| Database design | https://www.youtube.com/watch?v=ztHopE5Wnpc |
| Learn SQL | https://newsletter.techworld-with-milan.com/p/how-to-learn-sql |
| SELECT FROM | https://www.w3schools.com/sql/sql_select.asp |
| WHERE | https://www.w3schools.com/sql/sql_where.asp |
| ORDER BY | https://www.w3schools.com/sql/sql_orderby.asp |
| GROUP BY, HAVING | https://www.w3schools.com/sql/sql_groupby.asp |
| JOINs | http://www.w3schools.com/Sql/sql_join.asp |
| Database views | https://www.geeksforgeeks.org/sql-views/ |
| Stored Procedures | https://www.w3schools.com/sql/sql_stored_procedures.asp |
| Functions | https://www.w3schools.com/sql/sql_ref_sqlserver.asp |
| Triggers | https://www.geeksforgeeks.org/sql-trigger-student-database/ |
| SQL Server | https://www.microsoft.com/sql-server/sql-server-2019 |
| PostgreSQL | https://www.postgresql.org |
| MariaDB | https://mariadb.org |
| MySQL | https://www.mysql.com |
| Azure SQL | https://azure.microsoft.com/en-us/products/azure-sql/database |
| MongoDB | https://docs.microsoft.com/aspnet/core/tutorials/first-mongo-app |
| RavenDB | https://github.com/ravendb/ravendb |
| Azure Cosmos DB | https://docs.microsoft.com/azure/cosmos-db |
| Marten | https://martendb.io/ |
| Apache Cassandra | https://cassandra.apache.org/ |
| DynamoDB | https://aws.amazon.com/dynamodb/ |
| SQLFlow | https://sqlflow.gudusoft.com/#/ |
| TLS | https://dev.to/scylladb/database-101-ssltls-for-beginners-4lmn |
| Transparent Data Encryption | https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption |
| Always Encrypted | https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine |
| Consistency models | https://www.baeldung.com/cs/eventual-consistency-vs-strong-eventual-consistency-vs-strong-consistency |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#6-orm |
| Entity Framework Core | https://learn.microsoft.com/en-us/ef/core |
| Code First Migrations | https://learn.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli |
| Change Tracker API | https://learn.microsoft.com/en-us/ef/core/change-tracking/ |
| Lazy Eager Explicit Loading | https://learn.microsoft.com/en-us/ef/core/querying/related-data/ |
| One-to-One | https://learn.microsoft.com/en-us/ef/core/modeling/relationships/one-to-one |
| One-to-Many | https://learn.microsoft.com/en-us/ef/core/modeling/relationships/one-to-many |
| Many-to-Many | https://learn.microsoft.com/en-us/ef/core/modeling/relationships/many-to-many |
| Eager Loading | https://learn.microsoft.com/en-us/ef/core/querying/related-data/eager |
| Explicit Loading | https://learn.microsoft.com/en-us/ef/core/querying/related-data/explicit |
| Lazy Loading | https://learn.microsoft.com/en-us/ef/core/querying/related-data/lazy |
| AsNoTracking | https://learn.microsoft.com/en-us/ef/core/querying/tracking |
| Filtering | https://www.learnentityframeworkcore.com/dbset/querying-data |
| Sorting | https://code-maze.com/sorting-aspnet-core-webapi/ |
| Paging | https://learn.microsoft.com/en-us/ef/core/querying/pagination |
| Projections | https://makolyte.com/ef-core-aggregate-select-queries/ |
| Aggregations | https://www.csharptutorial.net/entity-framework-core-tutorial/ef-core-group-by/ |
| Compiled Queries | https://learn.microsoft.com/en-us/ef/core/performance/efficient-querying |
| Split Queries | https://learn.microsoft.com/en-us/ef/core/querying/single-split-queries |
| Grouping | https://www.csharptutorial.net/entity-framework-core-tutorial/ef-core-group-by/ |
| Aggregation | https://makolyte.com/ef-core-aggregate-select-queries/ |
| Functions | https://learn.microsoft.com/en-us/ef/core/querying/database-functions |
| Global Query Filters | https://learn.microsoft.com/en-us/ef/core/querying/filters |
| Change Tracker | https://learn.microsoft.com/en-us/ef/core/change-tracking/ |
| Batch Update | https://learn.microsoft.com/en-us/ef/core/performance/efficient-updating |
| https://learn.microsoft.com/en-us/ef/core/saving/transactions | https://learn.microsoft.com/en-us/ef/core/saving/transactions |
| Optimistic Locking | https://www.learnentityframeworkcore.com/concurrency |
| Pessimistic Locking | https://learn.microsoft.com/en-us/ef/core/saving/concurrency |
| Transaction Isolation Levels | https://www.bytehide.com/blog/transactions-ef-core |
| Add-Migration | https://learn.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli#add-migration |
| Update-Database | https://www.learnentityframeworkcore.com/migrations/update-database |
| Scaffolding | https://learn.microsoft.com/en-us/ef/core/managing-schemas/scaffolding/ |
| Applying Migrations | https://learn.microsoft.com/en-us/ef/core/managing-schemas/migrations/applying |
| Migrations with multiple providers | https://learn.microsoft.com/en-us/ef/core/managing-schemas/migrations/providers |
| Owned Entities | https://learn.microsoft.com/en-us/ef/core/modeling/owned-entities |
| Table per Hierarchy (TPH) | https://www.learnentityframeworkcore.com/inheritance/table-per-hierarchy |
| Table per Type (TPT) | https://www.learnentityframeworkcore.com/inheritance/table-per-type |
| Table per Concrete Class (TPC) | https://code-maze.com/efcore-how-and-when-to-use-tpc-inheritance-mapping/ |
| Keyless Entities | https://learn.microsoft.com/en-us/ef/core/modeling/keyless-entity-types |
| Complex Types | https://www.learnentityframeworkcore.com/model/complex-type |
| Value Objects | https://learn.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/implement-value-objects |
| Repository Pattern | https://learn.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro?view=aspnetcore-8.0#repository-pattern |
| Unit of Work Pattern | https://learn.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro?view=aspnetcore-8.0#unit-of-work-pattern |
| Temporal Tables | https://learn.microsoft.com/en-us/ef/core/providers/sql-server/temporal-tables |
| Shadow properties | https://learn.microsoft.com/en-us/ef/core/modeling/shadow-properties |
| Keyless entities | https://learn.microsoft.com/en-us/ef/core/modeling/keyless-entity-types |
| DBContext pooling | https://learn.microsoft.com/en-us/ef/core/performance/advanced-performance-topics?tabs=with-di%2Cexpression-api-with-constant#dbcontext-pooling |
| JSON Mapping | https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/whatsnew#mapping-to-json-columns |
| Dapper | https://github.com/StackExchange/Dapper |
| LINQ | https://www.dotnetnakama.com/blog/understanding-the-dot-net-language-integrated-query-linq/ |
| Index, CountBy, AggregateBy | https://timdeschryver.dev/blog/new-linq-methods-in-c-13-index-countby-aggregateby |
| ADO.NET | https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#7-testing |
| Unit Testing | https://www.pluralsight.com/courses/advanced-unit-testing |
| xUnit | https://xunit.net/ |
| NUnit | https://nunit.org/ |
| MSTest | https://docs.microsoft.com/dotnet/core/testing/unit-testing-with-mstest |
| TUnit | https://thomhurst.github.io/TUnit/ |
| NSubstitute | https://github.com/nsubstitute/NSubstitute |
| Moq | https://github.com/devlooped/moq |
| Shouldly | https://github.com/shouldly/shouldly |
| xUnit Assert | https://xunit.net/ |
| Fluent Assertions | https://fluentassertions.com/ |
| Awesome Assertions | https://awesomeassertions.org/ |
| WebApplicationFactory | https://docs.microsoft.com/aspnet/core/test/integration-tests |
| TestServer | https://learn.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-7.0 |
| Testcontainers | https://dotnet.testcontainers.org/ |
| Respawn | https://github.com/jbogard/Respawn |
| Verify | https://github.com/VerifyTests/Verify |
| Stryker | https://stryker-mutator.io/ |
| SpecFlow | https://github.com/techtalk/SpecFlow/tree/DotNetCore |
| Reqnroll | https://github.com/reqnroll/Reqnroll |
| Playwright | https://playwright.dev/ |
| Selenium | https://www.selenium.dev/ |
| Cypress | https://www.cypress.io/ |
| K6 | https://github.com/grafana/k6 |
| JMeter | https://github.com/apache/jmeter |
| BenchmarkDotNet | https://benchmarkdotnet.org/ |
| NBomber | https://nbomber.com/ |
| Bogus | https://github.com/bchavez/Bogus |
| AutoFixture | https://github.com/AutoFixture/AutoFixture |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#8-logging |
| Serilog | https://github.com/serilog/serilog |
| NLog | https://github.com/NLog/NLog |
| Microsoft.Extensions.Logging | https://learn.microsoft.com/en-us/dotnet/core/extensions/logging |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#9-communication |
| SignalR Core | https://docs.microsoft.com/aspnet/core/signalr |
| WebSockets | https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets |
| Socket.IO | https://github.com/doghappy/socket.io-client-csharp |
| HTTP Client | https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-8.0 |
| Azure Service Bus | https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview |
| RabbitMQ | https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html |
| ActiveMQ | https://activemq.apache.org/ |
| NetMQ | https://netmq.readthedocs.io/en/latest/ |
| Apache Kafka | https://kafka.apache.org/ |
| Message Queues | https://www.geeksforgeeks.org/message-queues-system-design/ |
| Message Queue vs Pub-Sub | https://systemdesignschool.io/blog/message-queue-vs-pub-sub |
| Dead Letter Exchange | https://medium.com/@shivanksingh01/rabbitmq-dead-letter-exchange-a-comprehensive-guide-node-js-b62967a76f10 |
| Handling Duplicate Messages | https://codeopinion.com/handling-duplicate-messages-idempotent-consumers/ |
| MassTransit | https://github.com/MassTransit/MassTransit |
| Rebus | https://github.com/rebus-org/Rebus |
| Azure Service Bus | https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview |
| NServiceBus | https://learn.microsoft.com/en-us/azure/service-bus-messaging/build-message-driven-apps-nservicebus?tabs=Sender |
| EasyNetQ | https://easynetq.com/ |
| Wolverine | https://wolverinefx.net/ |
| Azure Event Hub | https://docs.microsoft.com/azure/event-hubs/event-hubs-about |
| Azure Event Grid | https://docs.microsoft.com/azure/event-grid/overview |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#10-background-tasks |
| Background Service | https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services |
| HangFire | https://github.com/HangfireIO/Hangfire |
| Quartz | https://github.com/quartznet/quartznet |
| Coravel | https://docs.coravel.net/Scheduler/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#11-caching |
| Memory Cache | https://docs.microsoft.com/aspnet/core/performance/caching/memory |
| FusionCache | https://github.com/ZiggyCreatures/FusionCache |
| Hybrid Cache | https://learn.microsoft.com/en-us/aspnet/core/performance/caching/hybrid?view=aspnetcore-9.0 |
| Redis | https://redis.io/ |
| Built-in | https://learn.microsoft.com/en-us/aspnet/core/performance/caching/response |
| Output Caching | https://learn.microsoft.com/en-us/aspnet/core/performance/caching/output?source=recommendations |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#12-observability |
| Prometheus | https://github.com/prometheus/prometheus |
| Grafana | https://github.com/grafana/grafana |
| Datadog | https://www.datadoghq.com |
| ELK Stack | https://www.elastic.co/what-is/elk-stack |
| OpenTelemetry | https://github.com/open-telemetry/opentelemetry-dotnet |
| Jaeger | https://www.jaegertracing.io/ |
| Azure Application Insights | https://docs.microsoft.com/azure/azure-monitor/app/app-insights-overview |
| Azure Log Analytics | https://docs.microsoft.com/azure/azure-monitor/logs/log-analytics-overview |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#13-containerization |
| Docker | https://www.docker.com |
| Networking | https://docs.docker.com/engine/network/ |
| Env Variables | https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/ |
| Dockerfile | https://docs.docker.com/engine/reference/builder/ |
| Docker CLI | https://docs.docker.com/engine/reference/commandline/cli/ |
| Volumes | https://docs.docker.com/storage/volumes/ |
| Docker Compose | https://docs.docker.com/compose/ |
| Docker Hub | https://hub.docker.com/ |
| Azure Container Registry | https://learn.microsoft.com/en-us/azure/container-registry/container-registry-intro |
| Kubernetes | https://kubernetes.io |
| Azure Kubernetes Service (AKS) | https://azure.microsoft.com/en-us/products/kubernetes-service |
| Helm | https://helm.sh/ |
| Azure Container Apps | https://docs.microsoft.com/en-us/azure/container-apps/overview |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#14-cloud |
| AWS | https://aws.amazon.com/ |
| AWS S3 | https://aws.amazon.com/s3/ |
| DynamoDB | https://aws.amazon.com/dynamodb/ |
| SQS/SNS | https://aws.amazon.com/blogs/dotnet/event-driven-net-applications-with-aws-lambda-and-amazon-eventbridge/ |
| AWS Kinesis | https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/csharp_kinesis_code_examples.html |
| AWS Event Hubs | https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-standard-getstarted-send |
| AWS Secrets Manager | https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html |
| AWS Lambda | https://docs.aws.amazon.com/lambda/latest/dg/welcome.html |
| Azure | https://azure.microsoft.com/ |
| Azure Functions | https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview |
| Azure Service Bus | https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues |
| Azure Event Hubs | https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-standard-getstarted-send |
| Application Insights | https://learn.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview |
| Azure Key Vault | https://azure.microsoft.com/en-us/products/key-vault |
| Azure Storage | https://learn.microsoft.com/en-us/azure/storage/common/storage-introduction |
| Azure CosmosDB | https://learn.microsoft.com/en-us/azure/cosmos-db/ |
| Google Cloud | https://cloud.google.com/ |
| .NET Aspire | https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview/ |
| Envoy | https://www.envoyproxy.io/ |
| YARP | https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/yarp/getting-started?view=aspnetcore-9.0 |
| Nginx | https://nginx.org/ |
| Service Discovery | https://learn.microsoft.com/en-us/dotnet/core/extensions/service-discovery?tabs=dotnet-cli |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#15-continuous-integration--delivery-cicd |
| DevOps concepts | https://newsletter.techworld-with-milan.com/p/devops-roadmap-2023 |
| GitHub Actions | https://github.com/features/actions |
| Gitlab CI | https://docs.gitlab.com/ee/ci |
| Azure Pipelines | https://azure.microsoft.com/en-us/services/devops/pipelines |
| AWS CodePipeline | https://aws.amazon.com/codepipeline/ |
| Travis CI | https://travis-ci.org |
| Jenkins | https://www.jenkins.io |
| TeamCity | https://www.jetbrains.com/teamcity |
| Terraform | https://www.terraform.io/ |
| Pulumi | https://www.pulumi.com/ |
| Bicep | https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/ |
| DevOps Roadmap | https://github.com/milanm/DevOps-Roadmap |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#16-ai--machine-learning |
| ML.NET | https://dotnet.microsoft.com/en-us/apps/machinelearning-ai/ml-dotnet |
| ONNX Runtime | https://onnxruntime.ai/ |
| Semantic Kernel | https://github.com/microsoft/semantic-kernel |
| OpenAI .NET SDK | https://platform.openai.com/docs/ |
| Azure AI Services | https://azure.microsoft.com/en-us/products/cognitive-services/ |
| ChatGPT | https://openai.com/chatgpt |
| Claude | https://www.anthropic.com/index/claude-ai |
| Bolt | https://bolt.new/ |
| Replit | https://replit.com/ |
| Loveable | https://lovable.dev/ |
| GitHub Copilot | https://github.com/features/copilot |
| Customizations | https://github.com/github/awesome-copilot |
| Aider | https://aider.chat/ |
| TabbyML | https://tabbyml.com/ |
| Windsurf | https://windsurf.com/ |
| Cursor | https://www.cursor.com/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#17-net-libraries |
| MediatR | https://github.com/jbogard/MediatR |
| Polly | https://github.com/App-vNext/Polly |
| Benchmark.NET | https://github.com/dotnet/BenchmarkDotNet |
| YARP | https://microsoft.github.io/reverse-proxy/ |
| Swashbuckle | https://github.com/domaindrivendev/Swashbuckle.AspNetCore |
| NSwag | https://github.com/RicoSuter/NSwag |
| FluentValidation | https://github.com/JeremySkinner/FluentValidation |
| AutoMapper | https://github.com/AutoMapper/AutoMapper |
| Mapster | https://github.com/MapsterMapper/Mapster |
| Mapperly | https://github.com/riok/mapperly |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#additional-considerations |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#performance-best-practices |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#profiling-and-diagnostics |
| PerfView | https://joshthecoder.com/2023/10/23/using-perfview-to-diagnose-high-cpu-in-an-aspnet-app.html |
| Visual Studio Profiler | https://learn.microsoft.com/en-us/visualstudio/profiling/profiling-feature-tour?view=vs-2022 |
| dotTrace | https://www.jetbrains.com/profiler/ |
| dotMemory | https://www.jetbrains.com/dotmemory/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#performances-101 |
| Awesome .NET Performance | https://github.com/adamsitnik/awesome-dot-net-performance |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#security-and-cryptography |
| Authentication and Authorization | https://learn.microsoft.com/en-us/aspnet/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api |
| Cryptography and Data Protection | https://learn.microsoft.com/en-us/dotnet/standard/security/cross-platform-cryptography |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#additional-learning-resources |
| Pluralsight learning platform | https://www.pluralsight.com/browse?q=C%20sharp&type=all&sort=highest |
| Awesome .NET! | https://github.com/quozd/awesome-dotnet |
| Microsoft .NET Architecture Guides | https://dotnet.microsoft.com/en-us/learn/dotnet/architecture-guides |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#books |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#beginners |
| Learn C# in One Day and Learn It Well | https://amzn.to/3Qld3fT |
| C#: Programming Basics for Absolute Beginners | https://amzn.to/4kbSNcC |
| Starting out with Visual C# | https://amzn.to/4jULLsY |
| The C# Yellow book | http://www.csharpcourse.com/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#intermediate |
| C# in Depth: Fourth Edition | https://amzn.to/3ZPcZbq |
| Agile Principles, Patterns, and Practices in C# | https://amzn.to/43gXwDd |
| Adaptive Code via C#: Agile coding with design patterns and SOLID principles | https://amzn.to/43f4E2W |
| Head First C#: A Learner’s Guide to Real-World Programming with C# and .NET Core | https://amzn.to/3S3sB85 |
| C# 12 in a Nutshell: The Definitive Reference | https://amzn.to/43f4LeS |
| C# 13 and .NET 9 – Modern Cross-Platform Development Fundamentals | https://amzn.to/4k5na4I |
| Dependency Injection Principles, Practices, and Patterns | https://amzn.to/43MStur |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#advanced |
| Concurrency in C# Cookbook: Asynchronous, Parallel, and Multithreaded Programming | https://amzn.to/490EMtu |
| Professional C# and .NET | https://amzn.to/458YHHb |
| CLR via C# | https://amzn.to/4j3AyFp |
| Functional Programming in C#: How to write better C# code | https://amzn.to/4mgURSr |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/blob/main/Books.jpg |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#youtube-channels |
| IAmTimCorey | https://www.youtube.com/user/IAmTimCorey |
| Programming with Mosh | https://www.youtube.com/user/programmingwithmosh |
| Nick Chapsas | https://www.youtube.com/channel/UCrkPsvLGln62OMZRO6K-llg |
| Milan Jovanovic | https://www.youtube.com/@MilanJovanovicTech |
| Zoran Horvat | https://www.youtube.com/@zoran-horvat |
| CodeOpinion | https://www.youtube.com/watch?v=_rgH0Kb9Bis |
| C# Tutorial - Full Course for Beginners | https://www.youtube.com/watch?v=GhQdlIFylQ8 |
| Advanced C# Programming Course | https://www.youtube.com/watch?v=YT8s-90oDC0 |
| Raw Coding | https://www.youtube.com/@RawCoding |
| Gui Fereira | https://www.youtube.com/@gui.ferreira |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#blogs |
| .NET Blog | https://devblogs.microsoft.com/dotnet/ |
| The Morning Dew | https://www.alvinashcraft.com/ |
| You’ve Been Haacked | https://haacked.com/ |
| Eric Lippert's blog | https://ericlippert.com/ |
| Steve Smith | https://ardalis.com/ |
| Andrew Lock | https://andrewlock.net/ |
| Scott Hanselman | https://www.hanselman.com/blog/ |
| Rick Strahl's Web Log | https://weblog.west-wind.com/ |
| Adam Sitnik | https://adamsitnik.com/ |
| Jimmy Bogard | https://www.jimmybogard.com/ |
| Vladimir Khorikov | https://enterprisecraftsmanship.com/ |
| Ayende @ Rahien | https://ayende.com/blog/ |
| Maarten Balliauw | https://blog.maartenballiauw.be/ |
| Khalid Abuhakmeh’s Blog | https://khalidabuhakmeh.com/ |
| Stephen Cleary | https://blog.stephencleary.com/ |
| Scott Brady | https://www.scottbrady91.com/articles |
| Jiří Činčura | https://www.tabsoverspaces.com/ |
| Coding Militia | https://blog.codingmilitia.com/ |
| Michael Shpilt | https://michaelscodingspot.com/ |
| Mark Seemann | https://blog.ploeh.dk/ |
| Steven Giesel | https://steven-giesel.com/ |
| Code Maze Weekly | https://code-maze.com/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#podcasts |
| .NET Rocks! | https://www.dotnetrocks.com/ |
| Rockin' the Code World with Dot Net Dave | https://www.c-sharpcorner.com/live/rockin-the-code-world-with-dotnetdave |
| The Modern .NET Show | https://dotnetcore.show/ |
| .NET Content creators | https://www.wearedotnet.io/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#other-net-content-creators |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#tools |
| Git | https://github.com/git-guides/install-git |
| GUI clients | https://www.hostinger.com/tutorials/best-git-gui-clients/ |
| Visual Studio | https://visualstudio.microsoft.com/ |
| Visual Studio Code | https://code.visualstudio.com/ |
| Rider | https://www.jetbrains.com/rider/ |
| SQL Server Management Studio | https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15 |
| Azure Data Studio | https://azure.microsoft.com/en-us/products/data-studio/ |
| LINQPad | https://www.linqpad.net/ |
| ReSharper | https://www.jetbrains.com/resharper/ |
| .NET Reflector | https://www.red-gate.com/products/reflector/ |
| Postman | https://www.postman.com/ |
| NDepend | https://www.ndepend.com/ |
| NCrunch for Visual Studio | https://www.ncrunch.net/ |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#wrap-up |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#contribution |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#license |
| https://opensource.org/licenses/Apache-2.0 |
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#author |
| Dr. Milan Milanović | https://milan.milanovic.org |
| 3MD | https://3mdinc.com |
| newsletter.techworld-with-milan.com/ | https://newsletter.techworld-with-milan.com/ |
|
Readme
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#readme-ov-file |
|
Apache-2.0 license
| https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap#Apache-2.0-1-ov-file |
| Please reload this page | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap |
|
Activity | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/activity |
|
1
star | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/stargazers |
|
0
watching | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/watchers |
|
0
forks | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/forks |
|
Report repository
| https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2FPawinwat%2FDotNet-Developer-Roadmap&report=Pawinwat+%28user%29 |
| Releases | https://patch-diff.githubusercontent.com/Pawinwat/DotNet-Developer-Roadmap/releases |
| Packages
0 | https://patch-diff.githubusercontent.com/users/Pawinwat/packages?repo_name=DotNet-Developer-Roadmap |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |