A Deliberate Journey, Part 2: The Pitfalls Of User Research First And Self Discovery

It has now been two years since I first started learning to code. In the first year, I learned to code Java, Ruby, and web development with Ruby on Rails. In the second year, I got my first real job as a Software Engineer and learned iOS development, and now I’m trying to figure out some goals for the next year!

So far, I’ve been using my powers to keep building and practicing, which I have no regrets about. But for my third year as a Software Engineering student, I want to build something deliberately.

I haven’t figured out exactly what I wanted to build, so thought I’d start by interviewing people who bought my book and are learning how to code. After all, the lean startup principles dictate finding out what people want before building it.

User Interview Results

The user interviews were incredible. I was so inspired by learning about the journeys of people learning code from all across the world! And in the end, I identified two main issues from the interviews:

  1. New coders need a real life mentor to reach out whenever they have a question. While StackOverflow will help them along, it usually doesn’t put the answers in a bigger context like a real-life person would. Also, for those who live outside of San Francisco / Silicon Valley, there aren’t as many options for meetups and finding others who are interested in learning to code.
  2. While there are a TON of resources out there, there is also no real good way for a beginner to figure out quickly which resources are good and which ones are bad. And most importantly, there isn’t an easy way to construct a learning plan using these resources, where you can start at point A, go through each learning task, and come out at point B with a sense of completion.

I actually started building a solution to problem number 1, but it seemed that AirPair is already on their way to providing a very nice solution.

Scratching My Own Itch

Meanwhile, last weekend, I attended Startup School, and incredible event hosted by Y Combinator, where you get to hear from some of the most successful internet entrepreneurs in the world – including Phil Libin of Evernote, Nate Blecharczyk of AirBNB, Jack Dorsey of Twitter and Square, and of course Mark Zuckerberg of Facebook.

Pretty much everyone mentioned that one of the reasons they succeeded was because they were so passionate about what they were building. Phil Libin, specifically, said that if you build something for yourself, unless you’re weird, there will be millions of people who will also want your product.

None of these entrepreneurs did user research BEFORE they started coding. They all released an initial version, got feedback, and improved their product and kept doing this loop over and over again.

That got me thinking about what I want to build for myself, versus what I could build for others based on things I learned from my user interviews.

Doing Something Scary

When I think back on my learning to code journey, I keep thinking about how happy it makes me to conquer things I’m scared of. During my very first learning to code experience, I was terrified of using the Terminal. Later, I was terrified of Github, JavaScript, Test Driven Development, Backbone.js, Objective-C, Singletons, and many more little things along the way.

In fact, one of the very scary things I learned about myself along the way is that I’m not an early-adopter (yet). When new technologies like Node.js or Angular.js or iBeacons come out, I’m terrified that I’ll have to learn something so scary that everyone else seems to know and have an easy time with (thanks Twitter!).

As I’ve been getting a hang of iOS – enough to build pretty much any basic app, I made a list of all the things that still scare me about it:

  • AutoLayout
  • Test Driven Development
  • TextKit
  • iBeacons
  • Custom Animations
  • Sprite Kit

And of course there is always the unknown. For example, today I received a comment on my post about UIEdgeInsets about how I should be utilizing the new Assets Catalog in Xcode 5 (what does that even mean?!!!).

So while I probably know 80% of iOS development, the last 20% is what will make my skills great, but will take at least as much to learn as the first 80% (the 80/20 rule strikes again!).

The New Goal

So while I loved doing user research and have some products in mind for people I interviewed, I’ve decided to keep working on a personal goal, which hopefully will help others who are as weird as me along the way. My new goal for the next year is to become an incredible iOS developer, not just another average one!

To do that, I know that I will need to work with, teach, and learn from many others. Here is my plan (subject to change):

  • Build apps using technologies that scare me. 
  • Try to partner with designers to make these apps great.
  • Set up weekly Google Hangouts to learn from industry experts.
  • Try to speak at more iOS events.
  • Set up a newsletter for anyone who wants to follow along.
  • Keep blogging or even making video tutorials about what I learn along the way!

Now, that’s a great list of scary things that I can’t wait to do! I LOVE living outside of my comfort zone. If you’d like to follow along with me, follow me on Twitter here. I’ll get the email newsletter set up as soon as possible!

Happy Learning!


Enjoy the article? Join over 20,000+ Swift developers and enthusiasts who get my weekly updates.