How to do a technology watch ? - Part 2

Where to learn ?

Published on 18 September 2020

When I started writing this article I did not realize it would be so long so I decided afterwards to split it into three parts that will each talk about an aspect of doing a technology watch:

In the previous article we talked about blog posts and blogging / microblogging platforms. But a technology watch is not only about reading IT news and commenting people posts, it is above all about learning new things. That is why you have to find which medium/resource or combination of media/resources will be more efficient for you to learn from (in fact it depends on what type of learner you are).

Reading

I already talked in my previous article about reading blog posts, tweets ... but these are not the only resources to read. 📚

Documentation is your friend

When you want to learn more about a technology, a framework or a tool the best place to start is its documentation 📄. Because it can sometimes be quite boring to read, documentation is often overlooked unless looking for a specific piece of information. It is a shame because there is so much useful content you can find in a good documentation: concepts to understand, a functionality you did not know, tutorials to do ...

Microsoft's documentation used to be scattered all over the web with lots of different sites depending on the products and the teams building them. So what they did is they built a new documentation platform from scratch to create Microsoft Docs (to know more about it watch this NDC talk) and it is now in my opinion one of the best documentation platform:

  • all the Microsoft documentations are centralized in one place
  • documentation is open source on GitHub for you to contribute to it
  • content is easily searchable and can be bookmarked
  • there is an API Browser to quickly find the API reference you are looking for
  • there are nice little features like downloading documentation as PDF or dark mode 🐱‍👤

If you are not convinced to go and have a look at Microsoft Docs, maybe you will be when I will tell you that some parts of the documentation are interactive. That means some samples of code can be run directly in the browser, for instance the C# code on this page.

Choose which books to read

If you love reading, then grab a tech book to go into a topic in depth 📖. Unless you are only working on preview technologies, it is very likely that someone has written a book on the technology you are working on. They are books about everything in IT and there are also publishers specialized in programming and computer technology topics like Manning Publications, O'Reilly, Microsoft Press, Packt just to name a few. Books published by these kind of companies are written by experts in their field so should be of good quality and allow you to deep dive into things.

The downside of IT books is that technologies are moving fast, so books about a specific technology quickly become outdated. What is the point of spending time reading about .NET Framework 1.0 or Windows XP books (even if the books are wonderfully written) now that we are working in .NET Core 3.1 (and soon in .NET 5.0 🐱‍🏍) and Windows 10 ? I don't say you wouldn't learn anything by doing so but your time would probably better spent learning other things. And there are things that are important whatever the technology, the programming language or the context : writing clean code, be able to refactor code (and especially legacy code), using Agile practices, knowing some design patterns, understanding domain driven design ... Use your favorite search engine and you will find many lists of must-read books for Software developers that talk about these topics. Some of these books have been written 20 years ago and are still completely relevant so my advice is to choose these kinds of books about general software development rather than technology-specific books.

I am fond of reading myself, yet I have trouble reading technology related books. I am motivated at first but I find it hard not to get bored after a few chapters. Reading software books looks too much like work whereas reading should be a fun moment to relax. If you don't have this problem, reading books can be a big part of your technology watch ! And whether or not you do, there is an excellent book about IT and DevOps that I really enjoyed reading and that I can only suggest you to read: The Phoenix Project by Gene Kim, Kevin Behr and George Spafford. If you have not heard of it before it is a novel, hence really easy and pleasant to read, in which you follow the problems faced by an IT manager in a company called Parts Unlimited. There is sequel called The Unicorn Project by Gene Kim that I did not read yet but which is high on my reading list as I find awesome this kind of book that teaches you a lot in a narrative way. If you know other IT novels, don't hesitate to give their titles in comments.

Watching videos

If reading is not your thing then maybe watching software development videos will be a better option for you. Whatever the topic and the format (short or long videos) you will probably find lots and lots of videos 📺 to teach you what you want to learn.

Find lots of content on YouTube

Among all the online video-sharing platforms you can find with technological content, the major one for me is YouTube, not because of its features but because of its diversity and wealth of content. As you can have multiple YouTube accounts linked to the same Google address you can create a dedicated account for your technological watch. Then you use this account to subscribe to all the channels you are interested in order to be notified when a new video is published. Subscribing to a channel is a bit like adding a blog to your RSS feed reader, you will not watch all the videos but you want to be notified about new content in case something appeals to you. Moreover a YouTube channel is kind of a blog with videos instead of articles. Therefore if you know some software developers with good teaching skills and they have a YouTube channel, don't hesitate to subscribe to it.

There are also many channels which are more organization or company channels that can be interesting too. For instance there is a Microsoft Developer channel, a Xamarin Developers channel, a .NET foundation channel and so on. I also liked the fact that some IT conferences organizations upload videos of their talks on their channel. One I particularly enjoy is NDC Conferences channel. Unfortunately I have never been to a NDC conference but their talks are awesome with great speakers and topics so it is nice to be able to see them in replay. Outside channels, in YouTube you can also come across interesting playlists about an IT topic in particular.

Wants Microsoft content ? try Channel 9

As someone working with Microsoft technologies every day, I cannot avoid talking about Channel 9. Channel 9 is a Microsoft community site hosting videos mostly about Microsoft product and technologies. A lot of the content is organized in shows focused on an area like Internet of Things, Artificial Intelligence, DevOps, Xamarin, Visual Studio... Episodes of these shows are published regularly. Usually hosts shows are receiving a different guest in each episode to talk about a subject in particular, which is is nice because these guests are experts in their field. Events (mostly Microsoft conferences) are live broadcasted on the site and talks of these events are available in replay there. You can sign in to the website with your Microsoft account to post comments under videos and subscribe to channels. One thing to know is that most of videos published on Channel 9 are also published on YouTube where you can find them in specific channels.

Get more interaction with live streams

The rise of social networks showed that you don't need anymore a recording studio to make a good quality video. There are now a lot of IT professionals who share their knowledge by live streaming from home when developing software. Watching other developers live coding is one of the best way to improve your development skills. Developers are sharing their thoughts while they are coding and you can generally interact with them and other people watching the stream via chat. It's way more interactive than just watching a recorded video. Many developer advocates are live streaming on Twitch which is a service well known for video game live streaming. So it might be a good place to start if you want to start watching live streams.

Finding the time to watch videos

Let's be honest, watching technical videos take time, a lot of time you may not have. But maybe you can replace one of the many Netflix TV shows I am sure you are watching by a Channel 9 show related to a domain you are interested in. And maybe there are some moments when what you do does not require your full attention and you can watch a technical video in parallel, while cooking or ironing for instance (be careful not to get burned yet 🔥). For me it's ironing, as it is a boring activity I find it nice to be able to learn things while doing it (although if you ask my girlfriend it makes me quite slow at ironing my clothes 🤣). One tip to win a little bit of time when the speakers on a video are speaking slowly is to increase the playback speed of the video to 1,25 or 1,5 (most of the online video-sharing platforms have this feature). Of course that will not work for live streams which is the reason why I don't often watch some: too time consuming.

Podcasts: why not listening to one ?

There is a great offer of IT podcasts if listening to podcasts 🎙 is something you like. IT podcasts are often quite similar to the Channel 9 shows I talked about: they are focused on a domain (Cloud, DevOps, mobile development, ...) and podcasts hosts are receiving a different expert to talk about a topic (technology, framework, language, new feature, ...) in each episode. There many free applications that you can download on your smartphone to search, subscribe and listen to podcasts. I only tried Google Podcasts which does the job but don't hesitate to read applications comparison to find the best application for you.

At first I was quite reluctant to listen to podcasts as I think I am more a visual learner than an auditory learner. Moreover I like to see code and not only listen to someone. But I tried anyway and I have to say some podcasts are really good and even if you don't see code you will hear about frameworks or tools your did not know about and improve your knowledge on a topic. It will never be my favorite way to learn software but I don't mind listening to a podcast episode while gardening 👨‍🌾.

Learning platforms, do not forget them

What are they ?

Trying to answer the question Where to learn ? without talking about learning platforms would be wrong because they are interesting places where to acquire IT skills. So what can I say about learning platforms ? Well they are plenty of them, for some you have to pay a subscription fee whereas others are free of charge. Their content is often a mix of videos and tutorials. They sometimes offer course certificate of completion and often use gamification: the more courses you take the more badges and trophies you obtain and the higher is your level/rank on the platform.

Learning platforms have a tendency to be bought or replaced by other services. Microsoft used to have different web sites that offered training like Microsoft Virtual Academy (with lots of video courses) but they have been merged or replaced by the Microsoft Learn platform. One platform that I really liked was Code School but disappeared when it was bought by another learning platform named Pluralsight. What I found great with Code School was that hands-on training was an important part of the courses which is not often not the case with other services where learning just involves watching videos.

So what learning platforms can I suggest you ?

edX: discover a great open source platform

I like edX which is a Massive Open Online Course (MOOC) provider created by Harvard and MIT and which is both non-profit and open source 🤩. They have courses from a lot of organizations (whether it be top-ranked universities or industry-leading companies) in a huge variety of domains (IT is just one among many). You can take their online courses for free and you only have to pay if you want submit graded assessments, earn a certificate of completion or access archived courses. Microsoft previously offered many courses on edX which was particularly useful to prepare for certifications but it does not seem the case anymore.

Pluralsight: learn from subject-matter experts

I mentioned earlier Pluralsight which offers video training courses for IT professionals. Courses are authored by subject-matter experts that earn royalties depending on the number of people watching their videos lessons. Of course quality of the content depends on the author but Pluralsight courses are generally really good and well constructed. I find convenient the way the content is organized on the website: courses are grouped by path, each path corresponding to a topic, an area or a certification (Microsoft, Google, AWS, ...). You can bookmark a course, follow an author or create your channels to organize the content you are interested in.

I would not rely entirely on Pluralsight to prepare for certification yet it is a huge advantage for revising. It is especially true for Microsoft certifications because of the number of courses authored by Microsoft Most Valuable Professionals. And there are also tests to measure your skills and see your skills gaps for a role. The website is not video training only, since Pluralsight acquired other learning platforms there is also some hands-on training (interactive courses and projects). Interactive courses are nice but there are too few of them and unless you are learning something from scratch you may find them too basic. That is for me the weak point of Pluralsight, not enough content to apply what is learnt during video courses.

Unfortunately all of this content is not free and is even pretty expensive unless your company can offer you a license. You can have one to several months for free (depending on your Visual Studio subscription) to test the platform by going to https://my.visualstudio.com/Benefits. Another tip is to create an account here that give you access to a lot of Azure video courses for free thanks to a partnership between Microsoft and Pluralsight.

Microsoft Learn: learn by doing

Microsoft Learn is Microsoft new learning website launched in 2018. Course modules are categorized by products, roles and levels which makes their content easily searchable. As for Pluralsight, modules are grouped by learning path that correspond to a technology area or certification. The aim of the platform is to provide to people self-paced guided learning about Microsoft products and technologies. In fact modules are divided into short steps which means that whether you have a 10 minutes slot or an 2 hours slot you will be able to learn at your own pace. You can bookmark modules or add it to collections to organize your learning content.

Even if the platform is primarily focused about Microsoft products and technologies, you will find content about other technologies too like this learning path for Python. You will also find interesting tutorials on how to use an Azure service with a non-Microsoft technology, for instance this module about Spring Boot or this one on how to deploy an SPA on an Azure Static Web App. Indeed, Microsoft's goal is to make you use their products: they want to show you that Azure is the "best place for all your applications and data" whatever the programming language or framework your are using. Yet whatever their purpose, the modules are well made and it's nice to find this kind of content on a Microsoft learning platform.

So far from what I told you, Microsoft Learn does not really make the difference compared to other learning platforms. Yes the content is of high quality overall, yes you can track your progress with knowledge checks and achievements (points, badges and trophies) however apart from courses being authored by Microsoft all that is what most learning websites already offer. In fact, where Microsoft Learn really shines is that it's a platform where you learn by doing. Text and videos are still an important part of the learning paths but they are mixed with hands-on tutorials to really understand the concepts seen. Most of the time, tutorials have a context that illustrates a business or technical scenario that could happen in real life, it's not applying something just to apply something. Moreover the tutorials often involve interactive code editing or manipulating Azure resources in Azure Cloud Shell (if you don't know what it is I mention it in this article), all that directly available from the browser which I think is awesome. One thing I have not told you yet is that Microsoft Learn is completely free. In fact it goes beyond that, the platform allows you to have access during a limited time to a free cloud subscription (they call it a "Learn Sandbox") to create and manage Azure resources you use in the tutorials: it saves you from paying the resources through your own subscription or impacting an existing subscription. If you want to learn more about these great features you can read this post.

I would not say that Microsoft Learn is perfect, no learning platform is and there are always things to improve. For instance I think in some areas there are not enough advanced modules. Indeed sometimes we already know the basics of a technology but we need a learning path that teach us more advanced concepts about it and deep dive into it. And a thing I find unfortunate is that Microsoft Learn is not (yet?) open source, which means there is no way to contribute to a course or directly make a pull request to correct a mistake or a typing error. However it is definitely a platform I suggest you to try especially if you are working with Microsoft technologies.

What else ?

Of course there surely are a lot of other awesome learning platforms but these are the ones I use and like. Let me know what are the ones you like in the comments 😃! By the way, the book publishers I spoke of earlier often have their own learning platform with offers combining books and online training. I did not try them myself but they should have interesting content. Anyway, the platform itself does not matter much, what matters is that it allows you to improve your skills.

Summary

In this second article of this blog post series about technology watch, I talked about where and how you can learn new things in IT. We saw you can read documentation and books, watch videos, listen to podcasts and use learning platforms. This is of course a non-exhaustive list of ways to learn but that is a good beginning.

In the next article of this series we will see what does it mean to be part of the community of developers and what it can bring to you in your technology watch.

comments powered by Disqus