My storyboard to build a foundation on becoming a successful .NET developer
Wishlist: Macbook Air (right now I use a 2 core, 11-inch laptop with 4GB memory)
What am I Doing Right Now? (Code!)
React ✨
RTr - Robin Wieruch 🟢
Trying out as an alternative to CWM R18
Use DaisyUI
Refer to CWM R18 later on
Algorithms ✨
FrontEndMasters (in typescript)
Refer to Robert Sedgewick's Algorithms book
CSharpAcedemy
whenever I am bored and miss C#
Upping CSharp Skills (Stage 2)
Exercism C# ✨
Do the (first) 47 learning exercises
Programming C# 12 - Ian Griffiths
For each learning exercise, read the chapter from the book & higihlight.
C# Concurrency - Nir Dobovizki
Also folloing RawCoding YouTube bits on this topic
Skim through TPL Async (Ian Griffith - Pluralsight)
Focus on Projects (Stage 3)
Continue Algorithms
NeetCode & Exercism everyday
Refer to Robert Sedgewick's Algorithms book
.NET Core Identity ✨
RawCoding YT playlist on Auth/Auth
Maybe Duende IS4
OIDC docs, light reading on OAuth2.0
HTTP middleware very lightly
Projects (x4) ✨
CodeCrafters C# Track (x2) (Fun!)
Rebuild Appointment App (Tempus) (Personal project)
v1 - .NET / React (DaisyUI)
v2 - Laravel Backend (Why? most local jobs are PHP based)
All Things .NET (Stage 4)
Pluralsight (Specialized) ✨
Entity Framework Core
.NET Logging
.NET background services
AWS toolkit
Projects (x4)
Finally, NeilCummings .NET + React
More CodeCrafters.. (x3)
Advanced C#
C# Concurrency Cookbook
More on .NET Memory Management
Further Readings
just some interesting books to sink myself into (maybe 2 books a year & refer-to as editions come)
📚 Principles of Transaction Processing Systems
📚 Designing Data-Intensive Applications
📚 Learning Domain-Driven design
📚 Refactor by Martin Fowler
📚 Working Effectively with Legacy Code
🌐 CQRS & Event Sourcing
🌐 Designing Modular Monoliths
FAQ
How do I know when to move to the next stage?
Compulsory topics for each stage is marked with a ✨
Remaining topics should ideally be sufficiently attempted and overflow (don't spread too thin)
What tools am I using?
I only use VSCode along with the dotnet
CLI and mise
to manage my build/runtime tools
For projects, use git
and do all Code Crafters & Exercism bits locally and submit via their CLI
What are the items in Blue highlight?
Those are Tasks that are Project heavy
What are my goals at the end of this?
I am really interested in building Enterprise Systems, Banking, Insurance..
Work on the web with .NET and if needed, React. I know my weaknesses (or just lack of interest). I don't want to spend too much time on UI things. Being adept at idiomatic React along with a single component library (I chose DaisyUI) is more than enough for me.
In great hopes of bettering my life, and making a positive impact in the world.