Cloud computing is poised to take off in the coming years. To quote Amazon CEO Andy Jassy from an employee email posted on the Amazon Day One blog, “Less than 5% of the global IT spend is in the cloud at this point. That’s going to substantially change in the coming years.”
Developing cloud computing skills will be critical for IT professionals going forward. According to AWS Machine Learning Hero, Alexa Champion, and TED speaker, Kesha Williams, building an Alexa skill is an excellent way for students and professionals to get familiar with the basics of cloud computing.
Williams began coding in BASIC in high school, studied computer science and mathematics in college, and spent over a decade developing Java web applications. She successfully transformed her engineering skills from Java Developer to machine learning by familiarizing herself with artificial intelligence solutions like AWS DeepLens, Amazon Rekognition, and Amazon SageMaker. She also dedicated her entire 2017 spring break into learning about Tensorflow, Jupyter, and Python.
Today, Williams serves as a mentor inspiring girls and young women to pursue careers in cloud computing, artificial intelligence, web development, and voice.
“I use Alexa skill coding to introduce young girls in high schools to coding and artificial intelligence,” says Williams. “It's a really exciting, engaging, and fun way to learn about technology.”
Williams began coding Alexa skills, when she saw her parents communicating with an Echo device.
“My parents didn’t even use caller ID, but yet my mom has this cool tech toy. I'm in tech and I didn’t have it!”.
Williams was intrigued by the possibility of creating intuitive and natural-sounding interactions with voice. She began by coding a meal planner skill called Live Plan Eat. As a single mom, she was frustrated every evening thinking about what to make to cook for dinner, and fielding food-related questions from her daughter. She used the inline editor in the AWS Lambda console to write and deploy Python code. She then used DynamoDBas the backend to store the skill’s data, and accessed the DynamoDB tables using the AWS SDK library.
“When you’re building Alexa skills, you have to use the entire AWS ecosystem to bring that skill to life—services like AWS Lambda, Amazon S3, and Amazon DynamoDB,” she says. “That’s when I realized that voice is a great introduction to the cloud and understood how the cloud revolutionized the way that we build apps, deploy apps, or manage apps.”
Williams uses a three-step process to familiarize her mentees with the fundamentals of developing a voice skill – and cloud computing.
Head over to the Alexa Developer Console to set up your skill, configure its settings and endpoints, and choose an interaction model. In this step, you are building your Voice User Interface (VUI).
[Build your first skill following along these Python samples]
You can either choose to store your code and manage backend resources on a server, or you can choose to build a serverless Alexa-hosted skill. In the latter case, you can develop your skill in an online code editor without leaving the Developer Console, which is powered by AWS technologies.
To learn more about AWS and cloud computing, try creating a custom Lambda function, the business logic of your skill. The function interprets what the user wants, and sends a response back to them.
You can write a Lambda function in a programming language of your choice: Java, Go, PowerShell, Node.js, C#, Python, or Ruby. There’s also an option to use Runtime API for any additional programming languages.
[Find out more about custom Alexa skills as AWS Lambda functions]
This is also the time to learn about database and file storage. Skill builders often choose an Amazon S3 bucket for media storage, and an Amazon DynamoDB table for persisting data to DynamoDB.
After testing and debugging your skill in the Amazon Developer Portal, you can preview it in the Alexa Skill Store, submit it for certification, and review its performance and metrics.
[Learn more about publishing a skill]
To dive deeper into cloud computing, and receive an AWS Certification, explore these tutorials.
“It’s really important to find joy in learning,” says Williams. “When it comes to building a skill, and learning about cloud computing, you will find that the sky’s your limit.”