How to Become a Highly Employable C# Developer in 2024

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi and welcome everyone I'm Gavin law C is without doubt one of the best if not the best programming language to learn in 2024 some of the core benefits of learning C is that c is backed by Microsoft it's consistently rated as one of the top five most popular programming languages in the world it is a versatile and cross-platform programming language programming in c is a skill that is in huge demand meaning C can be the basis for an exciting challenging and lucrative career in programming and Technology it can however be daunting when first attempting to navigate the vast landscape on your journey to reaching your goal of becoming a competent and highly employable C developer in this video I'll provide you with a basic guide on how to go about learning this powerful and versatile programming language in 2024 so that you can reach your goal of becoming an employed and highly sought after C developer there is always huge demand for competent C programmers the key to having relevant marketable C skills is to not only know the C language but also know the Frameworks Technologies and Concepts associated with being a c programmer the greater your depth of knowledge of the C language and the broader your knowledge of associated Frameworks and Technologies means potentially greater career opportunities and greater remuneration potential the list of Technologies discussed in this video is not an exhaustive list and is only intended to give you a basic idea of how to progress forward in becoming a competent modern sear developer please let me know in the comments section any Technologies you feel I should have mentioned in this video let's start with the basics I remember many years ago I went on a snowboarding trip to France with some friends at this stage I'd never been snowboarding before and my friends were all experienced snowboarders the first day I could sense the bravado in the air and I naively followed my friends to what is known as a black run so in snowboarding each run is associated with a color which denotes the level of expertise you need to have to competently snowboard down the relevant run so for example beginner level is denoted by the color green so it is called a green run you have a blue run which is for intermediate level snowboarders and then you have the black runs which are for experts which I certainly was not so I had no business being at the top of that black run I turned to my friends and said something that I won't repeat in this video and then proceeded to what's known as the nursery slope and for a few humiliating hours I fell about while kids who could clearly snowboard before they could walk ramped over my head and made fun of Me In fairness they weren't really making fun of me it just felt like they were I persevered and eventually I was linking my turns and snowboarding quite competently I then progressed to the blue run where all my friends were at that point and after a while I was receiving great feedback from them so the moral of the story is it is extremely important not to be afraid to start small and slowly progress with learning C at your own comfortable Pace the only thing you cannot do is give up so don't overwhelm Yourself by biting off more than you can chew as it were find a learning structure that works for you and then routinely learn and practice coding using CP don't for example try to write complicated code before you know the basic syntax of the language so firstly practice basic code examples to learn the basic syntax of the C programming language syntax my advice is to start with code that simply outputs some basic text to the screen while learning basic cop syntax it is best to stay on the nursery slopes as it were until you are comfortable with the basic C Concepts and syntax associated with those Concepts so the way to do that is to base your C project on the console app project template while learning the basics of C it doesn't really matter what version of net you start with although I would advise you that while you are learning the basic C syntax that your code is compatible with the Net Framework so start with learning the old syntax in C before learning the latest syntax new in for example net 6 7 and 8 here is a list of the beginner Concepts and syntax to First learn in C this channel has many videos that can provide you with the details so I've included in the description below links to appropriate tutorial videos related to each of the cop Concepts listed here so firstly understand. net and write code that outputs basic text to the console screen C data types understand the difference between value types and reference types C data type conversion C variables C strings C readon variables and consts C operators C if statements C Loops C arrays C switch statements c eums c methods C structs C classes C exception handling also you should learn the basics of debugging your code very important once the basic syntax of the C language is understood I would then gain an understanding of the principles of object-oriented programming these principles fall under these categories encapsulation inheritance polymorphism and abstraction once you have gained a basic understanding of object-oriented principles I would then recommend progressing to the more advanced features of the C programming language C delegates C events C generics async await task Link at attributes and reflection I would then progress to learning one of the popular relational database Management Systems as well as transact SQL for querying and updating relational databases you could learn for example postgress MySQL sqlite SQL Server as a c developer I think it is essential to learn SQL server and transact SQL and the basics of relational database design at this point you will know a lot about the C programming language and Associated technology you'll know a lot about the syntax used in C as well as the associated programming Concepts you'll also have a great understanding of how to design a relational database and how to implement and query a SQL Server database you are now ready to progress toward learning one of the many Frameworks with which you can create different types of net applications perhaps the best framework to learn after you are familiar with creating console applications is the wi forms framework used for creating desktop applications on Windows platforms it's a great framework to learn for beginners because you can create sophisticated uis user interfaces without learning any additional Technologies like for example zaml which you would need to learn if you were learning the WPF framework if you are an aspiring net web developer you will need to have a good understanding of additional Technologies before you can leverage an asp.net core project template to create real world web applications in order to be a web developer you must at the very least know these Technologies HTML 5 CSS version 3 and vanilla JavaScript once you have a good knowledge of HTML 5 CSS and vanilla JavaScript you are then getting closer to your goal of becoming a c andet web developer before creating a real world web application using one of the asp.net core Frameworks you should also learn an object relational mapping technology or or so that you're able to handle data related functionality from within your server side code I recommend learning EF core for this purpose so at this point you know C syntax and related Concepts SQL Server including relational database design and transact SQL how to leverage a net project framework like win forms to create a desktop application with a sophisticated UI basic client signed web Technologies like HTML 5 CSS version 3 and vanilla JavaScript EF core to handle database functionality on the serice side so now you're at a skill level where I would recommend that you learn the fundamentals of Blazer know the difference between Blazer web assembly and Blazer server and know what signal R is learn the new features that have recently been made available with the official release of net 8 namely service side rendering and streaming rendering understand how you are able to mix your render modes within one project by using the new blazer web app project template so at this stage I would recommend challenging yourself to create a real world web application like for example a basic shopping cart application I've developed a course for creating a Blazer shopping cart application on net 6 please check out this playlist if you'd like to take this free course where you'll build a shopping cart application using C on net 6 in this course we use the Blazer web assembly project template to develop the front-end part of the application for the backend part of the application you'll learn how to create a restful web API component using the web API project template how to create restful web apis and.net is another essential skill to learn as a modern C developer you should learn both how to create web apis using the traditional MVC architecture as well as minimal apis with the release of net 8 which is the latest stable release of net a new project template for Blazer applications is shipped this project template is called Blazer web app I would recommend that all new web applications be developed based on the Blazer web app project template because using this project template you can leverage all the best features available in the other asp.net core project templates and more the other asp.net core project framework that I would recommend you learn is the asp.net core MVC project framework I have created a course that uses the asp.net core MVC framework to develop a real world web application please check out the relevant playlist at this URL knowing multiple Frameworks broadens your employment opportunities simply put it makes you more marketable as a c developer once you have built a real world application on your computer you should certainly gain a knowledge of source control the source control utility that is almost essential to learn is of course GitHub you'll want to know how to use GitHub for Version Control as well as how to deploy your application saved to your GitHub repo directly to the cloud you'll also want to learn at least the basics of azure the number one most popular Cloud hosting service is AWS but in my opinion Azure is better to learn for C developers who are new to cloud services I recommend Azure in this case for two reasons Azure can help prevent you from wasting money on unnecessary cloud services Azure is developed and managed by Microsoft so it is by far the easiest option for net and C application hosting in this video we have only discussed real world applications that leverage a monolithic architecture a monolithic architecture is a unified unit that is self-contained and independent from other applications at this point if you have gained an appropriate amount of knowledge of the Technologies discussed in this video you're certainly a highly employable C developer but let's say you're in a company that leverages globally distributed applications in the cloud in order to participate in creating an application that leverages is the microservice architecture you'll need to understand the associated Technologies and concepts related to the microservice architecture the microservice architecture is an architectural style that structures an application as a collection of services that are independently Deployable and Loosely coupled with the microservice architecture you are definitely going to want to learn Docker but Docker is also something I'd advise you to learn even if you are not developing applications that Leverage The microser architecture Docker allows developers to work in standardized environments using local containers which provide your applications and services so you can use docka for example to easily create independent development and testing environments on your local machine there are many Associated Technologies with microservices like for example service measures kubernetes for microservice orchestration and database caching Technologies like redus that would be important to know if you were to specialize in working on applications that leverage microservices but this video has been created for the purpose of providing a basic Pathway to becoming a competent employable C developer we'll look at specializing in the development of micr service-based applications in an upcoming video having said that redis is a great technology to know in general I would also recommend learning no SQL database Management Systems like mongod DB or Cosmos DB so we could go on for many hours discussing Technologies associated with being a c developer but I think we have covered the main technologies that where if you have sufficient knowledge and skill working in these Technologies you'll certainly be highly sought after as a modern C developer other notable net Frameworks are for example WPF Windows presentation Foundation which can be used as an alternative to Wind forms for creating desktop app applications with WPF you will need to learn a different architecture to win forms that includes a technology known as zaml which is used for the front-end design and front-end implementation aspect of your WPF applications net Maui multi-application UI with net Maui you can develop crossplatform mobile and desktop applications from one code base note that you are also able to leverage the unity game engine or gdau game engine to create sophisticated 2D and 3D games using C I'd like to conclude this video by saying that you could of course get employed as a junior developer much earlier on in your progression toward becoming a fully competent C developer for example it is possible to get employed as a c developer even if you only are able to create a basic desktop application using win forms essentially you just need to of course firstly grab the attention of a potential employer to do this I recommend creating sample code on GitHub that you can make available to a potential employer you should of course also ensure that you are able to explain your code to your potential employer should you manage to get an interview in order to convey to the potential employer that you have full comprehension of any sample code that may come up in your interview another recommendation is to earn free online certifications I had the pleasure of being involved in a collaboration between Microsoft and free code camp in the creation of the foundational C with Microsoft developer certification please see this video that I presented on the free code Camp platform for further details you can find the relevant video at this URL I hope you've enjoyed this video and I hope it helps you on your journey to becoming a competent modern C developer if you like this video please hit the like button and please consider subscribing please also ring the bell so that you'll be notified of future content please feel free to share this video with anyone you feel May benefit from its content if you'd like to thank me by buying me a coffee you can do this through my buy me a coffee web page at this URL it will of course be greatly appreciated I love reading your comments so please feel free to engage with me in the comments section I've recently joined X formerly Twitter so it would be great if you followed me on X my username is @gavin lon digital I hope to see you soon thank you and take [Music] care
Info
Channel: Gavin Lon
Views: 14,816
Rating: undefined out of 5
Keywords:
Id: oTvg8vWCiKk
Channel Id: undefined
Length: 17min 47sec (1067 seconds)
Published: Fri Jan 05 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.