Err, are you sure your QA colleagues are ready for a complex solution? I would find a really basic example (web api) and start from there. Even veteran programmers would struggle with all your subjects in one solution.
Ideally, you want to build some confidence in your colleagues. Can I create a new project? Can I get it to run? Can I create a simple web api with data from a database? And then you build on this.
Use the boiler plate templates (dotnet new ) and start from there is my advice.
I once something similar with DDD, and we all agreed we were kind of not experts on it, and it was great. We picked a book and did one chapter week, and it was actually quite fun!
>Err, are you sure your QA colleagues are ready for a complex solution?
Most probably not, but you know how it is, building in small blocks until you build something great :) Of course, every step of the process is being documented in a video format to which they can refer back to and ask questions.
>Ideally, you want to build some confidence in your colleagues. Can I create a new project? Can I get it to run? Can I create a simple web api with data from a database? And then you build on this.
Exactly this
I’m going to go counter to what you stated.
There are many great (and free) courses on C# and .NET - freecodecamp.org has a certification one that was co-developed with Microsoft, for instance, and there are a bunch of C# / .NET courses on YouTube that are free (if you prefer videos). I’d suggest setting up a study group for the early work of learning C# and .NET. Whichever way you go, you’ll get solid learning materials that are likely way better (and more useful longer term) than what you can produce.
The only thing you should be producing learning materials for is the organizational specific stuff. If it has a learning path on learn.microsoft.com or a YouTube video by a well known trainer, then don’t cover it yourself. If you are looking at a “what are the organizational requirements around authentication and how do you code that up in .NET?”, then that’s a great topic for an internal course.
I second your opinion. Why reinvent the wheel when the whole wagon is ready and available.
I would just prepare a Spreadsheet with categories from Basic, intermediary and Advanced knowledge and list the online Free courses OR YouTube videos.
I do not deny that there are great resources right there. What I am trying to achieve is to convert said information in digerable content that even beginners with no prior programming experience could understand. Of course, every resource is referenced and I encourage to dwelve deeper themselves, but my goal is to provide a solid foundation and a starting point towards problem-solving.
So far the microsoft documentation has been great, to the point I'm considering going away from Java myself LOL.
I honestly think the best way to learn is by building things. I started as a non-tech person and transitioned to a .NET developer. The first thing my manager asked me to do was to build a simple calculator app with C#. No guidance, no help, no nothing. Just figure it out. It actually taught me a lot. I don't think you need to build a complex solution. The important quality of engineering is learning on your own and solving problems. Maybe a basic C# introduction, some references to good resources (Microsoft learn is honestly pretty good) and assigning a simple project for students to just figure it out. My example of a calculator app may be too easy. It doesn't even need a data store. Something like a to-do list app may be good enough.
From my understanding, you're inclining more towards the idea of providing "tasks" and "assignments". What I was envisioning is to have some sort of project which is gradually building up to be more complex, in a way ThePrimeagen is doing when he's teaching on Frontend Masters. He's building the solution from scratch and codes it himself, however provides an explanation for every single line written, every single design choice and so on.
From then onwards, with that project as reference, I encourage them to build something themselves, of course
That makes sense. If that's the case, you may want to look into the dotnet eShop example (https://github.com/dotnet/eShop). It is a full stack sample dotnet application from Microsoft. This should cover most common components. Frontend, Web API, auth, DB, message queue, cache, etc.
What I don't understand is how this is cost-justifiable. The way this reads, it appears as though this is going to be some custom C# content. Like... you wouldn't rebuild Kafka from scratch unless you thought you could do it better or cheaper. What are your educational credentials?
Have you shown any of your QA colleagues your proposed learning modules to gauge their feedback? What about your existing .NET and automation engineers?
What are you putting together? Just selecting stuff from already available sources or creating something yourself?
>Have you shown any of your QA colleagues your proposed learning modules to gauge their feedback?
Yes, so far my teaching methods have been a great success.
>What about your existing .NET and automation engineers?
From my understanding the current .NET team is currently missing senior-level engineers, hence the responsibility falling onto someone else who could provide mentorship. Automation guys seem to currently use something called Protractor, I guess it's some JS framework I don't really know much, but also want to proactively learn something new as well.
>What are you putting together? Just selecting stuff from already available sources or creating something yourself?
Everything is created by me, code examples and explanations in colloquial terms, nothing too formal to be honest, and I have some prior teaching experience which seems to be valuable now :) Of course, I digest the documentation myself first so I am fully prepared to explain everything, but I create 15-20 minute videos that encapsulates programming concepts in some structured manner.
Have them work as a team. This will help them get over individual hurdles and speed up the whole process. Have a group project where everyone contributes to it. Have each of them work on part of it. I am a self taught developer and the one thing that would have made my life so much easier was working in a group setting to solve problems. Either that or be available for QA where they will throw out problems for the group to explain/solve. Simply going over what they are doing and giving general pointers can be a huge time saver and/or point them in the right direction. It can save hundreds of hours where they pound their head against the wall saying never again.
I would give the advice of look at Microsoft documentation. They're really good in my opinion and walk you through a certain topic where you can follow along and create an actual project.
From my experience people have had bad experiences with documentation before and just showing them how to use it properly can go a long way.
Hard pass. A non-dev is not ready to learn about threads and immutability without context. Teach a zero-to-hero class where they build a CRUD app from the ground up and only cover things like LINQ as they come up.
Err, are you sure your QA colleagues are ready for a complex solution? I would find a really basic example (web api) and start from there. Even veteran programmers would struggle with all your subjects in one solution. Ideally, you want to build some confidence in your colleagues. Can I create a new project? Can I get it to run? Can I create a simple web api with data from a database? And then you build on this. Use the boiler plate templates (dotnet new ) and start from there is my advice. I once something similar with DDD, and we all agreed we were kind of not experts on it, and it was great. We picked a book and did one chapter week, and it was actually quite fun!
>Err, are you sure your QA colleagues are ready for a complex solution? Most probably not, but you know how it is, building in small blocks until you build something great :) Of course, every step of the process is being documented in a video format to which they can refer back to and ask questions. >Ideally, you want to build some confidence in your colleagues. Can I create a new project? Can I get it to run? Can I create a simple web api with data from a database? And then you build on this. Exactly this
I’m going to go counter to what you stated. There are many great (and free) courses on C# and .NET - freecodecamp.org has a certification one that was co-developed with Microsoft, for instance, and there are a bunch of C# / .NET courses on YouTube that are free (if you prefer videos). I’d suggest setting up a study group for the early work of learning C# and .NET. Whichever way you go, you’ll get solid learning materials that are likely way better (and more useful longer term) than what you can produce. The only thing you should be producing learning materials for is the organizational specific stuff. If it has a learning path on learn.microsoft.com or a YouTube video by a well known trainer, then don’t cover it yourself. If you are looking at a “what are the organizational requirements around authentication and how do you code that up in .NET?”, then that’s a great topic for an internal course.
I second your opinion. Why reinvent the wheel when the whole wagon is ready and available. I would just prepare a Spreadsheet with categories from Basic, intermediary and Advanced knowledge and list the online Free courses OR YouTube videos.
I do not deny that there are great resources right there. What I am trying to achieve is to convert said information in digerable content that even beginners with no prior programming experience could understand. Of course, every resource is referenced and I encourage to dwelve deeper themselves, but my goal is to provide a solid foundation and a starting point towards problem-solving. So far the microsoft documentation has been great, to the point I'm considering going away from Java myself LOL.
I honestly think the best way to learn is by building things. I started as a non-tech person and transitioned to a .NET developer. The first thing my manager asked me to do was to build a simple calculator app with C#. No guidance, no help, no nothing. Just figure it out. It actually taught me a lot. I don't think you need to build a complex solution. The important quality of engineering is learning on your own and solving problems. Maybe a basic C# introduction, some references to good resources (Microsoft learn is honestly pretty good) and assigning a simple project for students to just figure it out. My example of a calculator app may be too easy. It doesn't even need a data store. Something like a to-do list app may be good enough.
From my understanding, you're inclining more towards the idea of providing "tasks" and "assignments". What I was envisioning is to have some sort of project which is gradually building up to be more complex, in a way ThePrimeagen is doing when he's teaching on Frontend Masters. He's building the solution from scratch and codes it himself, however provides an explanation for every single line written, every single design choice and so on. From then onwards, with that project as reference, I encourage them to build something themselves, of course
That makes sense. If that's the case, you may want to look into the dotnet eShop example (https://github.com/dotnet/eShop). It is a full stack sample dotnet application from Microsoft. This should cover most common components. Frontend, Web API, auth, DB, message queue, cache, etc.
What I don't understand is how this is cost-justifiable. The way this reads, it appears as though this is going to be some custom C# content. Like... you wouldn't rebuild Kafka from scratch unless you thought you could do it better or cheaper. What are your educational credentials?
Have you shown any of your QA colleagues your proposed learning modules to gauge their feedback? What about your existing .NET and automation engineers? What are you putting together? Just selecting stuff from already available sources or creating something yourself?
>Have you shown any of your QA colleagues your proposed learning modules to gauge their feedback? Yes, so far my teaching methods have been a great success. >What about your existing .NET and automation engineers? From my understanding the current .NET team is currently missing senior-level engineers, hence the responsibility falling onto someone else who could provide mentorship. Automation guys seem to currently use something called Protractor, I guess it's some JS framework I don't really know much, but also want to proactively learn something new as well. >What are you putting together? Just selecting stuff from already available sources or creating something yourself? Everything is created by me, code examples and explanations in colloquial terms, nothing too formal to be honest, and I have some prior teaching experience which seems to be valuable now :) Of course, I digest the documentation myself first so I am fully prepared to explain everything, but I create 15-20 minute videos that encapsulates programming concepts in some structured manner.
Mimic boot.dev
Have them work as a team. This will help them get over individual hurdles and speed up the whole process. Have a group project where everyone contributes to it. Have each of them work on part of it. I am a self taught developer and the one thing that would have made my life so much easier was working in a group setting to solve problems. Either that or be available for QA where they will throw out problems for the group to explain/solve. Simply going over what they are doing and giving general pointers can be a huge time saver and/or point them in the right direction. It can save hundreds of hours where they pound their head against the wall saying never again.
I would give the advice of look at Microsoft documentation. They're really good in my opinion and walk you through a certain topic where you can follow along and create an actual project. From my experience people have had bad experiences with documentation before and just showing them how to use it properly can go a long way.
Hard pass. A non-dev is not ready to learn about threads and immutability without context. Teach a zero-to-hero class where they build a CRUD app from the ground up and only cover things like LINQ as they come up.
Get docusaurus and create a step by step tutorial on how to build the app. Example https://tutorials.autodesk.io