Virtual assistants are practically available everywhere these days. Apple’s Siri and the Google Assistant are some of the more popular online personal assistants that have snuck into every corner of our lives.
This article focuses on Amazon Alexa, and how to approach building “skills” for it as a voice user interface (VUI) developer — someone who programs user interfaces, but for devices users interact with by using their voice.
Your title doesn’t have to specifically be “voice user interface developer” to build Alexa skills. Anyone can do it with a bit of know-how!
What are Alexa Skills?
Think of an Alexa skill as a trick you have taught to a puppy. Alexa comes pre-built with many tricks up its sleeve, but it can be taught many more through skill construction.
You can also think of skills as apps. Just as your mobile phone has many apps that customize your interactions with a phone, Alexa “skills” allow users to customize their Alexa.
How do Alexa Skills Work?
If you have an Alexa, try saying “Alexa, what’s the weather today in Seattle?”. “Alexa” is the word that triggers the Alexa to invoke the intent — the request — to search for the weather in Seattle.
The question the user asked is called the utterance. Together, along with the response Alexa gives to the request, is the total Alexa skill. So you can say the Alexa skill is made up of three parts:
ALEXA_SKILL = user utterance + alexa intent => alexa response |
The skill is made up of a vocal command from a user and an intent from Alexa that leads to a response vocalized by Alexa, whether that response is successful or not.
What are Alexa Skills Used for?
Alexa skills are used to customize an individual Alexa with certain abilities. The possibilities are endless: querying Wikipedia, asking about the weather, looking for movie times, or playing a game. These are all apps, or skills, that can be used to make your Alexa more intelligent.
There are currently more than 100,000 Alexa skills available with many more being built every day!
Types of Alexa Skill Models
There are many different types of Alexa skills depending on what it is going to do. This dictates how your skill is going to interact with the Alexa service and what you will need to build.
The Alexa skills usually fit in one of these models:
- Custom Skills. A skill where the developer has total control to define everything, from the utterance to the intent, and the response Alexa gives.
- Smart Home Skills. A pre-built skill that controls smart home devices such as lights, appliances, and thermostats. The utterances used here are called device directives.
- Flash Briefing Skills. A pre-built skill that gives the user’s flash briefing (some sort of content)
- Video Skills. A pre-built skill that gives the opportunity to share video content with the user
- Music Skills. A pre-built skill that enables Alexa to provide audio content to a user
- List Skills. A skill that has a customizable component to it that allows a user to interact with some sort of list-making application
Learning How to Build Alexa Skills
You’ve already started your education in learning how to build Alexa skills just by reading up to this point! Already, you have a high level overview of what an Alexa device is, that there are skills that need to be added to customize it, and what types of skills we can have.
How Long Does Alexa Skills Building Take to Learn?
If you are already a seasoned developer, learning how to build an Alexa skill will take an afternoon or two. It could take a little longer if your JSON, AWS Lambda, or backend skills are a little rusty.
Otherwise, to become proficient, expect it to take a little white if you need to learn how to program a backend using NodeJS, Python, or to learn AWS Lambda.
I would allot several weeks to comprehend Alexa skill building if you are a new coder; however, you could build a simple “Hello World” skill in an afternoon with the help of a tutorial that has code snippets. More complex skills will take longer only because you are learning to program at the same time.
Keep doing the iterations of skill building, no matter how simple — the repetition is good for you!
The Best Alexa Skills Building Courses and Trainings
Here are some of the best tutorials on Alexa skill building. This list is not exhaustive but contains some of the courses that have the highest reviews.
Online Alexa Skills Building Courses
The courses listed below have some sort of fee associated with them. Always extra research to see if you can find a discount/promo code!
Alexa Skills Fundamentals (New 2019)
- Udemy
- Self-paced, 3.5 h of on-demand video
- Prerequisites: no coding required
- $9.99-$94.99 (look for it on sale)
This course is taught by a software architect who’s been working in the business for 30 years. He lectures on the very basics and anticipates that students come in with no knowledge of coding. This is great for those who want a primer on the subject prior to diving deep into programming fundamentals.
Ultimate Alexa Skill Development course: With & Without Code
- Udemy
- Self-paced
- Prerequisites: none for non-coding portion; JavaScript and/or Python for coding portion
- $9.99-$94.99 (look for it on sale)
This course is interesting because it’s divided into three parts: Non-coder building of an Alexa skill, JavaScript building of an Alexa skill, and Python building of an Alexa skill. If you are coming from a non-coding background, this may be a good course for you to get started with because you can get started right away with Alexa. As you learn to code, you can complete the other sections of the course as well!
Free Alexa Skills Building Courses
Alexa for Developers
- Amazon Web Services
- Self-paced, Digital Learning
- Prerequisites: beginner level coding experience
- FREE
In this AWS course, learn how to describe the usage of the Alexa Skills Kit (ASK) — Amazon’s Alexa documentation — to build, test, publish and certify Amazon Alexa skills.
How to Build Your First Alexa Skill: 5 Steps to Get Started
- Jedidiah Esposito, Certified Alexa Skill Builder
- Self-paced, no video
- Prerequisites: Be able to read documentation
- FREE
This is a very basic tutorial that was posted in the Alexa Skills Kit blog on how to create your first Amazon Alexa skill. The tutorial helps to navigate the Alexa Skills Kit documentation, which can be quite overwhelming at first if you’re not sure where to get started. Jedidiah Esposito illustrates the need to ask yourself some very important questions which will determine the architecture of your build.
Learn Alexa
- Codecademy
- Self-paced
- Prerequisites: none
- FREE
Codecademy has created, in partnership with Amazon Alexa, a basic course on how to get started when it comes to building a skill. You will learn how to use the Alexa Skills Kit and AWS to create an Alexa skill.
Be on the lookout for new courses and tutorials. The Alexa Skills Kit can change at any time and it’s important to stay on top of the latest changes.
Online Alexa Skills Building Resources
Program Alexa Skills Easily By Yourself
This is a fairly thorough tutorial on how to get started with building Alexa skills that comes from the company IONOS by 1&1. Be sure that you are getting up-to-date information with any non-Alexa tutorial.
"Career Karma entered my life when I needed it most and quickly helped me match with a bootcamp. Two months after graduating, I found my dream job that aligned with my values and goals in life!"
Venus, Software Engineer at Rockbot
Tutorials and Code Samples
This tutorial provides some assistance for Voice User Interface Developers/Skill Builders of all levels, with links to tutorials and recommendations.
Build an Alexa Multimodal Skill
This second tutorial from the Alexa Skills Kit/Documentation is for progressing Alexa Skill builders who want to learn how to create skills that will work on both visual and non-visual Alexa devices (i.e. Amazon Echo Dot vs Amazon Show).
Should You Study Alexa Skills?
You should learn how to build Alexa skills if you are interested in Voice User Interface (VUI) Development, which involves interaction with an interface where the person uses voice commands.
Remember: a VUI Developer is not just limited to Amazon’s Alexa! This is just one type of device you can use to learn what it means to bring good user experience to customers that use these types of devices in their everyday lives.
Learning how to interact with Alexa by building thoughtful and interactive skills will be just one step in your journey to become a VUI Developer!
Good luck!
About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.