Technology continues to play a greater role in everyday life, but those who weren’t exposed to computers or programming languages in school are finding they have two options: learn new skills or get left behind.
One night, analytically minded Joachim Horn was studying at the kitchen table while his younger brother Sam cooked pasta. Sam had always been the creative type, someone who made things with his hands.
Joachim was envious of Sam’s culinary skills — he wished he could cook. Joachim told his brother this, and that’s when Sam put everything in perspective: “Anyone can cook if they have the right ingredients.”
If Joachim had replaced “cook” with “code,” he’d be expressing a common sentiment. Despite living in a technology-reliant world, most adults have little, if any, practical knowledge about computer programming. Unlike some of today’s students, many adults were never exposed to these skills in school, and consequently, are daunted by what they perceive as an insurmountable task.
That’s not to say that beginners should be discouraged from diving into the complex worlds of SQL, Java, C++ or any other programming language. There are plenty of available resources to help new coders. Committing to learning a new skill is the first step.
After his eureka moment over pasta, Joachim Horn sought to take his brother’s wisdom to heart and give everyone the right ingredients to code.
“I wanted to arm people with the power and tools to invent and innovate,” he said.
The aptly named SAM Labs was born.
While Horn wanted to help encourage more kids to pursue science, technology, engineering and mathematics (STEM) careers, he also focused on creating a product that combined software and hardware skills and that people of all ages, genders, races and ability levels could use intuitively.
The SAM smart construction kit that combines SAM blocks and the SAM Space app accomplish all of these goals at once. The Bluetooth-connected blocks each have a different component, such as lights, temperature sensors, buttons and more. The blocks communicate with one another through the app, which allows users to drag and drop the blocks on the screen to connect them in the physical world —and create anything from a pinball machine to a SAM smartwatch.
SAM, Horn explained, is a fun way for kids and adults to tinker and become familiar with the skills they’ll need to code before they delve into learning the actual languages. As beginners, people can see how their actions with the blocks are translated into code before working up to the customization stage.
Cracking the Code
Adam Benzion, CEO and co-founder of Hackster.io, an online community for learning hardware, said beginner tools and kid-oriented smart toys were essential when he was first navigating the world of programming.
“Code.org is still great for this,” he said. “I also have this book called Python for Kids by Jason Briggs that I found pretty useful and simple to follow.”
“Coding is hard,” Benzion said. “It’s not something you just learn. It requires daily work and dedication.”
He said there’s a misconception that anyone can do it.
“While it’s principally true, some people are more wired toward it than others — when in doubt, practice more. The gist is that while doable, it’s not easy.”
Engage the Community
Programming can certainly be intimidating at the outset, but those who have learned the skills strongly suggest going to events, taking classes, joining clubs or accelerator programs, asking questions on Reddit and Stack Overflow, and otherwise connecting with the maker community.
Coding, it turns out, is not the solo activity some might think, said Aaron Tersteeg, Internet of Things Evangelism Team Manager at Intel and someone who spends a lot of time hanging out with makers and developers.
“The number one mistake is thinking you can do it all on your own. Reach for help sooner than you think you need to,” said Tersteeg.
“My biggest advice is copy, copy, copy,” he continued. “Find examples. Don’t be afraid to break things. Learn from others. People in the community are very generous with their time. Go to meetups where these people congregate, post to forums and don’t be intimidated by someone’s experience — most are more than willing to help people get started.”
Getting started might be the biggest uphill battle, but learning any new language takes a lot of practice — even if that language is more 1’s and 0’s and tech terms than mastering rolled R’s. “Commit to it on a daily basis versus when I get to it,” Benzion said, one of the main things he wishes he’d known when he first started coding.
But as anyone who’s tried to commit to a daily exercise regimen on January 1 knows, keeping to a strict schedule isn’t always conducive to sticking with something long term. That’s precisely why Tersteeg recommends focusing on passion projects in order to maintain motivation throughout the intensive learning process. He uses a familiar metaphor to explain why.
“Think of it as cooking: You go to a restaurant and have an experience. Then you come home and want to recreate it, so you go online. You look at recipes to help you emulate that experience,” Tersteeg said, suggestion beginners check out a Maker Faire for inspiration.
Skills for Life
Indeed, the biggest benefit of sticking with the process is the real-world pay off.
“If you want to think more clearly about the world and have explicit structure in your thinking, these skills offer a logical approach to thinking about the world,” said Tersteeg. “You learn more sophisticated tools to be able to make life decisions.”
“If you have a recipe that feeds six people, but you want to feed two more people, you need to increase your recipe,” Tersteeg said. “Being able to do that translation is very similar to software development.”
It’s just like hosting a dinner party — possibly one with pasta as the main course.