Note from Ray: At our recent RWDevCon tutorial conference, in addition to hands-on tutorials, we also had a number of “inspiration talks” – non-technical talks with the goal of giving you a new idea, some battle-won advice, and leaving you excited and energized.
We recorded these talks so that you can enjoy them, even if you didn’t get to attend the conference. Here’s our next talk Opportunity by Jake Gundersen I hope you enjoy!
Part of this talk is going to involve a little bit of audience participation: I want you to think back in the last three or four months of your career. I want to ask by raise of hands who has ever felt like this:
Like you have no idea what you’re doing?
Or have you felt like this guy:
Like you’re right about to just fall on your face?
Or have you been jealous of somebody else’s career? Have you felt like you would like to be working on those kinds of projects or at their level?
Some of you probably said yes to some of these questions. :]
But I’m Safe Here!
On the other hand, some of you were probably thinking, “No. You know, I’m pretty good with where I am. Things are going smoothly. I’m comfortable. I’m good at what I do. Things are all good.”
I’d like to argue today that if you’re feeling that way, if you feel like all things are all good, you’re probably playing it too safe. You’re probably not taking enough risk or pushing yourself.
There are probably opportunities for you to be doing work harder, more interesting, more difficult than you’re doing now that you just need to reach for it.
This is great quote by John A. Shedd that says:
It’s really tempting to play it safe. We get used to being good at what we do. We’re comfortable with our skill sets with the people that we’re working with, with the environment that we’re in.
In sailing there’s tons of risks involved in embarking on a new journey. Your ship could sink. You may not know anything about sailing or you might encounter some unfriendly natives.
I think there are opportunities out there for each of us that we just need to reach for. The only way to get to those opportunities is by stretching ourselves, by taking more risk. I think that we can surprise and amaze ourselves of what we’re capable of doing if we put ourselves out there.
I’m going to talk a little bit about some of my experiences, my story. After school, I started out as a financial analyst at a hospital, a super secured job.
I was looking at spreadsheets all day, everyday. It wasn’t super interesting and I was in a cubicle.
I was able to take advantage of a series of opportunities. Then I was able to become a successful iOS contractor and author.
I’ll tell you a little bit about my transformation. I’m going to tell you three stories.
My First App
The first story is about opportunities that come to you. A little bit about after I graduated from school, a buddy of mine I went to school with came to me and said he wanted somebody to build him an IOS app.
I had been a life long wanna-be programmer. Maybe ten or fifteen times throughout my teenage years and early twenties, I had attempted to learn programming from books just like this one.
I got in two or three hundred pages in and I would just get bogged down; the learning curve was too steep. I get bored and I’d abandoned my attempt to become a programmer.
When my friend asked me how it was going, I said it was something I was super interested in, but it was also something I really wasn’t capable of doing. When he asked me, I was watching the Stanford iTunes course. Some of you guys may have watched it, right?
It was great but I still didn’t know what I was doing.
- The word delegate was thrown around a lot. I had no idea what that was.
- I couldn’t figure how to use interface builder.
- The navigation stack was a great mystery to me.
When he asked me to do it, I almost said no but he said, “Look, Jake. Why don’t you just try it? Give yourself a month. If you can deliver something in a month, we’ll pay you. If not, you know, we’ll go find somebody else. No harm, no foul. ”
That little bit of opportunity was enough that I started having an objective and a deadline and a target, which narrowed the scope of what I was trying to do. Thus, I was able to move through it.
I found an online video that showed me how to put a table view controller navigation stack inside of a tab view controller and that unlocked the whole project and made it possible.
You can see, it’s not an amazing app. It’s very simple but at the time, it was a big deal because it was the first time I’ve ever been able to complete a project and get paid for it and call myself a programmer and it was somewhat legitimate.
This was huge. It changed the way I thought about myself. It had this effect on my psyche. Suddenly, I felt like things that I’d always wanted to do that just felt too hard where now within my reach.
I was so close to saying, “no.” Had I said, “no,” I think the whole course of my life would have been different. I don’t think I’d be programming at all today. I’m very happy that I am.
That opportunity led to others.
I worked with that same friend. We did two or three projects together. Most recently, we went to the White House Game Jam last year. Bigger opportunities grew out of that smaller one.
My First Tutorial
The second opportunity was the opportunity to write for the raywenderlich.com Team. I had been reading the blog for a while. I learned a lot about Cocos2d. I had a tremendous amount of respect and admiration for the work that Ray was doing and his other writers. I saw one of these (It wasn’t this one because this is 2014.) posts:
I really wanted to write for the site but once again, I really felt like I wasn’t at that level.
I didn’t know what I was doing. I looked at the other people, Ray himself and the other people, he had writing for him, and I just said, “I’m not at that level.”
I struggled with writing at that time. I had been through school and really practiced writing but I just felt my writing skill was still pretty weak. But, I really wanted to do it. I knew that if I toggled that giant, that I would feel once again that I was capable of doing things that really impress myself. That I was kind of awesome.
I went ahead and emailed Ray. It turned out that he was looking for somebody to write a Corona tutorial and I just happened to have spent couple of months playing around with Corona. So, I wrote a Corona tutorial and I got it published:
Having my name on a post, on a site that was read such a large audience was huge for me because it was something for which I had so much respect. The idea that you could just put your knowledge on the web and that people will flock to you and that could become your career, that blew my mind. I thought that was so cool.
That again led to another opportunities.
- I have participated in most of the “By Tutorials” series books.
- I wrote the Platformer Game Starter Kit.
- I’m a co-host of the raywenderlich.com podcast with Mic.
- I’m here today at RWDevCon as a speaker.
All of that flowed from me saying yes and again, I was right on that precipice where I was really hesitant to do it but I knew I have to push myself and I did.
My GPUImage Experience
The third opportunity is the opportunity that you create.
I had gotten into image processing through writing about Core Image for iOS 5 By Tutorials. I fell in love with it. Core Image was limited at the time because you couldn’t write custom kernels? so you’re limited to the set of filters that you had. I really wanted more.
Just shortly thereafter, Brad Larson came out with his GPUImage framework. This was exactly what I wanted. Anything you could do in a shader, you could do in GPUImage which was awesome.
I jumped in and I started learning GLSL and OpenGL. I didn’t know it before but I really wanted to be able to do this.
I got into this and instead of just learning it for myself, I started contributing filters back. I was number two or three for a little while on the list of contributors. Brad Larson was about 95% of the code and then I was about 3% but that still put me near the top.
My name was on his project. I wrote a couple of blog posts about how to write filters. So people were emailing me for help with their own GPUImage projects.
This GPUImage work that I did created this environment for myself where people were coming to me for help with this great framework. It turned in to be huge thing. Probably about half of my living today come from helping people out with GPUImage.
The great thing about the OpenGL scale is not every iOS programmer is willing to dive in and learn OpenGL. A lot of times, other programmers will come to me and I will just do that little chunk of their app and they’ll do the rest.
Working with programmers is great.
- They’re easy to work with.
- I get to charge a premium rate because it’s a specialized skill.
It’s turned out to be fantastic.
Then, on top of that, at one point Apple was recruiting for their Core Image team. They contacted me and flew me out for an interview.
I would never have applied for Apple. I mean, I don’t have a CS education. I had been programming for only a few years. I did not see myself as anything like the guys I expect work there. Yet, because of this work I did with GPUImage, I got this opportunity to go talk to them and interview for a job, which was awesome.
What Would Tina Do?
All these opportunities have one main thing in common for me. That was that in all these cases I already felt like I was not qualified. I didn’t know what I was doing. They required me to get outside of my comfort zone.
These are just the few examples. You’ll find that as you push yourself, this is how you grow. As you put yourself into this situation where you don’t feel you’re equal to the task, you’ll find yourself rising up to the task.
You have to be able to walk into the unknown.
You have to put yourself in this jeopardy situation where you could be humiliated or you could fail. A lot of times you don’t. A lot of times you surprise yourself. Even when you do, you find that you grow.
The question is, how do you do that? There’s this book by Tina Fey called Bossypants. She talks about this rule.
Early in her career, she learned improvisation. It’s a style of comedy. In improv comedy, actors create a situation on the fly, a scenario.
The rule with improvisation is you always agree with your partner. You always say yes.
Here’s an example. If I say, “Freeze! I have a gun.”, and you say, “Ah. That’s not a gun. That’s your finger.” Well then, the scene has come into a halt. You can’t go anywhere from there.
If instead I say, “Freeze! I have a gun,” and you say, “The gun I gave you for Christmas! You bastard!” Well now we have a scene and it’s rolling.
Just Say “Yes” To Your Life
You can apply this to your life. Instead of having this negative reaction to things that are new or unknown or intimidating, you can just go with it. Just say, “yes,”and roll with what comes to you.
For me, I had read this book right about the time that I was getting into working with Ray and that was very much on my mind. I just got to try things. I just got to do it.
There were times when an opportunity came to me and I felt like, “I’m not equal to it. I can’t do it. I’m not qualified. It’s too much work.”
Then I would remember my desire to try new things and just say, “yes.” I realized that I really should be looking specifically at the things that intimidate me because those are the things that I would most love to do. Those are the things that I find the most satisfaction from and I feel good about.
I’ve tried to keep that in mind.
I want you all to imagine what kinds of opportunities, what adventures you get into if you always say yes. If new opportunities come to your path, just say, “I’m gonna try this. I’m gonna do it.” I want you to think about how you might grow or how that might stretch you.
Get Out Of Your Comfort Zone
For me, I had been working in safe and stable job in a cubicle doing spreadsheets all day long. It was not very interesting. Some people like it and that’s fine, but for me, I knew I wanted to be programmer.
I was able to say yes to series of opportunities and get out of the position I was in and into a new position.
Now, I work for myself. I get to set my own hours and I have a lot more freedom.
The work I do today, I find interesting. When I get up in the morning and decided to go about my work. For me, it was a big shift.
There was a long period in my life when I felt like, I was going to have to resign myself to the first, to the gray slide. That would be my life, then there was no escape. It was a big deal that I was able to take this opportunities and change my fate.
Little opportunities seem to grow into bigger ones.
Even if the time you felt like, “I don’t really know if anything’s gonna come out of this.” That happened to me a lot especially with the GPUImage situation. I had no idea what that would turn into but I was excited about that. I thought that was cool and I wanted to work on it. It turned out to be huge.
Escape The Trap of Staying Put
If you’re feeling that everything is going great and you’re happy and you’re good at what you do, that’s great but it might be a trap.
There might be opportunities for you out there that would cause you to grow and stretch you. That will make you feel better if you just kind of put yourself in that scary place and take advantage of it.
I want to challenge all of you to get out of your comfort zone, to always say, “yes,” and to sail your ship to exotic lands.