Making it: Indie iOS developer Becky Hansmeyer
Becky Hansmeyer is an indie iOS developer and corgi fan I've been following for a while. I've always admired Becky's wealth of knowledge and willingness to try new things.
Becky's working on an iOS game called Corgi Corral and currently has two iOS apps on the store: Refining Fire, an encouraging Bible verse app, and Sploot, an iMessage sticker pack.
Hi Becky! Tell use a bit about yourself and what you do.
I'm a self-taught iOS developer based in rural Nebraska. Lately, I’ve been working on a game for iOS called Corgi Corral. I’m also a stay-at-home mom, farmer's wife, and fan of all things Apple!
What does a typical day look like for you?
If you’d have asked me this a year ago, my answer would’ve been completely different. My husband and I just recently settled into a sort of “new normal” following the birth of our son Charlie last March.
I wake up when Charlie does, typically around 7:00. I spend the morning playing with him, sipping coffee, and catching up on news and social media. During his first nap around 10 a.m., I listen to podcasts and do some household chores.
After lunch and more playtime, he takes a second nap and that's when I try to get some programming done. Before he was born, I’d code for hours…most of the day, really. Now, I might only have 30 minutes to work on my app. I try to plan what I'm going to do ahead of time so that I can work with laser-like focus and get as much done as possible during that time!
The evening is filled with TV-watching, family dinner-making (my husband and I love to cook together), more playtime with Charlie, and showering. Charlie's in bed around 7:30, and I'm usually asleep by 9 p.m. Occasionally I squeeze a few more minutes of programming in before bed. As a new mom, I’m the least productive I’ve ever been in terms of personal projects, but I wouldn’t trade it for anything.
You have a couple of apps on the App Store now, and you're working on a game for iOS. What sparked your interest in iOS in the beginning? Did you have any software experience before starting on iOS development?
I remember my dad taking me to the Apple Store in 2007 to pick out a new iPod Nano for Christmas. The iPod Touch had just been released but for some reason I hadn't really considered buying it. Anyway, to make a long story short: my dad ended up talking me into getting the Touch instead of the Nano, and when the App Store debuted the next year I was enthralled by all the early app success stories, particularly those that came from developers with very little programming experience. People were saying that “anyone could do it,” so I knew I wanted to give iOS development a try.
When you got to iOS, what methods did you use for learning? Would you try different learning methods if you were to go through that process again?
Let me first say that I would definitely try different learning methods if I were to learn iOS again! My iOS journey began with a series of false starts over the course of several years. First I went through Big Nerd Ranch’s book on Objective C, followed by their book on iOS Programming (I actually only got halfway through that one before giving up). Both of those books are excellent, but there was some sort of knowledge gap that I was having trouble bridging. I found myself unable to take the concepts I was learning in the tutorials and use them to execute my own app ideas. It just wasn’t clicking. When Apple introduced Swift, I decided to try again. This time I bought AppCoda’s Beginning iOS 8 Programming book and the pieces started to fall into place. I abandoned the book somewhere towards the end and started tinkering around with making my own “To Do” app.
I think one of the worst things beginners can do is get into the mentality of “if I just read one more resource or watch one more video, then I’ll be ready to start my own project.” It’s much better to think of something simple to build (not your super ambitious dream project), open up Xcode, and just start putting it together one piece at a time. I remember being afraid to even open Xcode and mess around! It was so silly.
Since you mentioned Swift, can you tell me a little about your experience switching from Obj-C to Swift and how you're feeling about the two languages now?
I’m not sure why, but I had a really easy time transitioning from Objective-C to Swift. Perhaps it’s because in the early days of Swift, virtually all of the Stack Overflow answers were still in Objective-C, so I ended up doing a LOT of translating myself. I translated a whole sample project from Apple once. The process of doing that may have helped me learn Swift better than some of the tutorials I read, honestly. Now that I know Swift, I don’t think I’d ever want to go back. It’s such a great language for beginners and I love Playgrounds as a learning tool!
What was your very first iOS app?
My first app was a simple bible verse app for Apple Watch called Refining Fire. I hand-selected a bank of verses that I felt were particularly encouraging and the app would display a random verse to the user. Even though it was simple, it did a good job of teaching me the ins and outs of Xcode and some of the more common iOS APIs.
What was your first experience with publishing an app on the store like?
It was a bit of a rocky experience, actually! My app was approved for sale after 9 days in review; however, when I downloaded and tested it, the watch version crashed on launch every single time. I don't know why neither I nor the reviewer caught it, but once I identified the cause---an incorrect build setting---I uploaded a new build and requested an expedited review, which was thankfully granted. Seeing my app for sale on the App Store for the first time was an amazing feeling though, even if it only went on to get a handful of downloads.
What was most surprising or unexpected about the process of learning iOS development? Is there anything you'd do differently if you were to go through the process again?
What surprised me the most was how utterly impossible it is to remember everything. I naively thought that once I learned how to, say, populate a table from a data source, I’d never have to look it up again. The truth is, I’m constantly looking up things I’ve already done! It doesn’t help that Swift’s syntax keeps changing, either. That’s why the most important thing a beginner can do, in my opinion, is get comfortable reading Apple’s developer documentation.
If I were to do it all again, I’d start building an app of personal interest to me much earlier in the process. Not only was working on my own project (as opposed to a tutorial app) more fun, but my motivation increased tenfold and I found myself learning much more quickly.
I also found my motivation was boosted when I made the switch from building tutorial apps to working on my own ideas, and that's something I wish everyone new to iOS would know! Is there anything else you've learned that you think new programmers should know?
I’d advise them to not get discouraged when they hear/see others discussing more advanced programming topics. When I was first learning, I listened to programming podcasts and followed popular developers on Twitter. They’d discuss stuff that was way over my head sometimes (they still do)! And it was all compounded by the fact that Swift is a language that you can do a lot of smart and clever things with. Trust me, you don’t have to worry about all of that right away. Just dig in, and write the best code you can using what you know.
Do you still feel like a beginner now? If so, what do you think it will take to let go of that "beginner" tag?
Oh yes, I definitely still feel like a beginner! I think it will probably take a string of small accomplishments over a long period of time. For instance, perhaps one day I’ll realize that I actually feel qualified to answer some questions on Stack Overflow. Or maybe I’ll write a chunk of useful code that I feel comfortable open-sourcing. I think sharing code and getting feedback (and validation) from others helps accelerate the process of shedding that “beginner” feeling.
Since you're an indie dev, do you spend most of your programming time alone? How do you go about being part of the iOS dev community or learning from other developers if you're not working in a team most of the time?
Yes, I spend all of my time programming alone. I live in a really rural area; as such, I don’t actually have any “real life” programmer friends. I wish I did—it would be nice to have someone to bounce ideas off and to take a look at my terrible code. My main method of involvement in the community is through Twitter and blogging.
Do you have any diverse influences in the iOS community that you look up to?
I wish I could give you a nice long list of names, but only a handful come to mind: Erica Sadun, Rebecca Slatkin, Ish Shabazz. I also recently came across Bob Lee. He grew up in Korea and learned English fairly recently, but his iOS tutorials have cleared up quite a few basic programming concepts for me.
Do you have a goal for future iOS projects, or your programming career in general? What does "making it" look like for you?
After I finish my game, I have a few more app ideas that I’d like to pursue. My dream goal would be to generate a decent chunk of supplemental income for my family each year from app revenue—enough to say, set aside in a college fund for Charlie or invest in expanding our farming operations (we grow corn and soybeans). However, I’d honestly be pretty happy if I could just pay for my device purchases each year with app revenue! Those iPhones aren’t getting any cheaper.
Are you able to share how much you're making from apps now, and how that's changed since you started?
So, I’ve actually only had paid apps on the App Store since June 2016. I ended up pulling my first app from the store in September when iOS 10 was released (the app rotated Live Photos, and that functionality was built in to iOS 10). That same month, I released a sticker pack. So between the two, I’ve made about $600 so far. My goal for 2017 is to make $1000. I don’t mind taking baby steps; I’m more concerned with building up a portfolio of good quality work, building trust, and gaining visibility.
You love corgis even more than we do, I think. What is it about corgis (for anyone not already in the know) that makes them so great?
I could write a novel about this, so I’ll just say: they’re completely delightful, and everything they do is sort of hilarious. Tiny legs, big ears, great smiles…what’s not to love?
Thanks for joining us, Becky!
You can find Becky on Twitter at @bhansmeyer and on her website.