The C# Developer Path

Let’s do some more tracking on my last post “Why I write C#”. In this post, I outline the learning and skill paths available to C# Beginners and possibly links to get started. Most beginner developers ask me – hey Dara, after learning this C#, what can I do with it? My usual reply is – give yourself a project/projects to work on, this way you get to learn beyond just the fundamentals and as my manager would say – you set yourself up for success. You can check out https://www.hackerrank.com for some warm up challenges. I from time to time go here to brush up. Let’s go into what we have for today.


Topic/Platform

Link(s)

C# Fundamentals

https://channel9.msdn.com/Series/CSharp-Fundamentals-for-Absolute-Beginners
https://www.pluralsight.com/paths/csharp

https://www.packtpub.com/application-development/c-7-and-net-core-cookbook

https://www.packtpub.com/application-development/beginning-c-7-hands-advanced-language-features

HTML & CSS Fundamentals

https://channel9.msdn.com/Series/HTML5-CSS3-Fundamentals-Development-for-Absolute-Beginners

https://www.pluralsight.com/paths/html5
https://www.pluralsight.com/paths/css

JavaScript Fundamentals

https://channel9.msdn.com/Series/Javascript-Fundamentals-Development-for-Absolute-Beginners

https://www.pluralsight.com/courses/javascript-programming-basics

ASP.NET Core Fundamentals

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/

https://www.pluralsight.com/courses/aspdotnet-core-fundamentals

XAML Fundamentals

https://www.pluralsight.com/courses/xaml-getting-started

https://www.pluralsight.com/courses/xaml-jumpstart

Xamarin.Forms Fundamentals

https://www.pluralsight.com/courses/xamarin-forms-applications-xaml

https://www.youtube.com/watch?v=NP4Gea1j7Ig&list=PLpbcUe4chE7-5t2mlamz6yB0qzAfO5Yln

Xamarin.Android Fundamentals

https://www.pluralsight.com/courses/xamarin-android-getting-started

Xamarin.iOS Fundamentals

https://www.pluralsight.com/courses/ios-xamarin-from-start-to-store

UWP Fundamentals

https://www.pluralsight.com/courses/building-universal-store-apps-csharp-xaml

WinForms

https://www.pluralsight.com/courses/windows-forms-introduction-with-visual-basic

ML.NET

https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet

https://medium.com/machinelearningadvantage/ml-net-is-awesome-heres-why-you-need-to-pay-attention-cdcb19a00782

Microsoft Cognitive Services

https://www.packtpub.com/application-development/learning-microsoft-cognitive-services-third-edition

Here, let me dig a little deeper. As I mentioned in the Why I write C# blog post, there are many tracks you can take and you can see here there’s quite a bit to learn, I didn’t even go into iOT. Let’s pick the tracks/path/stack (or any name you want to give it) one by one Mobile A Mobile Developer using C# can use Xamarin to achieve a lot – either picking the full-native Xamarin.iOS or Xamarin.Android path – or cooler still cross-platform native with Xamarin.Forms. With Xamarin.iOS, you’ll need to learn how to use iOS storyboards for your UI and C# for your business logic (backend code). With Xamarin.Android, axml and C#. With Xamarin.Forms, XAML is your design language – in my personal opinion, quite easy to pick up and C# for all your logic. Of course, if you’re real hard-core, you can use C# code to define your UI elements – sometimes it’s needed. Web A C# Web Developer using either ASP.NET or ASP.NET Core can decide to be backend, frontend or full stack (as they say). And of course, you can mix your C# Backend with a JS Framework like React, Angular, Vue. As a C# backend developer, you’ll most likely find yourself writing services and API endpoints that a front-end service or mobile application or some other sort of application consumes. I mentioned front-end C# developer yes, there are bits of real front end work you can do with a combo of HTML, CSS and JavaScript – and now C#’s fully feature front-end framework Blazor will go GA few days/weeks after this post goes live. Windows Being a Windows Developer is still in vogue most especially in enterprises. There are 3 main options to be a Windows Developer. Windows Forms (WinForms), Windows Presentation Foundation (WPF) and Universal Windows Platform (UWP). There’s the Console also – not sure if that’s really mainstream. Just C# is what you need to do WinForms- do the drags and drops and cool you are. I really didn’t stay much on this so I cannot tell you how awesome it is. WPF and UWP apps I have spent the better half of the past 6 years writing. Knowing XAML as your design language and C# as your business logic, you got a real cool tool under your belt. AI & ML ML.NET doesn’t get enough mentions for the awesome things you can do with it. I have dealt much with it but when I start, I’m afraid I may not be able to turn back. This is here you know Python is not the only ML language you can use. Building AI Services? Microsoft offers a suite of Cognitive services that you mostly need to call via REST and you can use with any language or application you’re building. It’s something really worth checking out. There goes, I hope this was worth your read. See you next time.s