I'm not just a software engineer, I'm also a teacher of software engineering. I feel obligated to share my knowledge with anyone who's in need of it, and, in the process, furthering my own understanding of technology and software engineering. That's why I became and MCT, that's why I'm on Stackoverflow and that's why I'm writing this blog.
I'm constantly looking for ways to make my courses easier to digest and make my classes and presentations more interactive, engaging and overall fun (after all, being a software engineer should be fun). And luckily, Microsoft is more than compliant when it comes to offering up teaching aids and presentation materials (see this or this post about Xamarin workbooks and how useful I think they are).
Well, I've just discovered a great new source for both learning, teaching and presenting — I've come across a Github repository called Technical Community Content. From the description:
This repo includes technical content optimized for the use within Community Events about Microsoft Azure and other Microsoft technologies, and is available to anyone who wants to use it under the MIT License.
So for all of you who are not very well versed in Microsoft-ese, this basically means that these are slides and hands-on labs and demos that people can use if they give a presentation at meetup or any community event. Talk-in-a-box, if you'd like :)
And what's in it? Well, I really suggest you check it out yourself, but in the meantime, here's my breakdown of the content.
More than half of the content is related to Azure,
... to no big surprise. Azure has been one of the flagships of Microsoft in the recent years, and with the ever-increasing number of new services, it is always a good topic at a meetup.
- You have the "classic" topic of IaaS. Being a software guy, I don't really care about infra, but it is good to see how Microsoft has embraced the open-source world, the Linux world and other technologies in general (and not to point fingers, but there are other tech-Giants who still don't play nice with others). The hands-on labs heavily focus on Linux-based VMs, so it is a nice community topic.
- On the more traditional angle, we have some slides for the App Services and a hands-on lab for creating a PHP application in VSCode and deploying it into Azure. Since I've already complained about the Java, I'm not saying anything about the PHP now :)
- And embracing new practices of software engineering, there's a really good overview of Service Fabric, an Azure feature aimed at making it easier to develop, deploy and run micro-services in the cloud. A really good and indispensable resource. Kudos for the sample in ASP.NET Core as well :)
- And the even newer practice of software engineering, that I personally am very excited about: serverless computing with Azure Functions. I know how much time I spend before every project with just setting up the ASP.NET project and setting up the basics. For simple scenarios (of which there are many, since in the 21st century every single thing wants to go through the web) this is a great feature. Sadly, IMHO, there isn't enough documentation and samples around the web for this. This community content is a step into the good direction (btw. the same goes for the Service Fabric).
- DocumentDb, or CosmosDb (I'm not even sure what to call it at this point): This is a very good resource for DocumentDb and even Azure Search. The hands-on lab builds a complete solution that integrates these two. Anyone can shine with this at any tech-meetup. Now sadly, this focuses very heavily on DocumentDb, which is of course not bad (again, I think there isn't enough material out there for this), but I'd like to see the other CosmosDb APIs integrated.
- Azure SQL: I have to admit, this is a weak link in the chain. But hey, the whole thing's open source, so I might go ahead and suggest modifications to make it current (i.e. go ahead and rewrite the thing using Code First, since Microsoft has basically abandoned the development of the EDMX-based features).
And still not over for the cloud:
- You have descriptions about the IoT Suite and Stream Analytics. Check out the hands-on labs for them, especially for Stream Analytics. If you haven't heard about it: it is the service for "data in motion". And boy is it moving fast in the 21st century! I too have a demo brewing around for it, so stay tuned.
- Big data: There are lots of slides and demos for Big data. I'm not a big data guy myself, but I always enjoy a good hands-on lab, just to broaden my knowledge of the field and give me some perspective. Just how an ideal presentation at a community event should be, btw.
And, I saved the best for (almost) last: Intelligent services.
Here, you'll find samples for using Cognitive services and exploring what Microsoft calls Conversation as a Platform — i.e. the bot framework. If you want someone to get hooked on programming, this is what you need. In all fairness, both of these topics have a folder for Practical stuff, and both are empty, but I'm sure it's coming along. And the best part: these actually have the presenter training videos promoted in the description of the repo ready and available. Again, ideal for a meetup of some sort (or to get high-school kids hooked on programming) and I'll definitely be one of the first to check out the practical samples, when they arrive.
And last but not least, here's the stuff that I file under "everything else",
...because I personally am not that interested, but you might be:
- HoloLens: OK, I have to admit, I'm a little bit interested. And if you happen to have one at home, this content will give you a good enough baseline to shine with it at a meetup.
- Web frameworks and Open dev frameworks: Everything that is not (or at least not very) Microsoft related. Angular, React, Python and other stuff that I'm told people like.
- Windows 10: There's some stuff about UWP that I haven't (and probably won't) checked out yet, but there is a folder called "Desktop Bridge - DRAFT". I'm eager to see the finished version, again something that can be used to dazzle people at a meetup (Mario on Windows 10? Tell me you're not interested...).
- DevOps: I'm not really a DevOps guy myself, but if you want to know VSTS a little better, this is a good opportunity. Very detailed demos and description help you create engaging presentation.
- Advanced analytics: For those who like fancy dashboards that display data that you don't understand. I have been to a meetup like that once, fell right asleep :)
- Mobile development: Something that's a clear priority in today's industry and at Microsoft as well (I have to admit, I wasn't very sure until the acquisition of Xamarin). If you do cross-platform development, this is what you need.
So there you have it; the content is there, all you have to do is use it (or, even improve on it). If you plan to host a meetup, check these out for possible topics. If you want to present at a meetup, check these out for possible content — I know I will.