Talk · Dale Spoonemore
How I Learned to Code and Built My First Mobile App — OKC#

Edited excerpts from this talk. Follow the recording links to watch the full presentation.
I had an app I wanted to build
In the recording: 2:01–2:24 · 0:40–1:15.
For me it went back to the garden. I had an app I wanted to build. I had a goal in mind. In the past when I had tried to learn I had failed because it was a college course, building a calculator. I just didn't care about it. It took me having something I cared about in order for me to do the steps I needed to do in order to learn.
I've worked in software since I stepped out of high school essentially, and it's all I've ever known. I started thinking about the app I would like to build, but I did not have the coding skills at that time to do so. I've worked primarily in test automation or Quality Assurance throughout my career. I've never done the type of coding it required to build something like I wanted to build. Last year at the encouragement of my team I started working on building my first mobile app.
They're gonna help guide your path
In the recording: 2:24–3:38 · 3:55–4:14.
Find a mentor. It's a pretty overwhelming landscape when you walk into it. There's all these frameworks and all these terms and all these things you've got to learn, and it's overwhelming. If you have a mentor they're gonna help guide you through that process. When I started thinking about building a mobile app I did not know where to start, whether it was xamarin or if I needed to learn Android development or iOS development or react native or all these different things out there. The mentor helped guide me. They're also going to be there to answer your questions. If I have uncertainty about something or if there isn't a clear defined answer, I know I have someone that I can go to that knows what they're talking about and is gonna give me a good answer.
If I make a mistake along the way he's gonna be there to let me know, hey this may work but there's a better way you can do it. You never know what you're gonna learn along the way.
The reason why I hadn't started with trying to learn to code before last year was because I wanted to wait until I had all the time to do it. What I learned was that just wasn't gonna happen until I made it. Chase being there to encourage me along the way went a long way towards keeping me focused on that goal and making me feel like I was on the right path.
I just started taking apart example apps
In the recording: 5:17–5:51 · 7:22–8:21.
The next step for me was to find a framework because I wanted to build a mobile app. I landed on ionic. I just started taking apart example apps and changing things and seeing what happened when I changed it, and then learning from there.
If I'm out in the garden I would listen to podcast. I'd be out in the garden working and I would still be learning about development. I just wouldn't be staring at a computer while I'm doing it. Everyone that I've found a course from, I would find them on Twitter and then I would read everything they wrote. I just immersed myself in this. I would focus that energy on learning what it is I wanted to learn. All these people that put out this content generally have a blog as well. You find that and then it's just this whole ecosystem of continual learning.
I can focus on the problem I'm trying to solve
In the recording: 8:33–9:26.
The frameworks and all the new things make things seem a little overwhelming. But once you get through it and you understand why they're there and what they're there for, you realize things are a lot easier than they used to be. All the components were already built for me. I didn't have to build a grid or a slider or any of those things. I just hook in what's already built. I can focus on the problem I'm trying to solve, which is helping people grow food, and not how to build the best grid. I have a tendency to go down a rabbit hole where if I can build a grid I'm probably gonna spend two months on it and go way overboard. I'm gonna lose sight of what it is I'm trying to do. Having that abstracted out really helped me out.
Walking away can be extremely powerful
In the recording: 9:29–9:47 · 10:43–11:07.
Patience is a virtue that it took me a long time to learn, and I still have a long way to go. Walking away can be extremely powerful. If you get stuck on a problem and you just keep hammering away, you can't figure it out, just go walk away. Do something else that uses another part of your brain. Go wash the dishes.
Don't get stuck. Don't be stuck in a problem for more than 30 minutes to an hour before you either take a break or reach out to a mentor. I would hammer through a problem for a day and then when I got the solution from my coworker the next day I felt pretty silly because I could have saved myself a lot of trouble. They didn't think any less of me for asking. That was something I had to get over.
It's okay to not know everything
In the recording: 11:07–13:05.
Don't obsess over picking the language or a framework. I spent a lot of time in the past obsessing over thinking about what I need to learn or what framework or what language. It doesn't matter, just pick something and get started. Once you start coding you'll learn what it is you like or don't like about that and then you can evolve from there. Don't be too concerned about getting stuck in the wrong framework. As long as you're making progress that's the important part.
Code something every day. I had days where I felt like if I couldn't code a whole bunch of stuff I didn't want to code. That wasn't very productive. I try and code a little bit every day now, or even if it's not on my app, just do some sort of coding every single day. You're gonna feel like you don't know what you're doing at times, and sometimes you don't know what you're doing. But it's okay. You don't have to know everything, and it's okay to not know everything. Don't feel like you're a failure just because you can't figure something out.
When I was a kid I spent all of my time building websites and trying to figure out how to make video games work different. All of these skills played into everything I do today. I used to write batch files to do things. All the scripting skills I had have all become valuable to me now. I had to learn a lot of JavaScript, but my HTML, my CSS, that foundation was already there, and that really helped me out.