Recently got hired as a .NET developer, how do I fill the gaps before I start?
Posted by PotatoLover400@reddit | learnprogramming | View on Reddit | 15 comments
I just landed a job as a .NET developer and I want to prepare in advance. I start in 3 months. They'll train me technically, but I learn best by understanding things myself first and then asking questions. I don't want to just go "monkey see, monkey do," ship it, and forget everything a week later.
Here's where I'm at:
- I know C# the language reasonably well, and I understand OOP and SOLID.
- In university I used C#, .NET Core, and .NET 6 at most.
- I've also worked with Java (Spring / Spring Boot) and Python for backend.
- For frontend I mostly use React + TypeScript now, but before that I built UIs with Web Forms and Razor Pages.
My actual struggle is with .NET as an ecosystem rather than the language. There are a lot of layers, and I don't know how they connect : DI, middleware, the request pipeline, EF Core, project structure, configuration, etc. I can read about each piece in isolation, but I'm missing the mental model of how it all fits together in a real application.
So my questions:
- What's the best way to build that "how it all connects" mental model?
- Are there resources (courses, books, repos, sample projects) you'd recommend for someone who knows C# but not the wider .NET stack?
- What concepts are most worth nailing before day one vs. things I can safely pick up on the job?
Thanks in advance.
LuckyGamble@reddit
Just go on microsoft learn, lots of good free courses there.
Free-Cheek-9440@reddit
The mental model shift from “what is DI” to “where does it live in the request flow” is huge.
That alone clears up half the confusion for people coming from Java or other backend stacks.
Frameworks stop feeling magical once you see the lifecycle clearly.
This is the kind of explanation new devs actually need before starting a job.
Philluminati@reddit
Honestly, don't wear yourself out. The challenges you get of managing a code base in a real company aren't the ones that you can simulate at home. They are more tech-debt / agile / team oriented than technical. You sound switched on, my recommendation would be to buy some smartish clothes and get yourself ready for the 9-5.
x_andi01@reddit
Honestly the best mental model I got came from following a minimal API tutorial but stepping through every single line with the debugger on. Watching the pipeline execute live made middleware and DI click in a way reading never did. Build a tiny CRUD app with EF and just trace the request from program.cs all the way to the response. You've got 3 months, that's plenty of time to break a few test projects first.
quietcodelife@reddit
three months before you start is actually a resource a lot of people underuse. once you’re in the job, every hour you spend confused has someone implicitly waiting on you to ramp up - so most people resolve confusion faster than they should, which means surface-level. right now you can sit with something for 45 minutes before it clicks and that’s fine. that’s the kind of understanding that actually sticks when you’re navigating a real codebase three months in.
SpiritualYoung3508@reddit
Have a little Knowledge regarding legacy .NET like Web Forms etc. If your company is using .NET , I am 100% sure they have a legacy codebase of .NET being used so just a little knowledge about that won't hurt , you can still use copilot in your task when you will come across it.
siammang@reddit
Try to put plenty of effort into learning the team codebase, especially the portion that you will be responsible to work on. Oftentimes things are done for a reason given the information they have at a time.
dumpin-on-time@reddit
if you want to see how everything fits together, create any project or follow any tutorial. for any piece of code you add, put a breakpoint as early as possible. don't remove any. as you add code, add more breakpoints. then turn on the debugger. you'll see what happens when
yyellowbanana@reddit
You are in a good spot. OOP and SOLID is good.
You may want to purchase or look into something like “ hand on”. Then pick from there to what fit to your position.
You will also need F5, load balancing, hosting, server configuration, API, REST. Sometimes you need to do console app for data moving, hosting daily job..etc.
Again, it’s really depends on project assignments and how bigs the project is. Just build around what helps you on the daily job
_QuirkyTurtle@reddit
> 1. What concepts are most worth nailing before day one vs. things I can safely pick up on the job?
DI is a good one because when navigating around a new (potentially large enterprise) repo you will understand how the classes (implementations) are wired up. Otherwise you'll just be stumped as soon as you come across your first interface being used.
It sounds like you've already got a good start though by even thinking about this stuff. I'll be honest, if I was hiring a fairly inexperienced engineer, I'd be more impressed by you understanding fundamentals like SOLID, good testing practices (unit, integration, system etc) rather than technical specifics of the framework like middleware.
Tldr; anything you pick up before starting is a plus. If this is your first job, they won't be expecting you to know or understand everything and will welcome questions.
scub_101@reddit
There are like 3-4 eco systems within .NET that I am aware of. At my workplace we primarily work with 2 which include the WPF and Blazor flavors of .NET. Both are fairly used and I believe Blazor is much newer too.
With that said, having a more targeted approach as to what flavor of .NET your new employer uses would be necessary in going forward with your third question. I do think just having a basic understanding of DI, reflection, controller work (routing and back end calling) will help you too. I see you already have some knowledge there by practicing with Blazor from college which is a big plus! TBH if what you said in your post is true, then there probably isn't much more you can do to prepare but wait till your first day starts.
zincifre@reddit
do project no ai
NationsAnarchy@reddit
Just build something combining your C# and learning different .NET stuff
CodeToManagement@reddit
Honestly best way is build something. Like even if you just fire up the basic API template that’s good enough to go look at the request / response pipeline and step through it with some breakpoints.
Di is pretty easy to register and you can experiment with the different lifetimes
EF again in a simple api example isn’t too difficult to play around with and get the basics down.
You’ll learn a lot more by building something over a weekend that teaches you about this stuff. Like you could build an API that persists data with EF, then have the response pipeline catch various exception types and translate those to better error messages and http status codes.
remember though you’re going into a company with an existing codebase so you’ll have a lot to learn from so don’t stress too much - the reality is you’ll probably be editing what’s in place rather than having to set this stuff up yourself so won’t be as hard as you think to get up to speed
Playful-Sock3547@reddit
you are honestly already ahead of where most new hires are. the fact that you are thinking about the ecosystem and not just syntax is a really good sign. if i were you i would stop trying to learn every .net concept in isolation and instead spend the next 3 months building one small but complete app end to end because that is where the how it all connects mental model finally clicks.
make something boring but realistic like a task manager or inventory app and force yourself to use the pieces you mentioned. have a request come in through an api endpoint then go through middleware into a service layer then entity framework to a database and back. once you see that flow repeatedly the magic feeling around dependency injection middleware and project structure disappears and starts feeling obvious. the biggest unlock for me was understanding the request lifecycle because most of .net suddenly made sense after that. before day one i would mainly focus on understanding dependency injection middleware the request pipeline entity framework core basics migrations async await configuration with appsettings and debugging inside visual studio. do not stress too much about advanced architecture patterns or trying to memorize everything because your company will likely have its own conventions anyway. also one underrated thing is reading a real production style .net repo and literally tracing one feature from frontend to database. pick a button click and follow the entire path. that teaches way more than another tutorial. honestly with your background in c# java spring and react you sound way more prepared than you think. congrats on landing the role.