I got the email with the link, but clicking it goes to the page, but the part that is presumably the road map says "Restricted Access" and "NetworkError when attempting to fetch resource." That is after a good bit of waiting.
As a senior developer, this video helped me a lot to understand the gaps in my knowledge that I need to fill to be ready for a lead role. Thank you so much for the amazing content.
Hi Govind, where do you work? And what is your designation? Is it .Net Developer? I have 5 years of career gap, and I want to start my career into IT. Is it possible that I get a .Net Developer job in MNC after 5 years of career gap?
SQL stored procedures are beneficial for managing large enterprise database systems due to their ability to encapsulate complex operations, providing a layer of abstraction. They often offer performance advantages over ORM (Object-Relational Mapping) techniques by executing directly on the database server, which can reduce network traffic and improve execution speed.
Agreed, they are definitely a valuable tool in the box. Combined with triggers and scheduled tasks and you can get a lot accomplished without even opening a codebase. Sadly, many projects overuse them for basic tasks.
I couldn't agree less! Payroll processing is an excellent example where you have to process payroll for your entire staff. It's expensive to iterate through withing your program. So, a stored procedure is best suited for this case. Also for some heavy computations, I prefer to do them in stored procedure or function and just return the output back to the user. In summary, a single database call is better as oppose round-tripping for a single bulk operation. @nickchapsas, kindly revisit this. By the way, this video is top-notch ❤❤❤
@@aweklinI assume the angle Nick is looking at this is encapsulating domain behaviour and business rules in the code base and not in the DB, and only using the DB for persistence. I will use stored procedures for DB maintenance work these days. 20 years ago I used sprocs for a lot more, but these days I don’t I try to keep my domain behaviour in the domain.
It's all about perspective. Using a database in a "classic" way? No objections here. But in the context of growing structures and a purpose-dividing approach like CQRS, it's not really relevant. Since Nick mentioned Redis in his roadmap before, the pattern doesn’t seem far-fetched. After all, business logic really shouldn’t be in the persistence layer, so I think it's only fair to consider this perspective. No hard feelings, guys!
Some things require so much data that it only makes sense to process it in the database before sending it over the network, but it is rare I use them these days.
Having in-depth conventional database (=SQL) knowledge is actually very useful these days to fill in the gaps left open by the majority of developers who don't have that knowledge and don't want to bother to begin with. It's a significant competitive edge in the job market. Cloud is something you have to learn anyway, and so does everyone else. The same goes for modern software engineering practices. Being able to write an efficient window function or advanced aggregation in one SQL query to replace some convoluted, bloated backend code or worse, ORM DSL code stretched to its functional limits causing a ton of unnecessary allocations is a valuable skill and will earn you the gratitude of your development peers. Also technological adoption is still a major concern, the more conservative, risk-averse or just plain behind your environment is, the more likely it will be that there is some legacy database with tons of triggers and SPs floating around. It's the COBOL of the 80s and 90's for many enterprises. Also, i don't see a downward trend in SPs and function usage at all, rather the opposite, as Low-Code and Business Intelligence platforms that are database-centric heavily rely on them.
As someone who is moderately colorblind, could you use more than color as the differentiator between categories? Something like a check for "must know", plus for "good to know", minus/bar for "alternative", and an X for "not recommended" would immediately make the categories clear. As it stands I can't easily differentiate "must" and "alternative" at a glance.
Great idea to do some tutorials about Authentication. This is one thing that hunts me: the more I try to avoid learning it, the more I have to work with it.
Thanks a lot Nick. I would be interested to know why Stored Procedures and Triggers are considered obsolete and anti-pattern, and what's a better up-to-date alternative. Thanks!
This is a great guide but I'm very disappointed on your comment about stored procedure being obsolete. I have worked in many large enterprise environments and all have used stored procedures. Why? Because tuning a stored procedure that contains joins to 15 to 20 tables is something that a human can still do better than an automated tool.
I think it really depends on your systems architecture. If you are saying you have stored procs that join that many tables together then more than likely you have a monolithic application that shares the same db. In a microservice architecture each microservice owns its own data. You would not need to join 15+ tables.
@@EscobarAdventures That makes sense. Whether we like it or not, not all of us are working on microservices. And considering the years of in-house development that has gone on in the past 20 years, monoliths are still a very common application structure.
I was also taken aback with the comment on stored procedures. They allow fine-grained security controls, whereas you have to have very permissive security when using EF Core.
@@DoorThief Absolutely. To be able to create roles in the database and match them to AD groups ensures Finance are not updating HR and Audit are not creating Sales.
Generally agree with the roadmap, except for the Stored Procedures and Entity Framework part. In my opinion knowing how to work with Stored Procedures can be very beneficial for a lot of tasks and Entity Framework while useful, I would not recommend. You should stay away form it until absolutely necessary. I have seen EF misused every single time and how much performance problems it can bring further down the line once the project is a year or two in development. And so I would recommend sticking to dapper, SQL queries and Stored Procedures instead. While harder and not as user friendly, your future self will thank you for the decision. Never once have I seen a happy Entity Framework story after mid-size project size and a year or two in development.
On a recent project, we decided early on that we would use EF to call Stored Procedures. EF for Data->POCO mappings and SP's for the performance, security and abstractions that they provide.
@@John.Oliver That kind of defeats a lot of benefits EF can provide but still leaves a lot of issues with EF on the table. I can only see this working with a really good team that knows what its doing. But then again, with that kind of team pure EF would work quite well too. Problem is you almost never have a good team especially throughout the project lifetime. Still, I guess hybrid EF is better then pure EF, so good job with that.
If you are following a roadmap to learn, will you be in the position to chose teck stack? A lot of companies use EF, so it's very important to know in your learning path.
@@adriangodoy4610 I am not saying you should not learn it for finding a job (as a developer), I am saying it should not be used in projects from medium size and up, if you care about the longevity and maintenance further down the line (as a lead/architect). Unfortunately many people fall into trap of using EF because it is easy to start with (and use in general), but then later its too late to switch to using something else.
I am at about 30% here. I am not ashamed, though. I do not want to know everything, just what I like doing. The rest will come in time over the course of more projects. Thanks to Nick for getting me into WebApi's and C#. Javascript and Frontend Development does not scratch that 'I want to code' itch for me.
We use Azure DevOps for CI/CD. We use DevOps for almost everything to be honest. Back log through to sprints, git repos, pipelines, releases, wiki, test plans. All under one roof and fully integrated out of the box.
As to the language itself, I would add multithreading as a separate topic. Its often overlooked but quite complex topic and not many tutorials go deep enough on this.
This list is absolutely massive, and that takes away any value it might have. How do you define “learn”? Have heard of it? Can do basic tasks? Understand the ins and outs? I doubt there’s a single person with full and precise understanding of all of this word salad. Jack of all trades, master of none.
@@spoofer9113 Are you a senior backend engineer? If so, how would you learn all the technologies on the list? Do you really need to know three testing libraries and three mocking libraries? As a senior software engineer, I certainly don’t bother learning everything on that list. If I need something, I’ll most likely figure it out along the way. If I change jobs and end up at a place using a different mocking library, I’ll figure it out in a day.
@Kwpolska no not like that. But to know all the concepts related to it. Let's say DBMS, then you need to know set operations, types of dbms, sql, normalisation, indexes, file organisation, Distributed DBMS which is necessary for NoSQL, etc. Nothing should be left of, everything else will be just byproduct of this. That's how you complete backend.
Modern style programming is really good to know and understand, but I would describe that as both functional as well as composition oriented, which both work well together by the way. Moving away from the old inheritance oriented style is important these days. Also important for matching the SOLID principle and related ideas. A clear separation between your pure, immutable code and your code which performs actions, work can also be great. A way of separation of concerns I would even call it. Reducing all loops in C# however still comes with a considerable performance overhead sometimes. And Spans and stack allocations still do not support Linq and other kinds of IEnumerable based higher order functions these days, because those functions depend on heap allocations and therefore have GC load. Zero cost abstractions are not really a thing in the language yet.
In many cases C# 12 is easier, as it got a cleaner syntax. Sure, it's good to know the old ways as well, as you will encounter them. But starting with the modern way to write C# is the way to go.
Hi Nick, great content as always I have been trying to get access to the AWS for C# developers course on Dometrain, but every time I register I never get the email, I use the same email I have for my member area on Dometrain but it does not work. What else can I do to get it? I can pay but I do not see an option on Dometrain to do so
For CI/CD, I think Jenkins is a good selection (I add this comment because Jenkins is not in the roadmap). It is written in Java but it is not specific to Java. It has plugins to integrate with nearly every technology.
I guess it depends on the company you work for. I'm setting up templates for teams to create new applications. Jenkins is in every one of them. At our company, I wouldn't expect Jr to really know it, but mid-level should be able to follow a template. Seniors will probably fix anything left over or handle edge cases. (Leads just need to know someone on the team knows it!) I don't know how many other companies use Jenkins, but where I work it's a "must have".
I don't know personally why its call .Net "Roadmap" its more like .Net Topics... If I start from first topic ( git ) what do I commit if I don't know how to code? IMHO it should start from VS/C# ( types, methods, classes etc. )
I think event sourcing and event stores are getting more and more popular and more usage. Like EventStoreDB and Marten. Also, nothing about system design like event modeling, or event storming, etc.
Great roadmap! but what about bigger architectural techniques/patterns like Domain-Driven Design, Clean Architecture, (Modular) Monoliths, Microservices, etc. ? I think these are very useful as well 😀
I would strongly recommend learning Roslyn for every .NET developer, at least the basics to be able to implement a simple standalone analyzer/code rewriter tool.
Curious on your thoughts on something like OData in terms of REST apis. I started using it recently as a full-stack dev that also writes angular UIs to let me have simple APIs but flexible UIs, mainly things like data grids tied into CRUD operations
I'd add Orleans to that list. I've been experimenting with it recently and am quite happy with the end result. I'll be replacing a bunch of custom code with it.
guys i nead honest reply from developers working in .net technology. Is it worth learning .net in 2024 as per future perspective, will it vanish in few years or should i try into data science or data engineering
No Jenkins? What is the state of jenkins compared with it's alternatives in 2024? Lately I'm not responsible for writing the CI/CD pipelines at work, and, for personal projects, I don't have anything that needs it, but a few years ago I used jenkins on a project and it was really easy to setup and learn it. Recently I gave a quick look into azure pipelines and it felt a bit too abstract on how it works (felt like I don't have much control on how things are build/deployed... but I didn't had too much time to learn it, I may be wrong)
Hey Nick! I heard about you on Reddit and others recommended your C# course for beginners. I tried searching on Google but couldn't find it. Do you still have the C# course for absolute beginners that you can share?
Curious on how you only included API documentation, and not Documentation as a key aspect (as it really is). So I would include some KB product/solution or so.
I been using Azure cloud for some time but I get the feeling I should get some of it's certificates... which one you think I should start with knowing I'm more into dev side or what's the AZ- path to follow?
Can you make a video on how to get a job in big tech companies using dotnet tech stack? I usually observe videos on other frameworks but not .net, kindly make one.
thank you for this video! you got the mail for the road map but it isn't downloadable. great example that the .net mindset will never die. i will stay away from .net...
Hoping that I can help contribute to your C# learning journey! I hope that you enjoy the Getting Started with C# course and I wish you success on your software engineering journey! Big thanks to Nick (the other Nick 😅) for providing this to all of you for free! Excellent opportunity to jump into programming!
This is intimidating. I’m an experienced Windows C# dev, and for 90% of this chart I barely know more than the name and idea of each.How can I ever get up to speed on web dev without spending years?
I don’t think you need to. You’ll learn what you need to know when you need to know it, you don’t need to know everything in advance. Any job listings I’ve seen would only ask for a tiny fraction of this stuff.
If you do any videos on .NET Authentication/Authorisation, I'd very much appreciate it if you could cover SAML auth. It's something I have really struggled with for the last few years as there doesn't seem to be a lot of information available (that I could find, anyway!)
Is the free Getting Started with C# offer over? When I follow the link I see it's $108.89. It would've been a nice one for a colleague who's thinking of transitioning to be a developer.
Hi I think this is too much, is so frustrating, I've spent several years learning and this seems endless. Additionally, when learn something new for several months and come back to the other things you've learned, you feel it has been forgotten, what to do with that? And why not to use mappers?
Great content @nickchapsas 🔥 It's my experience that good developers also need improved Developer Experience, e.g. through VS Code/Rider extensions/plugins.. Would be nice to see your favorites here as well 😊 (incl. Copilot or whatever assistant you prefer)
Yes, but the point is that this roadmap is being presented as relevant for any .NET developer. Nick even mentions he'll skip over those parts that don't apply to everyone (which should also include web stuff imo). I'm not denying that knowing those things could still be useful, but one could also say the same about low level memory management...
Didn't see any mention of 'Bicep' under Infrastructure-as-Code. Was that intentional? I also expected to see 'Application Insights' mentioned under monitoring. Is it worth adding even if not reccommended?
I love this idea of a roadmap and I'll be passing on to my team, thank you! Some things I would love to see added are... Common design patterns: strategy, decorator, etc. Architectures: NTier, Clean, and Screaming Business logic patterns: Transaction script, Active Record, DDD Other: CQRS and Event Sourcing
Learning multiple programming languages would I definitely see as a general roadmap item. Helps to understand things and see things in context. And yes, I would also love to find a Rust roadmap too somewhere. I have become Rustacean too. But it's still a different specialization from dotnet developer. 😂 I see this video for myself as mainly about everything else which is NOT just my favourite programming language, but all about the tools around it. And at least I know that I can still improve several things. So this is really useful.
Huh, I know surprisingly many of those. Not sure I agree with not recommending stored procedures, but triggers are pure evil and should be avoided at all costs. I worked on a system that used them a lot and it was torture.
I really would like to know, is this roadmap as a backend? I didn't see frontend intersection in here. I mean, does .NET really heavily a backend environment. I know there is MAUI and Blazor. But does fullstack engineer is only a bollock created by greedy company.
What is missing? - Bicep for IaC And then the whole idea of understanding networks and www. Basics of TCP, at least HTTP is required knowledge these days.
Get the roadmap: mailchi.mp/dometrain/roadmap2024
I got the email with the link, but clicking it goes to the page, but the part that is presumably the road map says "Restricted Access" and "NetworkError when attempting to fetch resource." That is after a good bit of waiting.
,, ca@
Didn't get the email. I have registered twice
OO
I didn't the email!
As a senior developer, this video helped me a lot to understand the gaps in my knowledge that I need to fill to be ready for a lead role. Thank you so much for the amazing content.
Hi Govind, where do you work? And what is your designation? Is it .Net Developer? I have 5 years of career gap, and I want to start my career into IT. Is it possible that I get a .Net Developer job in MNC after 5 years of career gap?
Did you get an answer RosePainter??@@rosepainting8775
SQL stored procedures are beneficial for managing large enterprise database systems due to their ability to encapsulate complex operations, providing a layer of abstraction. They often offer performance advantages over ORM (Object-Relational Mapping) techniques by executing directly on the database server, which can reduce network traffic and improve execution speed.
Agreed, they are definitely a valuable tool in the box. Combined with triggers and scheduled tasks and you can get a lot accomplished without even opening a codebase. Sadly, many projects overuse them for basic tasks.
I couldn't agree less!
Payroll processing is an excellent example where you have to process payroll for your entire staff. It's expensive to iterate through withing your program. So, a stored procedure is best suited for this case. Also for some heavy computations, I prefer to do them in stored procedure or function and just return the output back to the user.
In summary, a single database call is better as oppose round-tripping for a single bulk operation.
@nickchapsas, kindly revisit this. By the way, this video is top-notch ❤❤❤
@@aweklinI assume the angle Nick is looking at this is encapsulating domain behaviour and business rules in the code base and not in the DB, and only using the DB for persistence. I will use stored procedures for DB maintenance work these days. 20 years ago I used sprocs for a lot more, but these days I don’t I try to keep my domain behaviour in the domain.
It's all about perspective. Using a database in a "classic" way? No objections here. But in the context of growing structures and a purpose-dividing approach like CQRS, it's not really relevant. Since Nick mentioned Redis in his roadmap before, the pattern doesn’t seem far-fetched. After all, business logic really shouldn’t be in the persistence layer, so I think it's only fair to consider this perspective. No hard feelings, guys!
Some things require so much data that it only makes sense to process it in the database before sending it over the network, but it is rare I use them these days.
I wish you could mark which skills are related to junior, which are mid and which are senior, thanks for your great content
That's a great idea actually. I'll see how I can incorporate it in the legend
Should you use another color for each topic and include it as part of the legend? @@nickchapsas
@@nickchapsas I'm waiting
Having in-depth conventional database (=SQL) knowledge is actually very useful these days to fill in the gaps left open by the majority of developers who don't have that knowledge and don't want to bother to begin with. It's a significant competitive edge in the job market.
Cloud is something you have to learn anyway, and so does everyone else. The same goes for modern software engineering practices.
Being able to write an efficient window function or advanced aggregation in one SQL query to replace some convoluted, bloated backend code or worse, ORM DSL code stretched to its functional limits causing a ton of unnecessary allocations is a valuable skill and will earn you the gratitude of your development peers.
Also technological adoption is still a major concern, the more conservative, risk-averse or just plain behind your environment is, the more likely it will be that there is some legacy database with tons of triggers and SPs floating around. It's the COBOL of the 80s and 90's for many enterprises.
Also, i don't see a downward trend in SPs and function usage at all, rather the opposite, as Low-Code and Business Intelligence platforms that are database-centric heavily rely on them.
As someone who is moderately colorblind, could you use more than color as the differentiator between categories? Something like a check for "must know", plus for "good to know", minus/bar for "alternative", and an X for "not recommended" would immediately make the categories clear. As it stands I can't easily differentiate "must" and "alternative" at a glance.
I tried to but the site we are using to generate the roadmap didn't have that option.
@@nickchapsas Understandable. Hopefully something the site can support in the future. Thanks for trying!
You might use Unicode symbols.@@nickchapsas
Ok. I'm 80% there, now I just need to learn what is this "Azure"
hehehe
It is something related with "the internet".
Just a small service. Not confusing at all /s
It's a place where you dump your code.
Something to do with weather I have heard, you know clouds and stuff.
Great idea to do some tutorials about Authentication. This is one thing that hunts me: the more I try to avoid learning it, the more I have to work with it.
Hi Nick, how about Bicep for Infrastructure as Code? 🤔
Thanks a lot Nick. I would be interested to know why Stored Procedures and Triggers are considered obsolete and anti-pattern, and what's a better up-to-date alternative. Thanks!
Cause he saying shit at this point ..
8:36 - Just FYI, Grafana is not a part of the ELK stack :) It's Kibana
You're right, it's the other -ana that I was thinking about
8:32 Where's the part about API SDK Libraries and Task Scheduling?
9:48 There's also a skip
As mentioned in the beginning, some sections will be skipped
This is a great guide but I'm very disappointed on your comment about stored procedure being obsolete. I have worked in many large enterprise environments and all have used stored procedures. Why? Because tuning a stored procedure that contains joins to 15 to 20 tables is something that a human can still do better than an automated tool.
I think it really depends on your systems architecture. If you are saying you have stored procs that join that many tables together then more than likely you have a monolithic application that shares the same db. In a microservice architecture each microservice owns its own data. You would not need to join 15+ tables.
@@EscobarAdventures That makes sense.
Whether we like it or not, not all of us are working on microservices. And considering the years of in-house development that has gone on in the past 20 years, monoliths are still a very common application structure.
I was also taken aback with the comment on stored procedures. They allow fine-grained security controls, whereas you have to have very permissive security when using EF Core.
@@DoorThief Absolutely. To be able to create roles in the database and match them to AD groups ensures Finance are not updating HR and Audit are not creating Sales.
#0 Q's Dee@@DoorThief
Generally agree with the roadmap, except for the Stored Procedures and Entity Framework part. In my opinion knowing how to work with Stored Procedures can be very beneficial for a lot of tasks and Entity Framework while useful, I would not recommend. You should stay away form it until absolutely necessary.
I have seen EF misused every single time and how much performance problems it can bring further down the line once the project is a year or two in development. And so I would recommend sticking to dapper, SQL queries and Stored Procedures instead. While harder and not as user friendly, your future self will thank you for the decision.
Never once have I seen a happy Entity Framework story after mid-size project size and a year or two in development.
On a recent project, we decided early on that we would use EF to call Stored Procedures. EF for Data->POCO mappings and SP's for the performance, security and abstractions that they provide.
@@John.Oliver That kind of defeats a lot of benefits EF can provide but still leaves a lot of issues with EF on the table. I can only see this working with a really good team that knows what its doing. But then again, with that kind of team pure EF would work quite well too. Problem is you almost never have a good team especially throughout the project lifetime.
Still, I guess hybrid EF is better then pure EF, so good job with that.
If you are following a roadmap to learn, will you be in the position to chose teck stack? A lot of companies use EF, so it's very important to know in your learning path.
@@adriangodoy4610 I am not saying you should not learn it for finding a job (as a developer), I am saying it should not be used in projects from medium size and up, if you care about the longevity and maintenance further down the line (as a lead/architect).
Unfortunately many people fall into trap of using EF because it is easy to start with (and use in general), but then later its too late to switch to using something else.
Great Roadmap. Even as a Senior I see much places where I could improve my knowledge.
Informative video Nick!
Any chance you could make the roadmap downloadable to PDF?
What about FsCheck for random generation of property based testing? Is that covered by test data libraries you mentioned already
I am at about 30% here. I am not ashamed, though. I do not want to know everything, just what I like doing. The rest will come in time over the course of more projects. Thanks to Nick for getting me into WebApi's and C#. Javascript and Frontend Development does not scratch that 'I want to code' itch for me.
No mention of Jenkins for CD/CI, I'm thinking of using it where I work but wonder if there's a better alternative now.
We use Azure DevOps for CI/CD. We use DevOps for almost everything to be honest. Back log through to sprints, git repos, pipelines, releases, wiki, test plans. All under one roof and fully integrated out of the box.
We use Jenkins for CI/CD. I don't know how many other companies do.
Nick, I used to be a developer long time ago. So thanks for creating this good roadmap and giving us this big point of start.
As to the language itself, I would add multithreading as a separate topic. Its often overlooked but quite complex topic and not many tutorials go deep enough on this.
Hi nick - how about that mic drop at the end about not using mappers - pls do a video on that 😊
This list is absolutely massive, and that takes away any value it might have. How do you define “learn”? Have heard of it? Can do basic tasks? Understand the ins and outs? I doubt there’s a single person with full and precise understanding of all of this word salad. Jack of all trades, master of none.
Yeah agreed. This is like an entire department
senior backend engineers do try learn all of this one by one, this is how they grow their skillsets.
@@spoofer9113 Are you a senior backend engineer? If so, how would you learn all the technologies on the list? Do you really need to know three testing libraries and three mocking libraries?
As a senior software engineer, I certainly don’t bother learning everything on that list. If I need something, I’ll most likely figure it out along the way. If I change jobs and end up at a place using a different mocking library, I’ll figure it out in a day.
@Kwpolska no not like that. But to know all the concepts related to it. Let's say DBMS, then you need to know set operations, types of dbms, sql, normalisation, indexes, file organisation, Distributed DBMS which is necessary for NoSQL, etc. Nothing should be left of, everything else will be just byproduct of this. That's how you complete backend.
c# functional programming, I think, deserves to be mentioned, but I don't know where
Modern style programming is really good to know and understand, but I would describe that as both functional as well as composition oriented, which both work well together by the way. Moving away from the old inheritance oriented style is important these days. Also important for matching the SOLID principle and related ideas.
A clear separation between your pure, immutable code and your code which performs actions, work can also be great. A way of separation of concerns I would even call it.
Reducing all loops in C# however still comes with a considerable performance overhead sometimes. And Spans and stack allocations still do not support Linq and other kinds of IEnumerable based higher order functions these days, because those functions depend on heap allocations and therefore have GC load. Zero cost abstractions are not really a thing in the language yet.
Should I learn C# 12 or I can stop on something simpler, like C# 8?
You should be up to speed with the features of the latest C# version
In many cases C# 12 is easier, as it got a cleaner syntax. Sure, it's good to know the old ways as well, as you will encounter them. But starting with the modern way to write C# is the way to go.
i signed up to get the road map twice and i get no emails with the content?
I'd like to get a similar detailed roadmap for Java and Javascript frameworks too. Please provide us with each of them.
Hi Nick, great content as always I have been trying to get access to the AWS for C# developers course on Dometrain, but every time I register I never get the email, I use the same email I have for my member area on Dometrain but it does not work. What else can I do to get it? I can pay but I do not see an option on Dometrain to do so
Can you please email contact@dometrain.com
For CI/CD, I think Jenkins is a good selection (I add this comment because Jenkins is not in the roadmap). It is written in Java but it is not specific to Java. It has plugins to integrate with nearly every technology.
I guess it depends on the company you work for. I'm setting up templates for teams to create new applications. Jenkins is in every one of them. At our company, I wouldn't expect Jr to really know it, but mid-level should be able to follow a template. Seniors will probably fix anything left over or handle edge cases. (Leads just need to know someone on the team knows it!) I don't know how many other companies use Jenkins, but where I work it's a "must have".
I don't know personally why its call .Net "Roadmap" its more like .Net Topics...
If I start from first topic ( git ) what do I commit if I don't know how to code?
IMHO it should start from VS/C# ( types, methods, classes etc. )
I think event sourcing and event stores are getting more and more popular and more usage. Like EventStoreDB and Marten.
Also, nothing about system design like event modeling, or event storming, etc.
Great roadmap! but what about bigger architectural techniques/patterns like Domain-Driven Design, Clean Architecture, (Modular) Monoliths, Microservices, etc. ? I think these are very useful as well 😀
is Moq really good to learn with all stuff going on with that right now?
Thank You. What the alternatives for using Triggers (Ex: INSTEAD OF INSERT Trigger ) ?
Your roadmap looks pretty decent. I'd add Coravel in addition to Hangfire.
Great summary, only I personally miss jaeger, helm, dapr and OpenTofu, but cool roadmap anyway!
Do I need to skip all the built library of C# and stay focused on FCL or aka Nuget Package Library ?
Can I ask which tool is used to create this nice roadmap ? Thanks.
I would strongly recommend learning Roslyn for every .NET developer, at least the basics to be able to implement a simple standalone analyzer/code rewriter tool.
Curious on your thoughts on something like OData in terms of REST apis. I started using it recently as a full-stack dev that also writes angular UIs to let me have simple APIs but flexible UIs, mainly things like data grids tied into CRUD operations
Could you explain how a "good-to-know" item might have a "must" child?
I'd add Orleans to that list. I've been experimenting with it recently and am quite happy with the end result. I'll be replacing a bunch of custom code with it.
guys i nead honest reply from developers working in .net technology. Is it worth learning .net in 2024 as per future perspective, will it vanish in few years or should i try into data science or data engineering
Nodatime library is missing
Will there be asynchronous course in the future?
Thanks alot nick for such informative video, It really helped me alot and also the information you provided is really great.
No Jenkins? What is the state of jenkins compared with it's alternatives in 2024?
Lately I'm not responsible for writing the CI/CD pipelines at work, and, for personal projects, I don't have anything that needs it, but a few years ago I used jenkins on a project and it was really easy to setup and learn it.
Recently I gave a quick look into azure pipelines and it felt a bit too abstract on how it works (felt like I don't have much control on how things are build/deployed... but I didn't had too much time to learn it, I may be wrong)
Nick, i want to see how Your previous year went in terms of finishing roadmap :3
Hey Nick! I heard about you on Reddit and others recommended your C# course for beginners. I tried searching on Google but couldn't find it. Do you still have the C# course for absolute beginners that you can share?
Curious on how you only included API documentation, and not Documentation as a key aspect (as it really is). So I would include some KB product/solution or so.
I been using Azure cloud for some time but I get the feeling I should get some of it's certificates... which one you think I should start with knowing I'm more into dev side or what's the AZ- path to follow?
Check out GPS' channel for that: www.youtube.com/@MadeByGPS
@@nickchapsas Thank you! Greetings from Morocco 🇲🇦 💯
I will be on this road map thank you nick
Hey Nick, how can I pay for some of your courses if I can't use any of the available payment methods? Your courses are really cool btw
Can you make a video on how to get a job in big tech companies using dotnet tech stack?
I usually observe videos on other frameworks but not .net, kindly make one.
Have a roadman for a new developer to become a developer 2?
Great content. Thanks.
Do you have any similar roadmap for Front End developer?
thank you for this video!
you got the mail for the road map but it isn't downloadable.
great example that the .net mindset will never die. i will stay away from .net...
Just came to this thought that I should not use mapper. But I am still thinking about how to organize this part of my code in a better way
Hoping that I can help contribute to your C# learning journey! I hope that you enjoy the Getting Started with C# course and I wish you success on your software engineering journey!
Big thanks to Nick (the other Nick 😅) for providing this to all of you for free! Excellent opportunity to jump into programming!
Can you recommend a course to become the senior .net? thank you
Why do you prefer NSubstitute over FakeItEasy?
Hi,Please tell me about the course From Zero to Hero: REST APIs in .NET
Is it net 8?
It’s 7 but nothing changes between 7 and 8
This is intimidating. I’m an experienced Windows C# dev, and for 90% of this chart I barely know more than the name and idea of each.How can I ever get up to speed on web dev without spending years?
I don’t think you need to. You’ll learn what you need to know when you need to know it, you don’t need to know everything in advance. Any job listings I’ve seen would only ask for a tiny fraction of this stuff.
Learning by doing is the best thing to do.
If you do any videos on .NET Authentication/Authorisation, I'd very much appreciate it if you could cover SAML auth. It's something I have really struggled with for the last few years as there doesn't seem to be a lot of information available (that I could find, anyway!)
How about for Junior .Net Core Dev Nick?
Very useful roadmap, thanks a lot
I'd suggest you to encourage people to not only seek high-pay jobs with paths like these (outstanding btw), but going indie too
No blazor or front-end technologies ?
he did say backend
You have a typo "Fire store". Also, no Sentry?
Is the free Getting Started with C# offer over? When I follow the link I see it's $108.89. It would've been a nice one for a colleague who's thinking of transitioning to be a developer.
After the free access to the c# course , this is what i was looking for, thank you!
Interested! 🙂 Could you please let me know what I missed (free C# course)
@@jonathancumini6183 the c# course was free till the end of March if i am not wrong
Hi I think this is too much, is so frustrating, I've spent several years learning and this seems endless. Additionally, when learn something new for several months and come back to the other things you've learned, you feel it has been forgotten, what to do with that? And why not to use mappers?
Great content @nickchapsas 🔥 It's my experience that good developers also need improved Developer Experience, e.g. through VS Code/Rider extensions/plugins.. Would be nice to see your favorites here as well 😊 (incl. Copilot or whatever assistant you prefer)
I find it a bit annoying how Web focused this roadmap is. Therefore a lot of the mentioned stuff makes zero sense for desktop-only applications.
This is a roadmap for .net web development, clearly.
Yes, but the point is that this roadmap is being presented as relevant for any .NET developer. Nick even mentions he'll skip over those parts that don't apply to everyone (which should also include web stuff imo).
I'm not denying that knowing those things could still be useful, but one could also say the same about low level memory management...
Good video, thanks for the info.
Thanks for roadmap, it's really helpful . But when I register on the free C# course in dometrain, it does not send back mail .
Email contact@dometrain.com
Didn't see any mention of 'Bicep' under Infrastructure-as-Code. Was that intentional? I also expected to see 'Application Insights' mentioned under monitoring. Is it worth adding even if not reccommended?
For build automation does anybody use Fake?
I love this idea of a roadmap and I'll be passing on to my team, thank you! Some things I would love to see added are...
Common design patterns: strategy, decorator, etc.
Architectures: NTier, Clean, and Screaming
Business logic patterns: Transaction script, Active Record, DDD
Other: CQRS and Event Sourcing
Do you have a course that allows to learn the entire roadmap? Thanks for sharing.
It took me about 2 years, but I can check everything off now.
Love that all the "free resources" are just links to $100 courses :)
Bited!
Logging : Nlog
Missed or ... [color] ?
I don't see NLog used very much, mostly Serilog and nowadays Open telemetry is getting a lot of traction..
You're doing a great job with this. Thank you for contribution 🔥
I wish we could have a localize price.
Surprisingly, I am familiar with 95% of these topics and consider myself an intermediate.
If a developer knows all these, atleast the green one, he is the entire dev team !
😂
No rust huh? 😅
Learning multiple programming languages would I definitely see as a general roadmap item. Helps to understand things and see things in context.
And yes, I would also love to find a Rust roadmap too somewhere. I have become Rustacean too. But it's still a different specialization from dotnet developer. 😂
I see this video for myself as mainly about everything else which is NOT just my favourite programming language, but all about the tools around it. And at least I know that I can still improve several things. So this is really useful.
Huh, I know surprisingly many of those.
Not sure I agree with not recommending stored procedures, but triggers are pure evil and should be avoided at all costs. I worked on a system that used them a lot and it was torture.
Always informative. Thanx Nick👍
To say stored procedures are obsolete is an utterly ridiculous statement
I really would like to know, is this roadmap as a backend? I didn't see frontend intersection in here.
I mean, does .NET really heavily a backend environment. I know there is MAUI and Blazor. But does fullstack engineer is only a bollock created by greedy company.
I'm surprised you didn't cover LLM frameworks like Semantic Kernel
didn't catch Google Cloud
I think Bicep should also be included
I just spent hours studying Mappers yesterday, then in the very final you say I should not use it 🥴
What about the new MSTest Runner :)
What is missing?
- Bicep for IaC
And then the whole idea of understanding networks and www. Basics of TCP, at least HTTP is required knowledge these days.
Did you missed Schedulers? , Coravel, ...
shoutout to Coravel for sure
Can anyone tell me at what point of progress on this map you can consider yourself a Junior? xd