My .NET Developer Roadmap for 2023

Поделиться
HTML-код
  • Опубликовано: 8 мар 2023
  • Give the roadmap a star on GitHub: github.com/Elfocrash/.NET-Bac...
    Check out my courses at dometrain.com
    Hello everybody I'm Nick and in this video I will show you my brand new roadmap for .NET developers for 2023. This roadmap includes everything that a .NET and C# developer should know to excel in their career in 2023.
    Workshops: bit.ly/nickworkshops
    Don't forget to comment, like and subscribe :)
    Social Media:
    Follow me on GitHub: bit.ly/ChapsasGitHub
    Follow me on Twitter: bit.ly/ChapsasTwitter
    Connect on LinkedIn: bit.ly/ChapsasLinkedIn
    Keep coding merch: keepcoding.shop
    #csharp #dotnet

Комментарии • 306

  • @terencetcf
    @terencetcf Год назад +286

    Extra things to consider like: learn how to use the IDE (vs studio, code) or command line efficiently, api client (postman, rest client, curl etc), db client.

    • @Jannism1234567
      @Jannism1234567 Год назад +10

      Definitly an important point in my eyes, as it really can boost the productivity of a developer :)

    • @stefano_schmidt
      @stefano_schmidt Год назад +21

      vs studio can ruin your first impression of C#😁
      (i really know few people that picked another language as their first because of a visual studio)
      Glad we got Rider

    • @NickSteffen
      @NickSteffen Год назад +9

      True, fun tip. Find a laptop with an awful touchpad and spend a couple days coding on it without a mouse. You will learn the shortcuts and hot keys fast.

    • @terencetcf
      @terencetcf Год назад +1

      @@stefano_schmidt sometime you really have to experience a not so good one in order to appreciate the good stuffs 😅

    • @terencetcf
      @terencetcf Год назад +2

      @@NickSteffen or move the mouse to the unnatural side yours

  • @SpaceShot
    @SpaceShot Год назад +70

    I love how this starts with the basics and moves up to being a complete standard of everything that can help your team build, deploy, and maintain complete back end products. This isn't just a checklist of what someone new to coding should know, it's handy for senior and principal developers. I'm keeping this handy.

  • @joshbarghest7058
    @joshbarghest7058 Год назад +63

    I'm honestly shocked as someone entering their second decade in this biz that a lot of junior devs lack sql knowledge. It's super useful in so many situations.

    • @iamnoob7593
      @iamnoob7593 Год назад +4

      Yes , SQL/RDBMS/Postgres is very important.

    • @prasannadahal5512
      @prasannadahal5512 Месяц назад

      SQL is so underrated as a programming language

  • @sourcejosh
    @sourcejosh Год назад +19

    This is a fantastic roadmap. Im embarrassed to say after two decades experience doing windows and web apps, theres a few things on this list I had never heard of. Thanks for clueing me in on what I need to add to my tool belt next.

  • @TheJohndward01
    @TheJohndward01 Год назад +10

    This is so helpful, especially since you've compacted the roadmap. Thank you!!! Also, it would be great if you made some sub-categories for "Understand how the web works" bc it's alot of info in and of itself.

  • @ayanansuman
    @ayanansuman Год назад +1

    I would say thanks to you for your tremendous effort and in flawless explanation. Love your way of doing code and taking approach. ❤

  • @italianmeetschina3001
    @italianmeetschina3001 Год назад +1

    Hi Nick! I have just seen that you started as a passionate L2 player. That's exactly what brought me to IT too! What an incredible journey, sending love from Italy, keep up the great work!!

  • @swharden
    @swharden Год назад +140

    Consider making this colorblind accessible. 1 in 12 males is colorblind and has difficulty distinguishing green from yellow. Using different stroke widths could help differentiate boxes on your chart without depending on color perception. Alternately, Google around for colorblind accessible color palettes. Great video though, and thanks for sharing this updated roadmap!

    • @nickchapsas
      @nickchapsas  Год назад +118

      Great point, sorry for that. It's something I take for granted but I shouldn't. I will take that into account next time.

    • @swharden
      @swharden Год назад

      No worries! As a colorblind person I make this comment all the time ;) I just opened an issue on the GitHub and I am happy to help work toward making this roadmap accessible!

  • @mitsuro3815
    @mitsuro3815 Год назад +1

    Thank you, Nick! I really appreciate your C# roadmap. It's very helpful for me

  • @noelfrancisco5778
    @noelfrancisco5778 Год назад

    Thank you so much for providing this awesome roadmap! :)

  • @hems7431
    @hems7431 Год назад +1

    Great video. Some extra items I recommend like machine specifications, apim/apigee, open api spec, source code generator, circuit breaker pattern with Polly

  • @AndyNeko
    @AndyNeko 11 месяцев назад

    Thank you so much for showing me what to learn! Thank you!

  • @islamAhmed-il6pt
    @islamAhmed-il6pt Год назад

    What a list and what a great video and it's free. Thanks Nick for your effort ❤

  • @kaisersolo76
    @kaisersolo76 Год назад

    Thats a great list. Its highlighted a few areas to focus on. cheers

  • @preneshreeperumal7379
    @preneshreeperumal7379 Год назад

    Awesome list thank you.

  • @dudelkt
    @dudelkt Год назад

    Awesome, Nick!

  • @chandrashekarnaik892
    @chandrashekarnaik892 9 месяцев назад

    Good info thank you Nick

  • @NhatNguyen-yz5tm
    @NhatNguyen-yz5tm 11 месяцев назад

    Thank you, useful for me!

  • @Palladin007
    @Palladin007 Год назад +22

    I think the Liskov substitution principle is quite important and not only good to know.
    I have seen a few times where a derivation is significantly different from what the base class specifies just to make it "work" and that is the beginning of the end.
    Of course this is also related to the other principles that a base class or interface (interface segregation principle) must be written in such a way that you are not forced to make such detours.

    • @colcoomagnumar
      @colcoomagnumar Год назад

      Are you able to give a specific example of this?
      I always struggle with the reasoning behind this principle... I don't think I've knowingly violated this principle, but I'm not an amazing developer where all my class hierarchies are perfect. Ie, I've never thrown an exception on a method because the class isn't supposed to do it (like the classic "fly" on a duck class).

  • @rajuchandnani3034
    @rajuchandnani3034 Год назад

    Thanks!

  • @havendv
    @havendv Год назад +4

    I would add NSwag to the library's SDK API as a means of automatically generating REST client code based on the OpenAPI specification

  • @Mazzphysics
    @Mazzphysics Год назад +1

    Very nice video. Nice to see some alternatives to look into, never heard of Refit or ReSharp before. Always used Flurl which I think is amazing already.

    • @Mazzphysics
      @Mazzphysics Год назад +1

      Also personally would remove Stored Procedures from the list :D. I have rewritten SO many stored procedures into Dapper sql queries it's unthinkable. So much easier to handle. :)

  • @peterassanfulkwame852
    @peterassanfulkwame852 Год назад

    Wow! Thanks for this detailed info 😊… wish this is a PDF

  • @jorgeiferreira
    @jorgeiferreira Год назад

    This is an outstanding Roadmap. I am a C# developer, in many years I have interactions with most of the topic mentioned on this roadmap.

  • @lordicemaniac
    @lordicemaniac Год назад

    loved your Flurl pronanciation :D

  • @ebektasiadis
    @ebektasiadis 4 месяца назад

    Hello Nick! Thank you for your really insightful video. Currently trying to relocate to Swiss where people mostly use .NET / Java Spring Boot! 🙏

  • @godfather7695
    @godfather7695 Год назад

    thank you very much!!!

  • @MrFallout86
    @MrFallout86 Год назад +75

    I've been devving for the past 15 years, and I must say that is a very neat and comprehensive list. Well done man.
    One important thing missing in my opinion is Domain Driven Design and it's correlation with microservices.
    One very important, frequently overlooked lesson is, learning the principals well enough, to know when it's ok to break them.

  • @novaploca2080
    @novaploca2080 Год назад +1

    Cool thanks

  • @user-gq6dq3ld7m
    @user-gq6dq3ld7m 6 месяцев назад

    Perfect! I am a mid .NET developer and this list, I believe, will help me conquer the next level.

  • @mslucass
    @mslucass Год назад +1

    I hope you will do some Entity Framework video's in the future. And some Blazor. Or in a course form. I'm not a real developer but do it next to several other things. And I'm learning a ton from all video's and the courses, of which I have done them all.

  • @Gabriel-tp8tj
    @Gabriel-tp8tj Год назад

    Damm i wish to have a roadmap like this for PHP and Java.. good job !!!

  • @pilotboba
    @pilotboba Год назад +13

    Couple of things I would add:
    To the API section an Orange Carter.
    To the ORMs section FluentMigrations (especially if you are using Dapper since EF has in-built migrations)
    If you aren't doing strictly APIs I think learning the Post/Redirect/Get pattern is a good idea too.
    One category that I think it good to know is the discriminated union options (emulators???) like OneOf or ErrorOr and/or Korikovs CSharpFunctionalExtensionsLibrary that has Maybe and Result implementations.

  • @niksatan
    @niksatan Год назад

    Perfect!

  • @CreativeB34ST
    @CreativeB34ST Год назад +1

    Some thing I would do differently:
    - .NET CLI: "Good to know" in stead of "Must know" (I've never used this, except in CI pipelines)
    - Version Control: add "Azure DevOps Repositories" as "Good to know".
    - EFC: Lazy loading, eager loading, explicit loading as "Good to know"
    - Logging: add Nlog as "Good to know"
    - Task scheduling: Quartz seems to be another popular one
    - Perhaps add a section for general things like DDD and CQRS.
    - Could also maybe add a section for "project management" with tools like Trello and Azure Boards.
    - Maybe even a section about documentation with conventions and tools for building proper wikis.

  • @jorikajorika
    @jorikajorika Год назад

    Hey nick! excellent video! Thanks man as always you're true pro! Your videos have only one flaw and I wish u will be able to make it up. A hair in the soup thing is you not using Visual Studio:))) And I wonder where are u from? I wasn't able to determine your accent...

  • @joshparsons5795
    @joshparsons5795 Год назад +5

    Absolutely agree with this. Chat GPT was a huge bonus but you really need to give it the right context and understand what you're asking it for in order to get a good answer!

    • @trevorscrews5372
      @trevorscrews5372 Год назад +1

      And, you also need enough knowledge to identify when it is confidently wrong. I like it for brainstorming, but I can't trust it for real implementations yet.

  • @user-xs7iv9cl3v
    @user-xs7iv9cl3v Год назад

    Hey Nick, Thank you for your awesome content. Could you share your thoughts on Raven Db. Do you think is it a powerful database?

  • @cdnkarasu
    @cdnkarasu Год назад +5

    I would include Azure Functions under Task Scheduling, not sure what AWS equivalent is but likely should be there as well.

    • @nickchapsas
      @nickchapsas  Год назад +2

      AWS has Lambda with EventBridge

  • @raggardy
    @raggardy Год назад

    I'm getting there 👌

  • @thomasttrr
    @thomasttrr Год назад

    Thanks

  • @sergiik2168
    @sergiik2168 11 месяцев назад

    I'd like to add Autofac to Dependency Injection section, because it one of the most popular DI containers in the .NET world

  • @DiomedesDominguez
    @DiomedesDominguez Год назад

    as a matter of just sharing my experience, I've been using Bing since the end of 2009 and so far I still preferred instead of Google: too much ads or not the answer I was looking for.

  • @chaschannel8253
    @chaschannel8253 Год назад +9

    Great video! Not sure I 100% agree with Stored Procedures and Triggers leading to bad code. These are tools that have their place and in the hands of users who know how to use them in the correct scenario/context they can be quite powerful and effective.

    • @nickchapsas
      @nickchapsas  Год назад +5

      The problem is that there is no correct scenario because there is always a better alternative

    • @yunietpiloto4425
      @yunietpiloto4425 Год назад +5

      @@nickchapsas Im also curious about this. What’s the problem of abstracting your application from the raw sql code and putting it in the sql server instead of hard coding it in your c# code with dapper, while at the same time you get a few perks of using stored procedures like security, precompilation, optimization and maintainability.
      I’m legit curious about your posture on stored procedures being a “bad alternative” by nature.

    • @user-bx2er2zx5u
      @user-bx2er2zx5u Год назад

      @@nickchapsas Nick , make video about this topic . I want to hear your opinion.

    • @nicolaseckell9691
      @nicolaseckell9691 11 месяцев назад +1

      The problem about not using store procedures is that relational databases tend to increase on complexity (more joins, more columns). Thus, store procedures perform better than ORMs on these scenarios. This may not be your case, but enterprise projects and more over legacy projects tend to have SP for retrieving data quickly

    • @QaudaffyAzmi
      @QaudaffyAzmi 8 месяцев назад

      Agreed. One of our complex query process in our enterprise app require thousands line of code in a single SP. We've tried other options and SP is the better choice!@@nicolaseckell9691

  • @da3dsoul
    @da3dsoul Год назад

    I haven't heard of half of this stuff. I guess I've got some stuff to look up. Thanks, man! PS. I'm so used to American spelling in tech that when I saw Authorisation, I was like huh....oh duh

  • @juhairahamed5342
    @juhairahamed5342 Год назад

    Good explanation

  • @min11benja
    @min11benja Год назад

    Thank you, what would you recommend for the front end? A frameworks like Vue, Angular, or React? Something else? Blazor?

  • @darrellgamble00
    @darrellgamble00 Год назад +1

    Great video by the way. As an ex Microsoft employee I know I am showing my bias but you did not mention Azure Active Directory which fits many more use cases in the Authentication and Authorization space than Microsoft Identity. I am guessing I will have to get caught up on more of your videos to understand why you appear to avoid much of that space as I myself will be spreading my wings a bit more. Congrats on your channel's upward mobility. You are a powerhouse and I look forward to seeing where you take your brand.

  • @peltiervideos
    @peltiervideos Год назад +20

    The only comment that caught me off guard was not using Stored Procedures. I would love to hear your thoughts on that in a video. Obviously, every use case can be different but how do you manage the performance of large databases without them?

    • @nickchapsas
      @nickchapsas  Год назад +46

      They are an absolute no-no in every company I worked for that wasn't dealing with legacy software. Maybe worth a video?

    • @APlatypus40
      @APlatypus40 Год назад +8

      ​@@nickchapsas performancewise it's still (if done right) the best solution and allow fine tuning like no driver does. But it requires SQL knowledge and understanding of execution plan to make it right.

    • @diligencehumility6971
      @diligencehumility6971 Год назад +1

      In real world companies, you ever only see stored procedures in old old old projects, and they are a pain in the but. You are much better off learning ORM's like Dapper and EntityFramework, or whatever ORM is good/popular for your language

    • @brianedwards30
      @brianedwards30 Год назад +12

      I've experienced more pain trying to use EF than I have with stored procs to the point that I hate EF with a passion that burns hotter than a thousand suns. I've only worked for companies that used stored procs though so I would love an explanation.

    • @OblivionOth
      @OblivionOth Год назад +7

      The company I work for uses store procs to not put the raw SQL CRUD Operation in the code base. We have a rule that no logic is allowed in store procs unless there are massive preformance benefits. I would love to hear your thoughts on this topic.

  • @abhaybindal4512
    @abhaybindal4512 6 месяцев назад

    Also please make a video on what topics in C# we have to learn and practice as a developer.
    Like what topics really gonna help us to improve my coding standards and efficiency of coding & building logic faster. 🙏🙏

  • @JohnOliverAtHome
    @JohnOliverAtHome Год назад +2

    Very suprised by your stored procedures comment.
    There is not a single library (EF, NHibernate etc) that can write as performant Sql syntax as a Sql developer, especially for complex queries. To implement a large complex object can require 10+ table joins. When one understands the underlying structure of the tables (read indexes and foreign keys), it is quite simple to create sub-queries to filter data first, then using the outer query to retrieve additional non-filtering data. This allows the query optimiser to use multiple indexes on a table.
    I've just come off a new project where the first decision we made was to use stored procedures as they allowed us to tune Sql performance.

  • @andrewshearer4965
    @andrewshearer4965 5 месяцев назад

    Hi Nick - looking forward to seeing an updated roadmap for 2024 if you're planning one soon? Be good to see some security-focused aspects included such as Github Advanced security (codeql), Sonar, or Zap etc make their way into your list :)

  • @cdarrigo
    @cdarrigo Год назад +1

    Please do a video on configureawait!

  • @Freakhealer
    @Freakhealer Год назад

    You could do a video on how you start a project from clr and version control etc, once asked for a simple project demo, this wouldn't be for the project itself, more like "welcome to my crib" i have this use that yada yada, a run down from start to finish using clr since you say is important and wtv else you do

  • @TolstyakFree
    @TolstyakFree Год назад +1

    It's definitely nice roadmap, tell you as a developer with 15 years of experience.

  • @tipsybroom2
    @tipsybroom2 Год назад +11

    Hi Nick, I'm a Developer for about 20 Years. In my last interviews as a Senior Developer there were questions about Stored Procedures, GraphQL, gRPC, Dependency Injection, Response Caching, MediatR. There are so many companies that use a lot of niche products and have legacy code. Especially the last company said my knowledge was not deep and wide enough. o__O Feel like an idiot.

    • @Nemcoification
      @Nemcoification Год назад +2

      Don't. You're never going to learn everything and every company you will work at will use a ton of tech you have no or very little experience with. If there are things that pop up everywhere, focus on that and make sure you have some sort of learning plan. Otherwise just make sure you have some level of understanding of what certain tech is and why it could be used. Like I've never used GraphQL and gRPC professionally, but I have pretty good understanding of what it is and how it can be used. It's not difficult to build that knowledge with just few hours of reading blogs, etc. Don't let 'em get in your head :)

    • @vadim6684
      @vadim6684 Год назад +3

      Survivorship bias and Peters effect could take place here.
      You should not take into considerations opinions coming from someone's arrogant egoism.
      May be your experience makes you a Frontend heavy developer, so you don't need to go deep in backend, because you prefer to focus on things in which you are an expert.
      If you don't know some technology deep it is not a problem. How you do relate with that is what actually important.
      I would aware what was the problem with the interviewer if he was a team-lead and allowed an offensive behavior to people he saw in the first time - it would not become better in future.
      Other sample is when you worked as developer in companies where responsibility segregation was at high level. Then you are allowed not to know how to configure CI/CD servers or even pipelines, or how to configure a specific message queue server, because you did not do it, you designed solutions and wrote code within your scope.
      I hope I delivered this message clearly. Sorry, if my grammar suffers, thanks 😄

  • @niklasullsperger2193
    @niklasullsperger2193 Год назад

    Hi, with which applications have you built the structure of the roadmap?

  • @user-iw1st2lh7h
    @user-iw1st2lh7h 4 месяца назад

    cool video)

  • @AlFasGD
    @AlFasGD Год назад +8

    In my workplace, we heavily rely on stored procedures for the system that we're interacting with, in an Oracle database. However, it was built as early as 2008, so it could simply be legacy code that we unfortunately don't have the time to get away from. Though I will say that using stored procedures for some tasks might not be too terrible, because the advantage is that you can deploy bugfixes without deploying the entire project. Would like to get some input from other systems and projects, in case this one is completely out of touch with the modern reality.

    • @yunietpiloto4425
      @yunietpiloto4425 Год назад +2

      I work in a startup and we use stored procedures when we have really complex queries that require either lots of joins, or access to other databases through linked servers connections, etc. We decided to abstract that from the actual C# code and rely on them for that task. I know some devs hate on them but I guess it’s like everything in life that has its own pros and cons

    • @AlFasGD
      @AlFasGD Год назад +1

      That's what I would imagine stored procedures still find grounds for. Outside the database, you lose a lot of performance because of the constant querying, whereas stored procedures let you be free to perform the queries you need knowing that it'll be highly performant.

    • @vasimhanna-salem659
      @vasimhanna-salem659 Год назад +3

      Same here; we use stored procedures becuase of the sheer number of left and inner joins for so many tables; they preform better; I just don't see how not using them would make things better; not to mention being able to tweak queries and deploy them right a way

    • @nicolaseckell9691
      @nicolaseckell9691 11 месяцев назад +1

      I was about to declare the same as people here. Store procedures are quite important in enterprise environments cuz data tables are long enough to be done like that

  • @lalithmahadev5027
    @lalithmahadev5027 Год назад

    @nickchapsas In Azure cosmos Db which Api's do you recommend to learn and are the most important ones?

  • @harran9962
    @harran9962 Год назад

    Would be cool to add marks on side that say JR Devs pos here, then senior here. That way to give idea of what level needs what. Great video tho, thx

  • @KhauTek
    @KhauTek Год назад

    hello, i was just wondering what do you prefer rather than stored procedures. i also dont use them but i have heard when dealing with millions of requests then stored procedures should be the way to go. could you help me understand that a little bit more. thanks for everything. have a great day

  • @tarunpahilajani
    @tarunpahilajani Год назад

    @nickchapsas please can you include the resources where to learn these all skills from that much more helpful

  • @ocnah
    @ocnah Год назад

    When in your opinion should you use a Background Service or Periodic Timer over an Azure Function TimerTrigger?

  • @Altmighty
    @Altmighty 7 месяцев назад

    Hey, thanks for the overall roadmap.
    Can you do like "minimum" requirements in order to apply for a jr job as a .net dev ? the "absolute must have"

  • @alexandruchirita5780
    @alexandruchirita5780 Год назад +6

    What I would add is the evolution of concepts like this:
    Don't repeat yourself (DRY) -> Write everything twice (WET) -> Avoid hasty abstactions (AHA)
    And I would add also maybe some Object Oriented Programming concepts, maybe Test driven development (TDD), Domain driven design (DDD) or even some functional programming concepts to understand purity of a function and no side effects while writing code.

    • @damnboy1472
      @damnboy1472 Год назад

      Test driven development - definitely just a thing to read once, there is a good book about it, but writing tests before coding itself is nasty. If it's a startup you won't have time for this. Better write code and test it after.

  • @Najumsoft
    @Najumsoft Год назад +1

    Dear which tool you have used for this tree like diagram , please share the name of that ? , your kind input will be highly appreciated , thanks in advance

  • @jamesmussett
    @jamesmussett Год назад +14

    I appreciate your channel doesn't really focus on Frontend (Blazor, Winforms, WPF, MAUI etc...), but do you have any plans on covering those technologies in the future?

    • @nickchapsas
      @nickchapsas  Год назад +8

      Indirectly. There is something coming soon :)

    • @mariocamspam72
      @mariocamspam72 Год назад +4

      @@nickchapsas WinUI3 😈

  • @forytube4998
    @forytube4998 Год назад +1

    C# is powerful when doing oo, without follow strictly Liskov substitution, easily to abuse oo inheritance.

  • @robertlenders8755
    @robertlenders8755 5 месяцев назад

    Seems like a fine list to be a web-focused C# developer but as a general .NET developer I'd expect some knowledge of IL and CLR internals. Also knowledge of another .NET language like F# or one of the .NET dynamic languages like IronPython.

  • @phreakadelle
    @phreakadelle Год назад +1

    Nice roadmap! I have been watching a lot of your videos lately. Great content! :) One question regarding NoSQL databases: Did you try out RavenDB at some point?

    • @nickchapsas
      @nickchapsas  Год назад

      I have. Just not good enough for the systems I'm building

    • @simonbirrer916
      @simonbirrer916 Год назад +4

      @@nickchapsas That would be interesting topic for a video, I can't image which requirements you couldn't make work and IMHO it allows the most architectural freedom with (filtered) replication, ETLs, Subscriptions and even adds attachments, counters and time series support . In addition it has the best testing story of all DBs as a .NET dev 😉

    • @GlebWritesCode
      @GlebWritesCode Год назад

      ​@@nickchapsascurious - can you share more? Is it DB features, operation side or something else?

  • @ralphmaasgmailcom
    @ralphmaasgmailcom Год назад +1

    Hi Nick what is the name of the tool you used to create this tree?

  • @alexandernava9275
    @alexandernava9275 Год назад

    Love this list, but I would have put AI as must know now. I don't mean trying to make it wriite 100+ lines, but how to use it to write small snippets of code that you don't know as well. It is more powerful than a lot of beginer devs I have known over the years. So if you are a beginer it will make you so much better.

  • @abhishekjadhav9289
    @abhishekjadhav9289 5 месяцев назад

    Hi Nick, Thank you for the sharing your advise. I have a question on this. As you said Stored Procedures are not must have as they are not considered to be followed as good practices, however, you mentioned Dapper ORM is a must have. But I guess Dapper uses sql stored procedures or queries to do crud operations. Shall we use Dapper ? Or Dapper has another alternative to using SQL Stored Procedures ?

  • @xanhxanh5097
    @xanhxanh5097 Год назад

    Hey Nick I think some basic azure stuff like Azure AD would be good to know

  • @RM-14js
    @RM-14js Год назад

    hey nick you have a image of the roadmap to download like last year?

  • @maal1994
    @maal1994 Год назад

    after that you can code, yet you should be humbly aware that it is still dangerous half-knowledge, and that can be dangerous in the productive. So I agree with @InkFPS that gaining a deep understanding of how things work could be the roadmap for 2024+, optimally in parallel with a job as a junior developer, because theoretical knowledge is one thing. The ability to apply this knowledge in practice to real problems can only be gained through daily practice. Maybe then you'll make a profit someday.

  • @Sergio_Loureiro
    @Sergio_Loureiro 8 месяцев назад

    I am surprised you didn't say anything about micro-services, mapping and Angular. The last is front-end, but here job postings are requiring it very much.

  • @joker21ro79
    @joker21ro79 Год назад

    Do you use a tool to generate these roadmaps or sample something like photoshop?

  • @ideamanideaman8631
    @ideamanideaman8631 Год назад

    Maybe design patterns can be added under the solid title. sorry if I miss it

  • @DomainDrivenDavid
    @DomainDrivenDavid Год назад

    I am in the middle of your unittest course, where can I find the downloadable content for the unittest course?

  • @DeepakSharma-dv8rw
    @DeepakSharma-dv8rw Год назад

    Great roadmap! I have been watching a lot of your videos lately. Could you please let me know what software you used to create the Roadmap? Thanks

    • @curtmantle7486
      @curtmantle7486 Год назад

      I wondered the same and investigated the GitHub repo. It seems to be a Mind Map created in MindMeister.

  • @darrellgamble00
    @darrellgamble00 Год назад

    I must have missed a video where you stated why Liskov's sub principle has fallen out of favor. How do you protect from common generics issues without it?

  • @dcuccia
    @dcuccia Год назад +7

    Late to the conversation, but I might suggest one thing missing: Python. C# is a grown-up, professional language and my favorite for development. But at the rate the industry is adding ML and IoT, I'm finding it essential to be able to work between C# and Python. Over and over in data science applications, I need to learn what has been prototyped/scripted in Python and then "engineer" it in C#. And with MicroPython, there's now a growing need for interop skills at the CPU/microprocessor boundary. I'm finding I can translate more and more of my C# structures and code to MicroPython and have shared definitions/contracts/etc.

  • @kushzei
    @kushzei Год назад +2

    Did you skip "Streaming" Category? I was really interested in that one!

  • @Dimon24021993
    @Dimon24021993 Год назад +7

    Hi, Nick. Could you change the colors for the Must know and Good know branches? Because color-blind people and their varieties could not recognize differences. I have 3 more people with the same problems in my circle of friends. And we can't (or it is difficult to) determine its color.
    If you decide to add some symbol for each - it will be extra solution)
    Thanks for your videos and researches :)

  • @AnkitMishra-pt2br
    @AnkitMishra-pt2br Год назад

    Which course will you recommend to start with c# and Dotnet.
    I want something from scratch to complete.

  • @tryagain6148
    @tryagain6148 Год назад +1

    For somebody that tells me that the "no no stored procedures" and chooses "postgres" as being a better engine makes me wonder based on what the recommendation was done...

  • @pasha5760
    @pasha5760 8 месяцев назад +1

    its for middle or senior? i work few years, but know and use just half of that. So i middle or still junior?
    Thank you that shared your mind)

  • @vincentotieno9197
    @vincentotieno9197 Год назад +1

    Hi, I am an experienced developer and I continue to gain more knowledge through your videos. Kindly add your courses to Udemy. My employer will pay for me to take them.

  • @ramious76pj
    @ramious76pj Год назад

    FYI the Bing ChatGPT won't provide full code samples. It will only give example snippets now. If you ask for a full sample it says how its the responsibility of the developer to know how to code. So if you want a larger code sample you may want to stick with ChatGPT.

  • @RENAUDADAM
    @RENAUDADAM Год назад +10

    Hey Nick! Awesome video. I would love to know more about why you think Stored Procedures lead to bad code and bad practices.

    • @nickchapsas
      @nickchapsas  Год назад +28

      Maybe a good idea for a video?

    • @RENAUDADAM
      @RENAUDADAM Год назад +1

      @@nickchapsas I think so!

    • @reikooters
      @reikooters Год назад +2

      Having your SQL queries in stored procedures is good for performance because the database server will cache query plans and statistics for the query. But in my opinion I don't think they're worth it and that's because of version control and code maintainability. When the queries are in your code, you can track changes like you would any other code change in your git repository. Also, if the schema changes on some table (e.g. a column renamed) and you need to go and update everywhere the table is used, it's easier to just ctrl+f in your code than try to query the database to find and update the stored procedures. Also, I think it's easier in general for development when making changes to a system or building new features as the modified queries are in your application running on your computer rather than in the database, unless I suppose if you were to have your own copy of the database on your machine. Lastly, there is software out there that will help you do version control on the database itself, but never tried any as they look expensive, and rolling your own doesn't work very well (I've tried).
      Edit: One more thought I had - when you're actually reading code especially if written by someone else, you'll have to go to the database and look at the stored procedure to know "what does that do/how does it work" when you see a stored procedure being executed.

    • @nickchapsas
      @nickchapsas  Год назад

      SQL queries inside or outside stored procs generate identical execution plans and they are cached in the same way.

    • @reikooters
      @reikooters Год назад +3

      @@nickchapsas My understanding was that plans and statistics were stored/kept in the database for stored procedures, while adhoc queries are only cached in a pool and will be eventually removed from the pool after enough different queries being run - but I'm happy to be wrong. I will have to research that. In any case I'm not using them.

  • @andreybiryulin7207
    @andreybiryulin7207 Год назад

    NLog is quite comparable to Serilog in popularity, so it is probably a must too

    • @nickchapsas
      @nickchapsas  Год назад

      I've never seen it used in anything but legacy projects in the past 8 years

  • @lordmetzgermeister
    @lordmetzgermeister Год назад +1

    An important one if someone wants to become a *professional* developer - learn how to TALK ABOUT IT.
    If you know how to do stuff but can't put it into words, not many will be able to properly appreciate your abilities and won't employ you.

  • @JajangNurjaman-ee1rs
    @JajangNurjaman-ee1rs Год назад

    Any idea where to learn each topic mentioned?

  • @pablocom
    @pablocom Год назад

    Should this be updated with ChatGPT in the "learn how to search for solutions"? or maybe generative Al deserves it's own section? 😅

  • @alexpaskal8345
    @alexpaskal8345 Год назад

    very good roadmap, but i'd add Docker there. imho it becomes more and more useful even for juniors

  • @athanasmb
    @athanasmb Год назад

    Respect Νικολα.

  • @Al-mansur1999
    @Al-mansur1999 5 месяцев назад

    what application did you use to make these diagrams?

  • @Titanium228
    @Titanium228 Год назад

    I would suggest NLog as an alternative to Serilog