Emerging technology has reached new heights. Virtual and augmented reality, machine learning, robotics, the Internet of Things… there’s so much potential out there right now. The great news is that it is also getting easier and easier to learn about these areas. Rather than sit on the sidelines, why not keep up with emerging technology and get involved? Here are my tips on where and how to start learning about emerging technology.
Start With What You Know
Here are a few examples of ways you can bring your existing knowledge into emerging tech:
Microcontrollers and the IoT
Want to start building some simple robots or connected devices using things like Arduinos and Raspberry Pis? Here are a few ideas for jumping off points:
- Arduinos (C) — Arduinos are the stepping stone to a whole lot of exciting IoT creations! The Arduino language is a set of C/C++ functions, so if you’ve had any experience with those languages, you’ll have a headstart!
- pySerial (Python) — There’s also a way to control Arduinos using Python.
Virtual and Augmented Reality
VR and AR are both incredibly exciting areas in emerging tech that can be a whole lot of fun to build projects for! There are a few options for starting points using your existing skills:
- Unreal Engine (C++) — Another way you can build VR and AR applications is using the alternative game engine to Unity — Unreal Engine. It has a visual coding option so you can get away without much actual coding at all, but if you’ve got C++ experience, you can use that too.
Image recognition is one small but very fun part of giving your next project some smarts! There are APIs out there that’ll help you bring this to a project with ease:
- IBM Cloud (Node, Go, Python, Java, Ruby) — Similar to Clarifai, IBM Cloud’s visual recognition service can do some incredibly smart things too.
- Google Cloud Vision API (Node, Python, C#, Go, Java, PHP, Ruby) — Google has their own image recognition library!
There are a whole lot of services and APIs out there to try out machine learning concepts. The image recognition ones above are part of the picture but there are options that can be more broadly trained.
- scikit-learn (Python) — The scikit-learn open source series of tools which many use as a starting point to learn. If you know some Python, it could be worth a try!
- ML.NET (.NET) — If you’re a .NET developer, ML.NET could be the option for you!
Conversational apps, smart speakers and chatbots
There are a whole bunch of different services for this including Dialogflow, Rasa, Amazon Lex, Microsoft LUIS, Wit.ai and more. The two I often end up referring people to are Dialogflow and Rasa (that’s not to say the other options aren’t worthwhile!):
- Dialogflow (Node, Python, Java, Go, Ruby, C#, PHP) — Google’s Dialogflow is their recommended way to make your own conversational apps (known as Actions) for the Google Assistant and Google Home. I’ve got my own early access course which I’m migrating into an e-book on building cross-platform conversational apps using Dialogflow.
- Rasa (Python) — This is an open-source option for making a conversational app. Rasa can be useful if you want to build a solution where it all runs on your own servers.
It goes without saying, there are a whole lot more alternatives to the ones above. If you’ve had any experience with others, feel free to leave suggestions for other readers in the comments!
Online Resources Are Your Friend
There are a whole lot of resources online where you can learn a whole lot without needing to go to university or pay thousands of dollars.
- SitePoint — Of course, we’ve got articles on a bunch of the topics above, as I linked to earlier!
- QUT Robot Academy (free!) — There’s so much here for beginners to learn about robotics. It’s a must if you’re looking to get into this space.
- edX (free!) – edX has a whole range of online courses from universities around the world, available for free (or a small fee if you’d like to earn a certificate for your work). They’ve got courses on a range of emerging tech areas.
- O’Reilly (variety of prices) — O’Reilly has a bunch of e-books and videos on a range of emerging tech topics. While they cost money, they can be super valuable resources if you’re keen to learn.
- A-Frame School — This interactive course on building WebVR with A-Frame is from the team itself. The A-Frame docs are pretty good too.
- Unity Tutorials — Unity have their own tutorials that are pretty great for getting a grip on how to develop on their game engine.
- Unreal Academy — Unreal also have a whole lot of tutorials on their game engine!
Look at Other Projects for Inspiration
If you’d love to get into emerging tech but you can’t think of what to make, there are a bunch of sites out there that showcase projects from the community — often with a bit of info on how they did it.
- Hackster.io — Developers can submit their projects to Hackster to share their experience, and can enter contests to win prizes too.
- Hackaday — The team at Hackaday feature different projects found on the web each day. They find some very neat stuff!
- Make — Make write their own articles on a range of emerging tech.
- Maker Share — Make’s own platform for the community to share projects.
- Instructables — This site has a whole bunch of guides on more than just emerging tech, but sometimes you can find some interesting emerging tech projects here too.
These are just a few ideas on how to get started learning emerging tech — there are more resources and approaches out there. My hope is that this gives you enough info to start your exploration!
If you do make something cool using emerging tech, leave a note in the comments or tweet at me (I’m @thatpatrickguy). I’d love to see it!
PatCat is the founder of Dev Diner, a site that explores developing for emerging tech such as virtual and augmented reality, the Internet of Things, artificial intelligence and wearables. He is a SitePoint contributing editor for emerging tech, an instructor at SitePoint Premium and O'Reilly, a Meta Pioneer and freelance developer who loves every opportunity to tinker with something new in a tech demo.