5
9 Comments

Best place to learn Advanced C#?

Hello!

Blender Guru is an extremely well known content creator that aids a wide range of skill levels for 3D/2D Digital Graphic artwork, design,modelling, etc

Brackeys is in his part the same but for Unity game development.

(I'm sure there's more to mention, but that's besides the point)

I wonder who has to same level of quality for C# development but not only for beginners.
I can find countless guides/tutorials/youtubers creating content for people with little expierence and how to create a "Hello World" application. Does anyone have any recommendations where I can learn more advanced tips about C#.
I've set a modest goal for myself that I want to become a pro in C#, having respect for the 10000hour rule. So about a hundred hours in I still have a long way to go. I'm looking for some key advice that can help me reach my goal in a more productive way and potentially find some likeminded peeps... :)!

My first post hoping I can get some valuable feedback!

Cheers to everyone and stay safe!

on May 15, 2020
  1. 2

    I'm not sure of your employment situation or goals, but for me the best way to become a top notch developer (in any language) is to get a full-time job as a developer. I'm a .NET developer, and it wasn't until I got a full time job that my skills really took off. There is no substitute for putting in the hours, day after day. If you can find a place that has a collaborative environment where you can learn from senior devs with years and years of experience, then all the better.

    Otherwise I would suggest to start working on projects, deep dive into things you don't know about or fully understand. Get frustrated, feel like quitting but ask questions and learn from your mistakes. I think tutorials and video courses can only take you so far. When you first start programming you think it is all about learning the syntax. Which at first, it is. But you will soon learn that being a competent developer is more about design, patterns, code readability, frameworks, etc.

    Most importantly, stay positive and have fun. I can recall the early days at my first job, leaving work sometimes and wanting to cry. Feeling overwhelmed and unsure if I could do this. This isn't easy stuff, if it were everyone would be doing it. But if you keep at it, one day you will realize that you "got this"....then being a developer becomes really fun. Good luck on your journey!

    1. 1

      Thank you for your inspiring post.

      I currently work in the airfreight business. Not all too exciting.
      I would love to work as a developer but I'm afraid no one will hire me at this current stage.

      Working on projects as you mention is definitely my intension! I actually already have a decent project in mind , one that I created at work when I was bored to increase efficiency by at least 50% with the ability to track/edit/delete/analyse data.
      Will be recreating that program that I originally made in VBA/EXCEL into C# which should allow me MUCH more freedom.

      I hope to have a working version without the next 1-2 months, one that I might be able to share here on the forum for some feedback...

      I have lots to learn but these few comments I received are very helpfull, will be coming back to this post many times in the future.

      Thank you for your time. if anything else pops up , let me know. I'm eager to learn!

      Cheers mate

  2. 2

    I can highly recommend the tutorial videos from Mosh Hamedani, avaliable on his website: https://codewithmosh.com/courses or on udemy. He has a beginners, intermediate and advanced course. If you're on a budget, then udemy might be better due to always running deals.

    Another one is look for 3D Buzz, they closed down but all their content is avaliable for free.

    1. 2

      Hi Nick, cheers for your reply, I've actually already completed a course on uDemy, (maybe i could'eve mentioned this in my post) https://www.udemy.com/course/complete-csharp-masterclass/, it was great start! Ill check out Mosh & 3D buzz very soon.

  3. 2

    Sadly I'm not sure if there is a one stop shop for becoming a top notch c# dev.

    However a really good place to learn is https://exercism.io/ also its a good idea to become a tutor there to see the exercises ppl submit from the ones you already did, discus code and discover new ways of doing things.

    1. 1

      Hi Neal, appreciate the tip, we definitely check it out !

  4. 2

    Hi straxx, there is a nice course on edx which I did and thought was good https://www.edx.org/course/programming-c-microsoft-dev204x-3

    There are some key areas to focus on if you want to get good at c# and .net in general. You have to understand that the language is one thing but then there specialism's such as asp.net, blazor, or uwp (check out avalonui I did yesterday)

    For the language focus on writing clean readable code. Understand that functional programming is becoming more if a thing.

    Get to grips with delegates and events, get to grips with linq and understand that ienumerable isn't the list or array until you to list them (lazy loading). Understand what action and func are. A key area is asynchronous programming, parallel and async aren't the same.

    Learn about reflection and have a go at using a DI container I recommend autofac. Next have a go at writing a small app I recommend something your interested in, if you can't thing then a to do list app is great.

    In the app let it persist data to a json file, or a database (look into the repository pattern). Do it single threaded at first then see if you can make it better with async. Don't give up, but don't beat yourself up if its hard and your doing a small app, appreciate this stuff is hard and teaching yourself is hard too.

    Look into unit testing with nunit, which is why you would use autofac and interfaces. Try and write clean understanderble code.

    Have a look at clean code by rob c martin. Watch some NDC conference videos on c# and modern c#.

    When you get a bit board of c# look into f#, ultimately it will make you write better c#

    Good luck

    1. 1

      This is amazing, I will come back to your comments and effectively follow up on all your points step by step.
      Really do appreciate it. Thank you.

  5. 1

    I really like this project. Currently I'm working with my new project of blender reviews and I'm using this advance service. You can see here my detail https://bestblender2021.net/