Just because the ware is hard, doesn't mean it's impossible.
In this episode, we talk about hardware hacking with Charlyn Gonda, software engineer at Google, and Sophy Wong, a multi-disciplinary designer working with wearable technology and digital fabrication.
Ben Halpern is co-founder and webmaster of DEV/Forem.
Andy Zhao is Support Platform Engineer at Forem.
Charlyn Gonda is a coder by day and a maker by night. She's passionate about creating art in between the physical and digital, and deeply believes that practicing creativity can lead to impactful solutions for challenging problems.
Sophy Wong is a multidisciplinary designer whose projects range from period costumes to Arduino-driven wearable tech. She can be found at sophywong.com and on her YouTube channel chronicling her adventures in making.
[00:00:01] What you build and where it takes you shouldn’t be limited by your database. CockroachDB, the most highly evolved distributed SQL database on the planet, helps developers build and scale apps with fewer obstacles, more freedom, and greater efficiency. So you can forget about the database and trust that it just works. Sign up for your forever free database and get a free T-shirt at cockroachlabs.com/devdiscuss.
[00:00:27] Cloudways is a leading edge Managed Cloud hosting platform built for your PHP projects. If you simply wish to focus on your business, Cloudways is the way to go. They take over server management and security and free uptime that you can dedicate to growing your business and acquiring new clients. If you want to give them a try, use promo code, DevDiscuss.
[00:00:48] Scout APM is the leading edge application performance monitoring designed to help developers quickly find and fix performance issues before the customer ever sees them. See why developers call Scout their best friend and sign up for your free 14-day trial, no credit card needed, at scoutapm.com/devdiscuss.
[00:01:37] SW: It was like so much more than putting lights into a shirt. It was like proving to myself that I could do electronics, I could do that, and I could program something. It was like this huge moment for me.
[00:02:03] BH: Welcome to DevDiscuss, the show where we cover the burning topics that impact all of our lives as developers. I’m Ben Halpern, a Co-Founder of Forem.
[00:02:11] AZ: And I’m Andy Zhao, Support Platform Engineer at Forem. Today, we’re talking about hardware hacking with Charlyn Gonda, Software Engineer at Google, and Sophy Wong, a multi-disciplinary designer working with wearable technology and digital fabrication. Thank you both for joining us.
[00:02:27] CG: Yeah. Great to be here.
[00:02:29] SW: Thanks so much for having us.
[00:02:30] BH: So before we get into today’s topic of hardware hacking, which is going to be a lot of fun, let’s get into both of your backgrounds in general. Charlyn, can you start us off?
[00:02:43] CG: For a while now. I started studying computer science and I’ve always been really intimidated by hardware because whenever you’re studying software or when you’re in the software world, it always kind of seems like the hardware side is not your problem. And that’s always sort of intimidated me and like made me feel like not just that it wasn’t my problem, but more like I couldn’t really get into it, but the first microcontroller that I played for this particle. And because they made it easy to sort of understand how your code relates to the hardware and how it becomes physical, that was like the moment of light bulb for me, where I was like, “Wow! Wait, I can touch my code now. It’s great.” Yeah. So that’s kind of how I came into it.
[00:03:37] BH: I’m constantly seeking those types of light bulb moments with all things, hardware and stuff. And I sort of treat these podcasts as ways to find inspiration to finally ask questions I care about personally, about how to get into things. So I’m constantly looking for that myself.
[00:03:56] AZ: And Sophy, what about your background?
[00:03:59] SW: My background is actually in design. I’m a designer and originally I’m a graphic designer. That’s what I studied. I have a BFA in graphic design and I worked as a graphic designer for several years, professionally, and then kind of wandered through different kinds of design. I’ve always been interested in wearable projects like costumes and fashion and jewelry. I really just kind of got interested in how we could apply design to making different kinds of things. So instead of just flat 2D graphics, I started making clothes. I started making jewelry. I had my own fashion line for a while and I’ve always been really interested in technology. But I, for the longest time, didn’t know how that was going to combine with my work until I discovered someone else making wearable technology projects and she was adding technology into her fashion projects. And when I saw this person doing this work, I was like, “Wow! I didn’t know that was even a thing you could do.” And when I realized I could combine the things I was already doing with electronics and programmable electronics, I just had to learn how to do those things so I could add them to my skill set. But a lot of people who know my work know it as wearable technology work. And I wrote a book about wearable technology projects now. So I’ve kind of just followed that path.
[00:05:34] BH: Andy, have you messed around at all with hardware?
[00:05:36] AZ: Yeah. So I remember the first time I ever did anything with hardware was in like science class in school and I was just like connecting a circuit with a light bulb. And then like I never touched it again until like recently. But yeah, I guess the one thing I’m proud of most recently is fixing my phone screen. It’s been so cool to just find guides online and feel empowered to be able to do it myself. Like you said Charlyn before, as a software engineer, you’re just touching code and you never really get to see that side of hardware. It’s really cool to be able to finally touch something and be like, “Oh, I’m actually interacting with this physical object. My code apparently does this.”
[00:06:13] SW: Yeah, actually, I’m not a software engineer. So the code is something new to me too, but I definitely connect with the idea of discovering that you can interact with something on a level that maybe you were either intimidated by before or you just didn’t have familiarity with it before. Because in the maker world, I talk to a lot of people about their journeys with whatever their medium is and maybe it’s woodworking or maybe it’s electronics or whatever. But I commonly hear this background story of someone tinkered with that their whole lives or they grew up with woodworking going on in the house. And so they’re familiar with it from an early age. Or if they’re an electronics person, they grew up taking things apart and looking at what was inside them. And I don’t have a story like that. And so for the longest time, I thought like I missed that boat or I did it wrong, but I also talked to a lot of people who don’t have that story either. It’s so refreshing to be open about that and say like, “I didn’t actually grow up taking things apart because I just didn’t have that relationship with the objects in my house.” Electronics especially were really expensive and really precious. So I didn’t take them apart and I was not encouraged to possibly break them, but that doesn’t mean that coming to it later on has to be some kind of hindrance in my journey with it.
[00:07:45] CG: Totally. I think a lot of content creators that write these tutorials do a really good job of making it general enough so that you could pick it up.
[00:07:56] SW: Yeah. And I think it’s kind of the hardware hacking environment has changed to make it possible for people to pick up these things. When I was growing up, you could get electronics kits, but not anywhere near the level of sophistication that you can get now. And I think the amount of people contributing back to that environment, you can get hardware from an independent person who’s designed it themselves, who did a short run, but it’s a brilliant educational product or it’s a brilliant piece of electronic component kit that like it can go in between things, like it doesn’t have to be an entire project. It can be a chunk of a project that makes it easier for you as someone less experienced to make a more sophisticated project without having to gain all of that knowledge to build that thing. And I think that’s the new philosophy of making these things. And I think it kind of started with the Arduino era, like making something that in itself is extremely powerful, but it kind of jumpstart someone passed all the knowledge it would have taken to make that thing before.
[00:09:11] CG: Absolutely. I feel like there’s actually a lot of parallels to that sort of arc of innovation with software engineering. I think the reason why it’s really easy right now, especially if you have any sort, like you don’t even have to be a software engineer, if you know a little bit of code, you could totally pick up a hardware project because there’s a lot of layers of abstraction that’s already been built. And man, programmers love layers of abstractions. We love it when we can just pick up something and it’ll just work, like you type some code and magically, the library takes care of a lot of things for you. But if you wanted to dive in, you could. And like modify and customize to like deeper and deeper layers, but that’s kind of optional, right? Like you don’t have to start with a copperplate and then route your own PCB and then figure out radio technology or anything like that. You can just pick up a dev board. It has Bluetooth on it. You learn the libraries, especially with things like CircuitPython. You’ll literally just plug it into your USB on your computer. You edit a text file and suddenly you’re doing stuff with hardware. It’s wild.
[00:10:26] SW: Totally. And I love that you said that programmers love those layers of abstraction because designers love those layers of abstraction too. It’s like if I can pick something up and just start running with it and just start assembling things or moving them around or judging it until I think it’s perfect, that’s like my jam, like where as a designer, I really feel like I’m in control.
[00:10:51] BH: Let’s get into a little bit about what both of you have been working on specifically. So whether it’s kind of the stuff that got you into hardware hacking, some of your early projects, and then also like what’s had you excited lately. Charlyn, do you want to get into some of your projects?
[00:11:11] CG: One of my first projects, the thing that gave me that light bulb moment was I was a developer advocate for the Uber API back when that was a thing. And we had to figure out how to teach people the different states of an Uber ride, like you request it or the driver’s nearby or when you’re in the car, et cetera, like those are different states. But it’s hard to teach people that. And so one of my coworkers was like, “What if we could make a hat, a light-up hat that can change every time the state changes?” I was like, “That sounds really cool. I don’t know how to do it, but I bet you we can figure it out.” So what I made, it’s a hat, but then I made it a shark hat and it ended up having like this unicorn horn that lit up depending on the state of the ride, and it ended up being this super fun project. It took me probably too long. Today with my skill set, I could probably do that in like a day, but before it took me like a month to just figure out all of the stuff needed to like you would make that happen. And then even little things like, “How do you connect anything to a microcontroller? What’s a V&D? What’s a G&D?” Like all of these weird acronyms.
[00:12:34] BH: What is a G&D and a V&D?
[00:12:38] CG: Actually, I was going to VIN, I guess, and G&D. It’s like common acronyms for Ground & Power. So basically if you have a microcontroller and a device, there’s three things you’re looking for. One, how do you power the device you’re trying to connect to the microcontroller? How do you power that? And usually the way that you power it is via a ground pin and a power pin because that’s how electricity will flow. So once you’ve identified how you’re going to power the device, and the device could be like a light or a motor or something else, then you have to identify one more thing, which is how does a microcontroller talk to the device? How does a microcontroller say, “Hey, light, be red”? And then once you identify that connection, you just make electronic connections via, I don’t know, a breadboard or like you just shove it in there. Anything really that you can think of. You could hold the contacts together as long as they’re electrically connected and then that’s how you end up sort of getting them to talk to each other.
[00:13:43] BH: Sophy, can you give us a run through some of your projects, both from the beginning and kind of what you’ve worked up to?
[00:13:50] SW: The first time I ever put electronics into something wearable, it was a tutorial that I followed from the person who originally inspired me to try it, Diana Eng. And she was on, I think it was the second season of Project Runway that she was putting electronics into her clothes. And so I immediately started looking it up. I was like, “I got to find that component. Where did she get that?” I found out she had a book. And so I bought her book and I started doing her tutorials. And now there are lots of options for wearable hardware boards that you can use microcontrollers. But at the time, it was pretty much just the original, it’s an Arduino LilyPad. So it’s a form factor of the Arduino Microcontroller that is a circle and it’s specifically designed for wearable projects. So it’s round. It doesn’t have sharp edges. It’s flat on the bottom. You can sow to it. So you can do conductive thread circuits, soft circuits. And so that’s how I started. I started with this soft circuit project. And now you put that board into the front of a sweater that I sewed and added some LEDs to it and added a battery. And it was challenging. I’d never worked with electronics before. I’d never done any coding before, and I had to code this board. And it’s so funny. It was so challenging at the time. And now, I mean, just like Charlyn said, I could do that in probably less than an hour. But at the time, when those lights came on, I was so excited. I mean, it was like so much more than putting lights into a shirt. It was like proving to myself that I could do electronics, I could do that, and I could program something. It was like this huge moment for me, even though it was not insulated. I mean, it’s not something that a person should wear because the electronics, the back of the circuit is actually like right on my skin. It’s not a good idea, but I mean, these are things you learn in your first few projects and I’m still super proud of that one and I bring it to Maker Faire and I showed it to people. I’m like, “This is how I started.” Just conquering that first project was such a motivational boost for me. I did a bunch of other projects that just have light in them and I did use the light in different ways. I arranged it in different areas on the body and basically used the same circuit and just got a lot of mileage out of that. And through that, I made a lot of things. I think one of my next projects was a Jawa costume from Star Wars that has the little lights on the face. And that was actually the project where I realized that my ambitions for this medium were outgrowing my skill set in that medium. I try to do that entire mask as a sewn circuit. And it was a nightmare. I had so many shorts. I could not keep the wires, the threads separated. And I realized at that time, like I tried to do it over and over and over again with the skill set I had and that’s when I realized I really need to learn how to solder.
[00:17:31] RudderStack is the CDP for developers. Its 150 integrations make it easy to connect your data sources to all of the tools used by your marketing, product, and data science teams. With RudderStack, you can say goodbye to the headache of managing custom-built integrations and easily manage all of your customer data pipelines in one place. Sign up at rudderstack.com to give it a try.
[00:17:54] Scout APM pinpoints and resolves performance abnormalities, like N+1 queries, memory bloat, and more. So you can spend less time debugging and more time building a great product. With a developer centric UI and tracing logic that ties bottlenecks to source code, get the insights you need in less than four minutes without dealing with the overhead of enterprise-platform feature bloat. You can rest easy knowing Scout’s on watch to help you resolve performance issues with Scout’s real-time alerting and weekly digest emails. As an added bonus for DevNews listeners, Scout APM will donate $5 to the open source project of your choice when you deploy. Visit scoutapm.com/devnews for more information.
[00:18:44] BH: Can we get a little bit of an explainer about the role of soldering within the space? Especially because you said you didn’t have to learn soldering right away. So where does it come in and where is that important?
[00:18:57] SW: So soldering, it’s basically the way that you are going to connect wires together. It’s a way that you can make a fairly permanent electrical connection. And the benefit to using solder is it’s a very good electrical connection versus something like conductive thread, which is a filament that has either a metal core or it might be completely made out of stainless steel or silver. You can use that kind of conductive thread to make an electrical connection, but it has an inherent resistance to it that is going to impede the electricity. So it will work for low power things, but you will run into issues where that resistance just compounds and it’s difficult to make a larger, longer circuit with something like conductive thread. Typically, when you’re soldering a circuit, you’re either putting components directly together or you’re using wire to connect things over a distance. And wire is a metal core that’s insulated with, I actually love silicone coated wire because it’s really soft, it’s really good for wearables, but that wire is going to be more conductive, have less resistance than conductive thread. So it’ll work over those longer distances. You can use them for bigger circuits for a bit more power. So that’s kind of what I was talking about when I hit the limit of what I could do with the conductive thread. But connective thread is a great way to get into electronics for a lot of people because it’s less intimidating. It has less of an overhead upfront in terms of investment. So you probably already have a needle and scissors in your house and you can just buy the conductive thread and buy the components and get going. If you want to get into soldering, there’s a little bit more. You have to get the soldering iron. You should get some safety equipment. You need to set up your space. So it’s a little bit easier to just hit the ground running with some circuits.
[00:21:07] CG: For sure. And I feel like the point about it being a good electrical connection is really important because in hardware, the debugging process, there’s a little bit limited tooling. Like in software, if you are trying to debug your code, typically you have a lot of different tools that you can use to try and figure out what is happening. And if all else fails, you can always just print statement, everything. Right? But in hardware, it’s a little bit more complicated to figure out what exactly is going wrong because it could be the wire, it could be the electrical connection, it could be you fried your microcontroller and you had no idea or like you fried the lights and you had no idea. So it’s a lot more sort of like narrowing down what exactly needed to happen. I mean, there’s also stuff like oscilloscopes. There’s like other tools that you can use to sort of probe and figure out stuff. But in general, it kind of becomes this like just knowing what the parts are and then narrowing it down. So using techniques that you know will provide good electrical connections. Even in things like conductive thread, there’s like specific types of threading that you can do to make sure that it’s actually solid. So stuff like that ends up being a lot more important.
[00:22:34] SW: Such a good analogy. Anyone who’s coming to hardware with a programming background, your debugging skills are so useful. I mean, just even having the concept in your mind, knowing that you’re putting a project together and you’re expecting to have to go through a debugging phase, just bringing that experience with you is so valuable. And it’s really just about getting enough familiarity with the process, doing it enough times that you know what are the go-to things to check first. You’re like, “I got to check my electrical connections first. I got to check my components first.” And you just expect to do that every time, just the same way that it is when you’re programming. You know you’re going to run it several times and find errors and fix those things and it doesn’t faze you and it’s not going to make you throw in the towel and give up on your project because you just know that’s one of the phases.
[00:23:31] CG: I think soldering is something that people, when they’re thinking about hardware, they think, “Oh, soldering, that sounds scary.” Right? Like it’s hot. There’s like electricity. I could hurt myself, but really it’s one of those things that it only sounds scary. As long as you know where the hot part of it is, it’s basically very safe. I mean, you have to ventilate and just make sure that you’re not inhaling the fumes and stuff. Be safe.
[00:24:01] SW: Be safe out there. But honestly, it’s so fun. Soldering is so fun. You’re melting metal. It’s the best. And I’ve done other kinds of soldering too. I’ve done jewelry soldering where you’re melting metal and fluxed with a torch, that’s super fun too.
[00:24:22] CG: That’s a little scary.
[00:24:22] SW: But in comparison, soldering iron is less scary.
[00:24:27] CG: For sure.
[00:24:27] SW: If you can work a stove, you can work a soldering iron. So then I started making things like my spacesuit project, which is an original design, sort of sci-fi inspired fantasy spacesuit. And so that has a light up helmet. There’s lights that shine on the inside, shine on the face. It’s very cinematic. The whole point of it is to be cinematic. It’s not intended to replicate like an actual spacesuit. I just wanted to create something that was an Ellen Ripley-like-alien spacesuit. I wanted to have that feeling. So I made that for myself. And yeah, it has the lights on the inside. It has sound reactive lights that blink on the outside when I talk. It has a fan on the back that just circulates air through the helmet. It’s a lot more complexity that I was able to achieve from where I started. But the exciting thing for me at that point was that I was really combining design and hardware and using the electronics and the programming to express the creative idea that I had.
[00:25:39] CG: If you all haven’t seen Sophy’s creations, especially that spacesuit, oh my God. Please check it out. You can build an entire sci-fi series out of the stuff that she makes.
[00:25:51] SW: Well, Charlyn, it is definitely a mutual admiration here because Charlyn’s projects are so clean and beautiful. We’re both really going after that aesthetic polish and I think that’s another way that we connect.
[00:26:06] AZ: What do you two find are like barriers to entry is for people trying to try hardware hacking?
[00:26:13] CG: I mean, there’s maybe a bunch of skills that you don’t even know that you might need. But honestly, a lot of it is mental. You kind of just have to be curious about it and then trust that you can figure it out, even if it seems like such a nebulous sort of black box thing, because really a lot of these layers of abstractions already exist. So I think the most important thing is you have to follow something that you’re curious about because I found that a lot of people that I’ve talked to that have started their journey in this new space, they usually have something, like a project that they really want to work on like, “Oh, I want to be able to put ambient lights in the back of my TV when I’m watching a movie,” or something like that. And because they have this motivation already to fix a thing or to create a thing, that generally ends up being a really, really good starting point to jump right in, just like start Googling. Look at Adafruit guides. There’s probably an Adafruit guide for whatever you’re doing actually. That’s probably one of the main things I would think.
[00:27:30] SW: I would agree. People learn in different ways and people are motivated by different things. And so there are so many tutorials out there, but even with the thousands and thousands of tutorials out there, I find there’s never a tutorial for exactly what I want to make. Or even if I’m inspired by someone’s tutorial, I want to make it my own somehow. So I want to kind of tweak it or add my idea to it or try something a little bit different wherever I think there’s room. And so for me, when I’m writing tutorials for a pupil, I try to write them with that in mind. I try to write them so that I’m highlighting a concept or a technique or a skill. And I’m going to tell you, like, “This is the skill you’re going to learn and this is a demo project showing you how you might use that skill, but you can take this idea and slot it out of my tutorial and drop it into the thing that you want to make.” And then my first projects were really just collages of other people’s tutorials put together. I wanted to make a Ghostbuster Proton Pack. So I kind of broke that object out into four or five different tutorials and then I went and found those tutorials for those little mini projects and then stuck them all together. And that is such a great way to get over the initial barrier of, a lot of people, their first ideas for what they want to build, it’s super ambitious. I really have not met very many people who say, “I want to get into wearable electronics because I really want to put a light in my T-shirt.” They come to me and they say, “I want to get into wearable electronics because I want to make a fully functional Iron Man costume.” That’s their dream and that is so great. I’m not motivated by tiny projects myself. I’m really motivated by huge challenging projects that scare the bejesus out of me.
[00:29:34] CG: Yes.
[00:29:34] SW: So I think the common sense advice that I feel like I should give to people is start small or start easy, choose something easy, but I don’t think that’s very practical for a lot of people. It’s not practical for me. I just won’t have the attention span. I’m way more excited to make the fully functional Iron Man costume. But back to your question about barriers, because I think my sort of understanding of barriers has really changed over the past several years. I’ve become aware of more of them that I guess I didn’t realize were even there in the past because I was really fortunate to already be past them or to not observe them. But it’s things like I kind of thought that putting my tutorials on the web made them accessible. Once I put it on the web, that means everybody can see it. It’s not actually true because not everyone has access to the web all the time. Not everyone has a computer in their house. So especially with hardware, there’s just a barrier that we cannot ignore and that’s an economic barrier. And the things that we can do to get past that, I mean, there are some really great ideas out there. I think we need more ideas around that, but I think Makerspaces really need a lot of support because not everyone can just hop on the internet and buy a bunch of microcontrollers or buy a 3D printer or buy all that soldering gear we’re talking about. So having access to the tools and then having access to the information, whether it’s online or honestly like in-person help and observing other people working is so valuable and all of that is really there for you if you’re part of a maker-space. So I think we need Makerspaces and libraries. It needs to be available to people regardless of how much disposable income they have.
[00:31:39] CG: I didn’t even know that Makerspaces were a thing until I was wondering how I was going to get access to some special tools, like, “What if I wanted to try, I don’t know, laser cutting or even just like a solder?” I thought that you had to buy everything to even do anything, but that’s not the case actually. It definitely needs to be something that we invest in because it’s not in as many areas as I think it should be. But yeah, just like having that in a location that’s accessible is super, super game changing, right? All of a sudden, you could just walk into a space and then make something. Make your dream come true.
[00:32:26] SW: Yeah.
[00:32:27] CG: Crazy.
[00:32:28] SW: Yeah. Or you even see other people doing it. You see other people working on their dreams and you see other people like that are maybe a little bit ahead of you in the journey, and I think it’s important to see people in all different phases. On the internet, it’s really easy to find experts and it’s really hard to find people who are on their way to becoming experts because we generally are not encouraged to share our learning moments or that we want to share like the amazing things and we don’t want to share our failures. So it’s hard to see that intermediate journey being exposed. That’s so valuable. In a way, that’s even more valuable than seeing the mind-blowing, amazing, perfect project because if you don’t ever see the steps in between, how do you get there?
[00:33:21] CG: It doesn’t seem like it’s such a faraway thing. Right? It helps that mental model of being able to actually do it.
[00:33:30] SW: Yeah. And I think that’s one of the most valuable skills that I’ve learned is like not letting the mistake completely derail me. I’ve hit problems in my projects before where it just totally took the wind out of my sails and I was just like, “Well, I just can’t do this. I give up.” And I definitely gotten to a point where I make so many mistakes, they rarely even register on my little radar anymore. I'm like, “Well, I messed that up. I got to do that over again.” And that is such a good skill to build, just resilience. And it only comes with experience and just having it happen so many times that it doesn’t faze you.
[00:34:11] CG: Yes.
[00:34:30] Cloudways platform offers a choice of IAAS partners, AWS, Google Cloud, Digital Ocean, Linode, and Vultr. In addition, you get a performance optimized stack, managed backups and staging environment where you can test your code before pushing it to live servers. Best of all, composer and kit come pre-installed so you can get your projects up and running quickly. All this power, simplicity, and peace of mind falls right with their brand slogan, moving dreams forward. If you want to give them a try, use promo code, DevDiscuss.
[00:35:04] Scaling an SQL cluster has historically been a painful task. CockroachDB makes scaling your relational database much easier. The distributed SQL database makes it simple to build resilient, scalable applications quickly. CockroachDB is Postgres compatible, giving the same familiar SQL interface database developers have used for years. But unlike older databases, scaling with CockroachDB is handled within the database itself. So you don’t need to manage charts from your client application. And because the data is distributed, you won’t lose data if a machine or data center goes down. Host it on-prem, run it in a hybrid cloud and even deploy it across multiple clouds. Sign up for your forever free database and get a free T-shirt at cockroachlabs.com/devdiscuss.
[00:35:51] BH: How does one balance learning something they’re currently working on with more depth versus exploring new territory in this space? So thinking about maybe what Sophy was saying, when you first got into it and you found so many things you could do with lights in fashion, but then you kind of wanted to explore more from there. And how do you balance actually getting to explore and expand while also mastering some of the skills you are picking up along the way?
[00:36:20] SW: Oh, it’s such a good question. And it’s something that I’m just giggling because I ask myself that all the time. As a generalist, I move through things a lot. I’ve moved through things throughout my life. I’ve done a lot of different things as I’ve become interested in them. And even just through the course of one day, just in the course of one project, I love to combine lots of different techniques and tools and ideas from different places. And so I’m kind of constantly juggling like the desire to spread out and learn more with also the desire to become more skilled and more expert. And for me, I’ve just been able to observe my own cycles enough that I’ve kind of learned my cycles. And I think it’s valuable for me to think of it as a cycle, because I know that if I’m spreading out and I’m in that phase where I am exploring and I want to learn more and I have the desire to absorb more, I know that there will also be the flip side of my cycle where I want to dive deep. And so I just have to kind of ride my cycles and use them when it’s valuable to use them. I did something intentionally to go deep on a particular skill recently, which is I kind of just took it upon myself to do a month-long challenge with 3D modeling because I’ve not done a lot of 3D modeling before. I was using it in my projects, but I was using it only when I needed it. And it’s a skill that really requires some basic understanding of 3D modeling concepts. And because I didn’t ever sit down and learn those things formally, I would lose them in between using that skill. So I realized that every six months or so when I wanted to do some 3D modeling, I will go back to the same tutorial and watch it every time I wanted to 3D model again. And after like the fourth time of watching the same tutorial, just like spread out over several months, I was like, “I’m not learning this. I am definitely not. I have no retention.” So I wanted to actually get some retention there. So I decided I was going to do this 3D modeling every day for 31 days. I just picked a random month, whatever month it was, that happened to have 31 days. And I was like, “I’m going to do 3D modeling every night this month.” And my goal is not to 3D model super complex things or anything super impressive. My goal is just retention. So all I want to do is spend time in the program. I’m going to do the same thing a few times. I’m not going to just model one thing and then model another thing that’s completely different. I’m going to model the same thing a few times so I can retain it so that it can build some muscle memory. So I can get like a regular workflow that is just there for me when I want to jump into that program, but I need to do it regularly to build those neural pathways in my brain because I want them to last and it worked. After 31 days, I mean, I did get more depth too. I did finally learn a bunch of tools that I’d never touched before in that program. But most of all, I built familiarity with the tool and it gave me the foundation and now it’s in there. Now when I jump into 3D modeling, I have my workflow. It doesn’t faze me when they add something new to it. I’m like, “Okay, I can take some time and actually learn this thing.” And I never have to watch that same tutorial. I have not gone back to that one.
[00:40:19] CG: Yes.
[00:40:20] SW: So that worked for me. But I did have to mentally really intentionally say like, “I’m going to shift into the phase of my cycles.” That is like the deep dive phase.
[00:40:29] CG: I feel like that being regular about it is still something that I’m struggling with because a lot of times I pick up projects only when I feel like it, but it’s actually really, really valuable to be able to at least do something towards your goal even if you don’t feel like it because that’s actually how you build your creative muscles. That’s how you build your skills. I mean, it’s the same with, I guess, being a software engineer, right? Like even if I don’t feel like working that day, I’m going to have to code. It doesn’t matter if I don’t feel like coding that day. I’m going to have to. I mean, that’s why I’ve built up all of these skills in coding is because I just had to code. It’s the same way with being creative or like making projects, like you just have to be regular, you have to have the discipline to do it, but at the same time you could use your projects themselves as motivation to learn. Right? Because you don’t have a deadline. It depends if you’re doing client projects, I guess. But if you have a goal, a project that you want to create, there’s no deadline for that. You could dive as deep or shallow as you want to, but you could also use it as a forcing function to make yourself learn something. So the act of doing it will really help you learn it and then build your skills.
[00:41:51] SW: Totally.
[00:41:52] CG: After I had that light bulb moment of like, “Okay, I want to learn more about this world of doing stuff with hardware,” I decided that that first year I had this project, I called it 12 months of makes, and every month I would create something, right? It almost didn’t matter what it was. It just mattered that I made it. And that year, it opens so many doors because you think of something and then you’re like, “What would it take to make that thing happen?” And then I just kind of went on to this like year of learning a bunch of things and they seemed really disparate at first. Right? I learned about 3D printing and then I learned soldering and then I learned a little bit about wearables, a lot about LEDs. LEDs are awesome. Because there was sort of this like cadence to it and I knew it was a cadence that I could handle. Right? Because I don’t know if I would have been able to do like a week, like a project a week, but I knew I could do a month a week. And so that cadence really helped me to build the skill set I needed to make more projects.
[00:43:00] SW: Yeah, I totally agree. When I was writing the book about Wearable Tech Projects, I actually was writing those as articles for Hackspace. So each one is an article that also got published in Hackspace Magazine.
[00:43:13] CG: Awesome!
[00:43:13] SW: Yeah, but I knew that they were going to be compiled into this book. So I was already kind of thinking of those projects as I was thinking about the structure of all of those kinds of fitting together. And that gave me guidance for choosing projects and designing projects to fit into this sort of like system and that in the same way, that you just described Charlyn, like that helped me target like some output. I mean, I had a massive output during that time that I was doing that book because I had to do all of those projects and then I had to write all of them up and then I had to photograph all of them. And all of that, by the way, was so my jam, as a designer who is a multidisciplinary designer, I got to use all of my favorite skills and techniques. So that was so fun. But a side benefit of that was that I ended up making all of those things and learning more things, because I was like, “You know, I really need to add this to this collection of projects. It’s missing this.” Or I would love to round it out with something like that. And coming back to the original question of how you balance going deep and going wide, the balance can come from a bigger perspective. If you like zoom out a little bit, it’s easier to see how going deep and going wide really works together. You don’t have to choose just one or the other. And I think for people like me who for a long time thought I was doing everything wrong because I like to move on from things and collect new skills, I’ve never been the kind of person who could have one job for 40 years, just having the perspective, like the zoom out perspective to see that I’m not a specialist in the traditional sense, but I definitely have some specialties. And one of those is synthesis of these different things together. So I feel okay about spreading out a little more when I think of it that way.
[00:45:23] AZ: And as like a pretty hardware newbie myself, I would love to hear any final advice for anyone starting today.
[00:45:30] SW: Yeah. I mean, it’s a great time to get into this stuff because I think like we touched on earlier, there are so many amazing products out there that just exist to help you get into it. So my go-to is always Adafruit. Adafruit has such great tutorials. It’s basically an ecosystem for teaching you how to do this stuff because they’ve got products that are really well-designed and really well-made and dependable. They’re really well-documented. So you’re not going to just buy it and be completely lost. They’ve got tons of tutorials for that specific product and there’s a huge community of really supportive people who are also using those products to make amazing projects.
[00:46:15] CG: Absolutely. I mean, really start with Adafruit is also my advice. I also think that if you already have some grasp of coding, you should definitely check out CircuitPython, which is also an Adafruit aid platform. It makes it super easy to not have to figure out tool chains or how do you put code into a physical thing. It’s easy. You just plug it into the USB. That’s it. So CircuitPython definitely, like every time somebody asks me like, “Hey, I want to go do some hardware hacking. Where should I start?” CircuitPython. I just want people to know that being able to create physical things and like making your vision come true in a very physical sense, to me, that’s like recently novel thing. It wasn’t until like a few years ago when I realized how satisfying that could be to just be able to make something real in the real world in the same way that I find it super satisfying to be able to make stuff with code, it’s just like a different kind of satisfaction when you can really hold it and hug it and then show it to people.
[00:47:31] SW: Yes, absolutely.
[00:47:33] AZ: Well, thank you both for joining us today, Charlyn and Sophy.
[00:47:36] BH: Thank you so much.
[00:47:37] SW: Thanks for having us.
[00:47:38] CG: Thanks for having us.
[00:47:48] BH: This show is produced and mixed by Levi Sharpe. Editorial oversight by Jess Lee, Peter Frank, and Saron Yitbarek. Our theme song is by Slow Biz. If you have any questions or comments, email [email protected] and make sure to join us for our DevDiscuss Twitter chats every Tuesday at 9:00 PM US Eastern Time, or if you want to start your own discussion, write a post on DEV using the #discuss. Please rate and subscribe to this show on Apple Podcasts.