1 00:00:00,000 --> 00:00:05,510 [? music ?] [Treehouse Friends] 2 00:00:05,510 --> 00:00:07,930 Hi everyone, my name is Pasan, 3 00:00:07,930 --> 00:00:11,280 and today I want to talk to you about raising your profile. 4 00:00:11,280 --> 00:00:14,440 Whether you're an indie developer, a freelancer, 5 00:00:14,440 --> 00:00:17,200 or you work for someone else, it's always important 6 00:00:17,200 --> 00:00:19,800 to highlight your skills, past experience, 7 00:00:19,800 --> 00:00:23,460 and knowledge in such a way that you'll always be open to new opportunities. 8 00:00:23,460 --> 00:00:26,450 Today we're going to talk to Sam Soffes. 9 00:00:26,450 --> 00:00:30,410 Sam is an iOS developer who has been in the game a long time. 10 00:00:30,410 --> 00:00:32,619 He's worked as a freelancer. 11 00:00:32,619 --> 00:00:35,210 He's worked for startups, and he's worked for big companies. 12 00:00:35,210 --> 00:00:38,450 Today let's talk to him and hear what he has to say 13 00:00:38,450 --> 00:00:42,260 about raising your profile for someone who is new to the tech world. 14 00:00:42,260 --> 00:00:45,630 Sam, thanks a lot for taking the time to do this with us. 15 00:00:45,630 --> 00:00:47,790 You're my inaugural interview, 16 00:00:47,790 --> 00:00:52,230 and for those who don't know, tell us a little bit about yourself, 17 00:00:52,230 --> 00:00:54,430 and by little bit, I mean I lot. 18 00:00:54,430 --> 00:00:56,900 [Sam Soffes] [iOS Developer] All right, thanks for having me. 19 00:00:56,900 --> 00:01:03,550 I'm an iOS developer living in San Francisco. 20 00:01:03,550 --> 00:01:05,470 Do you want the whole story? 21 00:01:05,470 --> 00:01:07,380 Yeah, from the beginning. 22 00:01:07,380 --> 00:01:11,350 So in high school I was doing Mac apps just for fun, 23 00:01:11,350 --> 00:01:15,120 and the iPhone SDK came out, and I was like, "This looks amazing," 24 00:01:15,120 --> 00:01:20,220 because I sort of know how to do this, so I started doing that, 25 00:01:20,220 --> 00:01:25,420 made an app called Bible that's pretty popular. 26 00:01:25,420 --> 00:01:29,420 I had my first job and then did some freelance for a bit, 27 00:01:29,420 --> 00:01:32,940 moved around, and now I'm here in San Francisco. 28 00:01:32,940 --> 00:01:38,610 I was at a company called Seesaw, but now I'm freelancing. 29 00:01:38,610 --> 00:01:41,400 I guess in there I made Cheddar, which was pretty popular for a bit. 30 00:01:41,400 --> 00:01:44,630 It's like a Mac iOS web app for to dos. 31 00:01:44,630 --> 00:01:47,810 I don't know, I've done a lot of stuff. 32 00:01:47,810 --> 00:01:49,830 Let's start at the beginning. 33 00:01:49,830 --> 00:01:52,480 How did you learn to code? 34 00:01:52,480 --> 00:01:54,120 You said you started off doing Mac apps. 35 00:01:54,120 --> 00:01:56,970 How did you learn to code, and why? 36 00:01:56,970 --> 00:02:00,380 It sounds like you taught yourself. 37 00:02:00,380 --> 00:02:04,510 Yeah, so way back in 5th grade, 38 00:02:04,510 --> 00:02:09,930 I was 10 years old, my local ISP was having HTML classes, 39 00:02:09,930 --> 00:02:11,170 which is pretty hilarious. 40 00:02:11,170 --> 00:02:13,370 It's nothing that happens anymore. 41 00:02:13,370 --> 00:02:16,360 But my mom wanted to learn how to make websites, 42 00:02:16,360 --> 00:02:18,980 so she's like, "Well, let's go," and I didn't have a babysitter, so I tagged along. 43 00:02:18,980 --> 00:02:22,030 And she didn't really get into it, but I was like, "Oh, this is amazing!" 44 00:02:22,030 --> 00:02:28,560 I started doing HTML in Notepad way back in the day, 45 00:02:28,560 --> 00:02:32,040 and then I got a Flash 5 demo at some point along the line, 46 00:02:32,040 --> 00:02:34,580 and somebody was talking about it or I saw it. 47 00:02:34,580 --> 00:02:36,580 I was like, "What is this Flash thing?" so I got a demo. 48 00:02:36,580 --> 00:02:42,890 And I wrote my first if statement in ActionScript in Flash 5 49 00:02:42,890 --> 00:02:48,080 just tweening a ball, stupid stuff. 50 00:02:48,080 --> 00:02:53,330 And I guess I took a C++ class in high school, 51 00:02:53,330 --> 00:02:56,930 which the teacher didn't really know anything, but it was still pretty cool, just encouragement, 52 00:02:56,930 --> 00:03:00,140 like we'll figure this out together. 53 00:03:00,140 --> 00:03:03,340 I did that for a bit and then picked up PHP 54 00:03:03,340 --> 00:03:05,890 because I wanted to make better websites for clients, 55 00:03:05,890 --> 00:03:10,050 and that's very similar to the C syntax, so I was like, "Oh, this is easy enough." 56 00:03:10,050 --> 00:03:12,700 It's all similar to ActionScript. 57 00:03:12,700 --> 00:03:18,930 This is all kind of the same, just more $ signs. 58 00:03:18,930 --> 00:03:22,550 And then went to an Apple event 59 00:03:22,550 --> 00:03:24,780 in Atlanta. 60 00:03:24,780 --> 00:03:27,200 I was living in Kentucky at the time, so I drove down with a friend 61 00:03:27,200 --> 00:03:29,220 just because I was an Apple fan. 62 00:03:29,220 --> 00:03:32,500 I didn't really know Apple development, and they were showing off all their tools, 63 00:03:32,500 --> 00:03:35,790 and I was like, "This is incredible!" so I bought a book and taught myself 64 00:03:35,790 --> 00:03:42,260 Mac stuff because I liked Apple stuff. 65 00:03:42,260 --> 00:03:44,020 I completely understand that. 66 00:03:44,020 --> 00:03:47,820 Now, where did you get your start in iPhone development? 67 00:03:47,820 --> 00:03:51,040 What prompted you to jump onto that platform, 68 00:03:51,040 --> 00:03:53,070 and how did you teach yourself? 69 00:03:53,070 --> 00:03:59,400 For our students out there who are teaching themselves iPhone development and iPad development through us, 70 00:03:59,400 --> 00:04:01,040 what prompted you? 71 00:04:01,040 --> 00:04:04,320 How did you go about teaching yourself how to code 72 00:04:04,320 --> 00:04:08,170 and then translating that into what you do now? 73 00:04:08,170 --> 00:04:10,390 ["How did you go from teaching yourself how to code to making a career out of it?"] 74 00:04:10,390 --> 00:04:15,640 I think the biggest thing with learning anything is doing it, 75 00:04:15,640 --> 00:04:19,790 so I wanted to make a Mac app after seeing the Apple stuff at that demo, 76 00:04:19,790 --> 00:04:24,240 so I was like, "Okay, I'm going to buy a book and figure this out and go make something." 77 00:04:24,240 --> 00:04:26,840 I had a project in mind and went and made it. 78 00:04:26,840 --> 00:04:29,110 And same for the iPhone. 79 00:04:29,110 --> 00:04:34,360 We were talking at my job, and I was like, "Well, why don't we make an app?" 80 00:04:34,360 --> 00:04:39,680 "Yeah, why don't we make the Bible?" and I was like, "All right, easy enough." 81 00:04:39,680 --> 00:04:41,470 I had no idea, but I was like, okay. 82 00:04:41,470 --> 00:04:44,460 My first interface bullet wasn't even there yet. 83 00:04:44,460 --> 00:04:48,540 From the very beginning it was super hard to do anything. 84 00:04:48,540 --> 00:04:51,240 I was like, all right, I'll figure it out, 85 00:04:51,240 --> 00:04:54,890 and I spent 6 months and fought through it, had no idea what I was doing. 86 00:04:54,890 --> 00:04:56,850 The first version was probably really terrible. 87 00:04:56,850 --> 00:05:00,370 So that was your very first app that you did? 88 00:05:00,370 --> 00:05:02,010 Yeah. 89 00:05:02,010 --> 00:05:04,730 Wow, and for those who are listening, to put this in perspective, 90 00:05:04,730 --> 00:05:08,550 that's been downloaded well over millions and millions of times now. 91 00:05:08,550 --> 00:05:10,070 A hundred million, yeah. 92 00:05:10,070 --> 00:05:12,260 They had their big party a couple weeks ago. 93 00:05:12,260 --> 00:05:15,200 So walk us through that experience. 94 00:05:15,200 --> 00:05:19,520 I think one of the biggest things for our students 95 00:05:19,520 --> 00:05:22,560 is that sometimes they'll go through tutorials 96 00:05:22,560 --> 00:05:24,320 and then wonder where to go next. 97 00:05:24,320 --> 00:05:27,730 Back then when you were starting on your first project, 98 00:05:27,730 --> 00:05:30,170 when you got stuck, what did you do? 99 00:05:30,170 --> 00:05:32,370 How did you teach yourself? 100 00:05:32,370 --> 00:05:34,360 ["When you get stuck, how do you work your way out?"] 101 00:05:34,360 --> 00:05:36,230 It was tough, because by law, you weren't allowed to talk about it 102 00:05:36,230 --> 00:05:41,450 because it still hadn't been released, so you couldn't even talk to anyone. 103 00:05:41,450 --> 00:05:47,200 It was really hard, because there weren't great resources like Treehouse and Stack Overflow. 104 00:05:47,200 --> 00:05:53,690 I guess when I was stuck on something I'd try to understand 105 00:05:53,690 --> 00:05:57,800 more about the problem and less of there's an error, and I don't know what it means, 106 00:05:57,800 --> 00:05:59,050 and I'll google it, and I'll get no results. 107 00:05:59,050 --> 00:06:01,000 It was like, well, crap. 108 00:06:01,000 --> 00:06:03,700 It was more like, okay, what did I do recently 109 00:06:03,700 --> 00:06:05,870 to get me in this spot? 110 00:06:05,870 --> 00:06:08,740 I'll try to work backwards and understand more. 111 00:06:08,740 --> 00:06:11,860 I think a big mistake a lot of people can make early on 112 00:06:11,860 --> 00:06:15,850 when learning something is I want to understand everything there is to know, 113 00:06:15,850 --> 00:06:17,030 and then I'm going to start. 114 00:06:17,030 --> 00:06:19,340 They treat it like a college or something, 115 00:06:19,340 --> 00:06:21,970 and I think that's a really terrible way to start, 116 00:06:21,970 --> 00:06:26,580 especially iPhone or Rails or whatever you're learning. 117 00:06:26,580 --> 00:06:30,410 They are huge, vast frameworks, and it would take you years 118 00:06:30,410 --> 00:06:32,610 to understand them, and then by that time, it would all be different. 119 00:06:32,610 --> 00:06:34,330 It's a huge waste of time. 120 00:06:34,330 --> 00:06:39,300 But I guess when you're stuck on something it helps to get a little more context 121 00:06:39,300 --> 00:06:44,460 to understand more about what you're stuck on. 122 00:06:44,460 --> 00:06:46,990 There's a balance to trying to understand all of it, 123 00:06:46,990 --> 00:06:52,540 but I'm trying to remember back. 124 00:06:52,540 --> 00:06:57,260 I'd walk around like I have no idea and think about it for a bit, 125 00:06:57,260 --> 00:07:00,820 like oh, maybe I'll try this, and it happened to work or didn't work. 126 00:07:00,820 --> 00:07:03,010 So it was very much getting stuck, 127 00:07:03,010 --> 00:07:06,300 figuring out that one block and then moving on, 128 00:07:06,300 --> 00:07:09,550 getting stuck again and progressing from there? 129 00:07:09,550 --> 00:07:12,570 Yeah, it was very slow and tedious. 130 00:07:12,570 --> 00:07:16,540 The way I learn anyway is trial and error, 131 00:07:16,540 --> 00:07:19,800 so when I'm doing anything new 132 00:07:19,800 --> 00:07:21,510 I'll say, "Well, I'll try this. Well, it didn't work. 133 00:07:21,510 --> 00:07:24,690 I'll try this. Oh, okay." 134 00:07:24,690 --> 00:07:29,740 And eventually I'll get it, so I think doing is the best way to learn something 135 00:07:29,740 --> 00:07:32,590 than trying to understand all of the book knowledge. 136 00:07:32,590 --> 00:07:34,840 Personally that doesn't do anything for me. 137 00:07:34,840 --> 00:07:38,280 I'd rather get in there and play with it. 138 00:07:38,280 --> 00:07:40,140 Absolutely. 139 00:07:40,140 --> 00:07:42,960 With all this experience that you have, is it any different? 140 00:07:42,960 --> 00:07:46,070 Or do you still work through, get stuck? 141 00:07:46,070 --> 00:07:48,670 It's kind of the same thing, right? 142 00:07:48,670 --> 00:07:50,220 Yeah, absolutely. 143 00:07:50,220 --> 00:07:54,180 Now it's way easier because there's so many resources. 144 00:07:54,180 --> 00:07:57,540 IOS specifically or whatever else 145 00:07:57,540 --> 00:08:00,700 there's a huge amount of things to know, 146 00:08:00,700 --> 00:08:02,400 and it's impossible to remember it all. 147 00:08:02,400 --> 00:08:05,260 I'll find myself—I've done this a bunch of times. 148 00:08:05,260 --> 00:08:07,540 I found something on Stack Overflow and went to comment. 149 00:08:07,540 --> 00:08:09,750 This is exactly perfect. This is the best answer. 150 00:08:09,750 --> 00:08:13,520 And then I saw a comment from me years ago with the exact— 151 00:08:13,520 --> 00:08:16,250 it was like oh, well, all right. 152 00:08:16,250 --> 00:08:18,770 I search for stuff all the time 153 00:08:18,770 --> 00:08:21,450 because I can't remember how to do stuff, 154 00:08:21,450 --> 00:08:26,430 or I might learn something new, like all the new stuff in iOS7. 155 00:08:26,430 --> 00:08:30,530 Obviously no one has any experience with it because it's brand-new, or whatever else. 156 00:08:30,530 --> 00:08:34,750 It's like, okay, I'll sit down and spend a couple hours and learn it 157 00:08:34,750 --> 00:08:38,760 by playing with it and making a little demo app or something. 158 00:08:38,760 --> 00:08:43,190 The theme of this discussion, because you have a lot of experience in this area, 159 00:08:43,190 --> 00:08:46,000 is how to raise your profile. 160 00:08:46,000 --> 00:08:48,580 You've come a long way from when you first started. 161 00:08:48,580 --> 00:08:54,460 You have a lot of great apps, Shares, Bible. 162 00:08:54,460 --> 00:08:57,570 Walk us through that. 163 00:08:57,570 --> 00:08:59,570 What specific steps do you take? 164 00:08:59,570 --> 00:09:04,030 What advice do you have for people who have taught themselves how to code? 165 00:09:04,030 --> 00:09:06,210 What's the next step? 166 00:09:06,210 --> 00:09:09,210 Because now the gold rush is over. 167 00:09:09,210 --> 00:09:11,260 You've got to put a lot of effort into it, 168 00:09:11,260 --> 00:09:13,910 especially if you're doing indie development like you are 169 00:09:13,910 --> 00:09:17,290 to raising your profile and being able to market these apps. 170 00:09:17,290 --> 00:09:20,220 Walk us through that. 171 00:09:20,220 --> 00:09:22,170 ["What steps have you taken to raise your profile?"] 172 00:09:22,170 --> 00:09:27,280 Personal branding I think is really important, and it's something I've spent a lot of time on. 173 00:09:27,280 --> 00:09:32,160 I didn't just stumble upon whatever position I have in the community. 174 00:09:32,160 --> 00:09:36,690 There's intentional effort put into that, 175 00:09:36,690 --> 00:09:40,590 which sounds weird, like "I'm going to try to be famous today." 176 00:09:40,590 --> 00:09:44,610 But it really pays off, 177 00:09:44,610 --> 00:09:47,670 because I can tweet something and get 1,000 clicks pretty easily, 178 00:09:47,670 --> 00:09:50,330 which is really powerful, 179 00:09:50,330 --> 00:09:54,450 which is crazy because TechCrunch has hundreds of thousands of followers, 180 00:09:54,450 --> 00:09:56,210 or I don't even know, tons. 181 00:09:56,210 --> 00:10:00,070 But they'll tweet something, and I've had them write a story about something I've worked on 182 00:10:00,070 --> 00:10:03,340 and got a couple hundred clicks, and I was like, "This is insane." 183 00:10:03,340 --> 00:10:05,670 People that are into me are really engaged 184 00:10:05,670 --> 00:10:07,400 in what I have to say, which is flattering. 185 00:10:07,400 --> 00:10:09,570 Pretty cool. 186 00:10:09,570 --> 00:10:14,050 I guess one of the reasons people respect me— 187 00:10:14,050 --> 00:10:16,490 this sounds so arrogant, this whole thing— 188 00:10:16,490 --> 00:10:22,820 is open source stuff, because I've put out a ton of open source libraries, 189 00:10:22,820 --> 00:10:25,460 and that was my start. 190 00:10:25,460 --> 00:10:33,270 Some of that stuff came from code that was in Bible way back in 2008. 191 00:10:33,270 --> 00:10:37,430 I know that's probably terrible, but I've been doing it since the beginning. 192 00:10:37,430 --> 00:10:40,770 I wrote some stuff that I'm going to use in another app, so why not let everyone use it 193 00:10:40,770 --> 00:10:42,950 instead of hoard it all? 194 00:10:42,950 --> 00:10:46,290 And people seemed to really like it, like "Oh, yeah, you saved me all this time. Thanks so much." 195 00:10:46,290 --> 00:10:54,380 I think that's where the start of it came from, but I'm super open about everything. 196 00:10:54,380 --> 00:10:57,430 That's in your DNA analysis. 197 00:10:57,430 --> 00:11:00,650 Yeah, you can totally go download my DNA in GitHub. 198 00:11:00,650 --> 00:11:04,400 There's 3 or 4, I don't even know, Founders Talk interviews. 199 00:11:04,400 --> 00:11:07,320 They're an hour and a half each, and it's my entire life story 200 00:11:07,320 --> 00:11:09,850 from when I was super depressed. 201 00:11:09,850 --> 00:11:12,100 It's long. 202 00:11:12,100 --> 00:11:14,280 I talk about pretty much everything. 203 00:11:14,280 --> 00:11:16,550 I think a lot of people find that refreshing. 204 00:11:16,550 --> 00:11:22,470 Some people in their online persona take a lot of time and thought 205 00:11:22,470 --> 00:11:26,690 into what they're going to say and how they're going to project themselves, and I don't really do any of that. 206 00:11:26,690 --> 00:11:28,560 I'm like, "Here's what I'm doing. 207 00:11:28,560 --> 00:11:31,810 Today I hate my client work, so that sucks." 208 00:11:31,810 --> 00:11:34,510 You let your work speak for itself. 209 00:11:34,510 --> 00:11:36,110 Yeah, exactly. 210 00:11:36,110 --> 00:11:39,400 I work really hard on what I work on, and I try to make it really good, 211 00:11:39,400 --> 00:11:45,160 and some people appreciate it, and I get people that are like, "Oh, this guy is stupid. 212 00:11:45,160 --> 00:11:47,580 His stuff is terrible," and whatever, I don't care. 213 00:11:47,580 --> 00:11:53,510 One question is that you are both a designer and a developer. 214 00:11:53,510 --> 00:11:55,310 I want to be a designer, yes. 215 00:11:55,310 --> 00:11:57,010 Talk about that. 216 00:11:57,010 --> 00:11:59,420 How has that helped what you do? 217 00:11:59,420 --> 00:12:02,360 Is it essential to know those skills? 218 00:12:02,360 --> 00:12:08,130 The baseline for all these questions is you've taught yourself how to code. 219 00:12:08,130 --> 00:12:15,560 Is that set of skills essential as well to creating this career path for yourself? 220 00:12:15,560 --> 00:12:17,310 ["Is learning cross disciplinary skills important to advancing your career?"] 221 00:12:17,310 --> 00:12:19,060 I'm not a great designer. 222 00:12:19,060 --> 00:12:23,100 I can make some stuff that I'm really happy with and some stuff that's terrible. 223 00:12:23,100 --> 00:12:25,020 It's like, "Okay, I've got to find someone to help me." 224 00:12:25,020 --> 00:12:27,470 And so you're seeing the gold rush is over, 225 00:12:27,470 --> 00:12:31,450 and that's a really big shift from 5 years ago. 226 00:12:31,450 --> 00:12:35,580 If you have the first anything, people are going to go download it, because that's all there was. 227 00:12:35,580 --> 00:12:40,210 Now there's probably not any super new game-changing ideas. 228 00:12:40,210 --> 00:12:42,150 There's a million Twitter clients. 229 00:12:42,150 --> 00:12:44,630 If you want to make a Twitter client, you've got to make a really special Twitter client, 230 00:12:44,630 --> 00:12:46,560 and that's the thing with any kind of app. 231 00:12:46,560 --> 00:12:52,150 And a lot of that is if it's really pretty and has a good icon. 232 00:12:52,150 --> 00:12:55,390 A lot of developers starting out don't have science skills, and that's fine, 233 00:12:55,390 --> 00:12:59,770 because it's really 2 completely different skill sets. 234 00:12:59,770 --> 00:13:05,060 Partnering with a designer I think is a really good move you can make from the beginning, 235 00:13:05,060 --> 00:13:08,330 and I do a ton of apps with other designers. 236 00:13:08,330 --> 00:13:10,730 I did work on Roon with Drew Wilson 237 00:13:10,730 --> 00:13:14,010 and a couple other apps coming out with designer friends, 238 00:13:14,010 --> 00:13:16,050 because I'm not skilled enough to design them. 239 00:13:16,050 --> 00:13:18,420 But I know if I was to do it it wouldn't be good, 240 00:13:18,420 --> 00:13:20,500 and there's no point in putting out something that's terrible 241 00:13:20,500 --> 00:13:23,450 unless you're just learning and want to test the waters. 242 00:13:23,450 --> 00:13:25,760 But for me, I want to put out something that's excellent, 243 00:13:25,760 --> 00:13:28,000 so I'm going to work with a designer to help me, 244 00:13:28,000 --> 00:13:33,700 and I find that having designed stuff myself, it's a lot easier to see where they're coming from, 245 00:13:33,700 --> 00:13:38,090 and everyone I work with I have a lot of feedback, 246 00:13:38,090 --> 00:13:40,000 and we'll work together on it. 247 00:13:40,000 --> 00:13:42,920 They'll do all the actual work, and I'm like, "Why don't we try this?" 248 00:13:42,920 --> 00:13:44,360 "Oh, that's a great idea." 249 00:13:44,360 --> 00:13:48,290 And coming at that together, even if I was on the other end of that as a designer, 250 00:13:48,290 --> 00:13:50,160 having feedback is essential. 251 00:13:50,160 --> 00:13:52,610 Working with someone I think is really fulfilling 252 00:13:52,610 --> 00:14:03,000 on the developer end as well as having the end result that's pretty is really important. 253 00:14:03,000 --> 00:14:05,090 Does that answer the question? 254 00:14:05,090 --> 00:14:07,100 Yeah. 255 00:14:07,100 --> 00:14:11,630 To summarize, it really helps you work together as a team, 256 00:14:11,630 --> 00:14:14,670 because you understand their frustrations and their workflow, 257 00:14:14,670 --> 00:14:19,010 and you can gel better, for lack of a better word. 258 00:14:19,010 --> 00:14:24,440 Yeah, absolutely, and I find that designers, especially if they're a really great designer 259 00:14:24,440 --> 00:14:26,910 but they've never done iOS before, and they're doing an iOS app, 260 00:14:26,910 --> 00:14:29,330 it's like this is going to be really painful, 261 00:14:29,330 --> 00:14:35,340 because they don't understand all the intricacies of touch devices and whatnot. 262 00:14:35,340 --> 00:14:39,780 An experienced designer, especially a designer in code, is amazing. 263 00:14:39,780 --> 00:14:42,130 They'll have the same thing right back. 264 00:14:42,130 --> 00:14:45,510 You can work really well together. 265 00:14:45,510 --> 00:14:48,150 On Roon, it's a blogging app I run, 266 00:14:48,150 --> 00:14:53,900 the designer also does all the HTML and JavaScript, CSS and stuff. 267 00:14:53,900 --> 00:14:57,150 We work really well together because he understands where I'm coming from, 268 00:14:57,150 --> 00:15:01,170 I understand where he's coming from, and we can get stuff done. 269 00:15:01,170 --> 00:15:03,790 If you're just starting out, finding a designer friend 270 00:15:03,790 --> 00:15:07,330 would be a huge thing to work on some stuff together, 271 00:15:07,330 --> 00:15:11,490 because there's a ton of good benefits. 272 00:15:11,490 --> 00:15:13,400 I'm a big fan. 273 00:15:13,400 --> 00:15:15,530 So you've taught yourself iOS development 274 00:15:15,530 --> 00:15:21,530 and then got a job in it or had a job and then taught yourself iOS development 275 00:15:21,530 --> 00:15:23,080 while you had the job? 276 00:15:23,080 --> 00:15:30,040 I was doing PHP at LifeChurch, which is where I was after high school. 277 00:15:30,040 --> 00:15:36,570 I did a couple flying apps, and a guy hired me to make a YouTube ripoff, 278 00:15:36,570 --> 00:15:38,760 which was pretty hilarious. 279 00:15:38,760 --> 00:15:41,010 It was totally out of my league, but it was a really good time. 280 00:15:43,260 --> 00:15:46,510 Not to get too sidetracked, but he's like, "Hey, can you make this?" 281 00:15:46,510 --> 00:15:48,170 I was like, "Well, sure," 282 00:15:48,170 --> 00:15:51,510 having no idea how to do it, but I was like I'm going to learn and figure it out 283 00:15:51,510 --> 00:15:53,660 and learn by doing. 284 00:15:53,660 --> 00:15:55,930 It's really good, but anyway, I was doing PHP, 285 00:15:55,930 --> 00:15:59,500 and iPhone came out, and it was like I kind of know Objective-C. 286 00:15:59,500 --> 00:16:01,380 Why don't we make something? 287 00:16:01,380 --> 00:16:03,030 I was really fortunate. 288 00:16:03,030 --> 00:16:07,420 I got to spend 6 months working on it as my job 289 00:16:07,420 --> 00:16:10,440 and not having to do it on my free time. 290 00:16:10,440 --> 00:16:12,950 That was really great. 291 00:16:12,950 --> 00:16:16,960 So I do a ton of Ruby on Rails stuff as well, 292 00:16:16,960 --> 00:16:26,790 and I've learned that in my free time shortly after my first app came out. 293 00:16:26,790 --> 00:16:32,000 I think the difference between learning during your full-time job 294 00:16:32,000 --> 00:16:35,760 and learning in your free time is that learning on your job 295 00:16:35,760 --> 00:16:37,970 there's not any sort of cost. 296 00:16:37,970 --> 00:16:42,180 It's like I'll just mess around and learn all this stuff for the fun of it, 297 00:16:42,180 --> 00:16:47,650 and that's great, and if you can get paid to learn, that's incredible. 298 00:16:47,650 --> 00:16:53,230 But learning on my own I was like okay, I want to make this thing, and I don't know how, 299 00:16:53,230 --> 00:16:55,110 so I'm going to do everything it takes to make this thing 300 00:16:55,110 --> 00:16:59,240 as quickly as possible, because I don't have a ton of time. 301 00:16:59,240 --> 00:17:05,609 I think the sense of urgency, because your time is limited, helps. 302 00:17:05,609 --> 00:17:07,500 It's definitely a different way to learn something. 303 00:17:07,500 --> 00:17:09,119 Interesting. 304 00:17:09,119 --> 00:17:13,910 Say I know how to code, and I'm looking to get a job in iOS development. 305 00:17:13,910 --> 00:17:16,310 What do you recommend as some of the steps I can take 306 00:17:16,310 --> 00:17:18,319 to raise my profile? 307 00:17:18,319 --> 00:17:23,589 Do I work on side projects, or do I try to build apps on my own 308 00:17:23,589 --> 00:17:25,430 to showcase the skills that I have? 309 00:17:25,430 --> 00:17:29,480 What are some of those ways that our students can land a job 310 00:17:29,480 --> 00:17:32,340 once they've learned these skill sets? 311 00:17:32,340 --> 00:17:34,230 ["What are some of the different ways you can land an iOS job?"] 312 00:17:34,230 --> 00:17:36,000 When I was at Scribd, we were hiring like crazy, 313 00:17:36,000 --> 00:17:44,520 and I interviewed tons and tons of iOS developers, 314 00:17:44,520 --> 00:17:47,160 and because there were so many candidates, I had to be like, 315 00:17:47,160 --> 00:17:49,610 "Here's a set of rules, and I'm going to eliminate people." 316 00:17:49,610 --> 00:17:53,530 Basically if you'd only ever had 1 job, 317 00:17:53,530 --> 00:17:57,760 if you got a job as an iOS developer and you'd only ever worked on 1 thing 318 00:17:57,760 --> 00:17:59,720 and then you applied somewhere else, I'm not going to hire you, 319 00:17:59,720 --> 00:18:02,070 because you probably can't do anything on your own, 320 00:18:02,070 --> 00:18:06,430 and you're just going to rely on the people that are there that are better than you. 321 00:18:06,430 --> 00:18:09,840 I want people that are more self-sustaining. 322 00:18:09,840 --> 00:18:12,680 If you've never done any side projects, I probably wouldn't hire you, 323 00:18:12,680 --> 00:18:16,620 because finishing a project, like the last 10% of anything, 324 00:18:16,620 --> 00:18:18,760 is really hard and not fun at all, 325 00:18:18,760 --> 00:18:20,710 and everyone is really bad at it, 326 00:18:20,710 --> 00:18:22,400 because it's not fun. 327 00:18:22,400 --> 00:18:25,690 You have to finish all the things and fix the last bugs you've been putting off. 328 00:18:25,690 --> 00:18:30,160 Showing that you can finish and ship is really important. 329 00:18:30,160 --> 00:18:32,840 If you've done at least an app, 330 00:18:32,840 --> 00:18:36,520 even if it's not amazing, just something on the store, 331 00:18:36,520 --> 00:18:41,590 sets you way above tons of people who have never really finished anything. 332 00:18:41,590 --> 00:18:43,090 Open source is really huge. 333 00:18:43,090 --> 00:18:45,760 If you've contributed anything on GitHub 334 00:18:45,760 --> 00:18:48,530 or if you have your own stuff that people are using, 335 00:18:48,530 --> 00:18:50,400 that's really huge. 336 00:18:50,400 --> 00:18:56,000 That sets you way above a whole other big class of people. 337 00:18:56,000 --> 00:18:59,840 My ideal candidate is someone that's done freelance for a while, 338 00:18:59,840 --> 00:19:04,450 because freelance is really great because you have to try a bunch of different things. 339 00:19:04,450 --> 00:19:07,630 For example, none of my apps until recently 340 00:19:07,630 --> 00:19:09,770 had ever needed to use Map Kit. 341 00:19:09,770 --> 00:19:11,520 One of my clients used Map Kit. 342 00:19:11,520 --> 00:19:13,150 Oh, I'll go on Map Kit. 343 00:19:13,150 --> 00:19:16,080 You learn a bunch of stuff you'd never have to know stuff I was like— 344 00:19:16,080 --> 00:19:19,220 obscure things that I've never needed to know. 345 00:19:19,220 --> 00:19:22,050 But I need it for a client app, so having done freelance 346 00:19:22,050 --> 00:19:25,470 you touch a lot of different things, and that's really great, 347 00:19:25,470 --> 00:19:29,780 and you have to finish and ship because people are paying you. 348 00:19:29,780 --> 00:19:32,030 I mainly look for people that can finish 349 00:19:32,030 --> 00:19:36,890 and have done a bunch of things and show that they can work independently. 350 00:19:36,890 --> 00:19:43,010 Tangibly that's side projects and open source. 351 00:19:43,010 --> 00:19:45,510 Okay, now going back to what you said, 352 00:19:45,510 --> 00:19:49,140 that an ideal candidate would have had some freelance experience, 353 00:19:49,140 --> 00:19:52,370 that was the second question I was going to ask you. 354 00:19:52,370 --> 00:19:57,480 How can one go about getting that experience now? 355 00:19:57,480 --> 00:20:01,160 You're an indie developer, and you do things on your own. 356 00:20:01,160 --> 00:20:03,110 How hard is it to do something on your own? 357 00:20:03,110 --> 00:20:05,750 Or you've done client work as well. You've done it all. 358 00:20:05,750 --> 00:20:10,620 So let's talk about some of those non-employer roles. 359 00:20:10,620 --> 00:20:14,750 One, how hard is it to be an indie developer and make money? 360 00:20:14,750 --> 00:20:17,120 Just touch on that. I know these topics are really vast. 361 00:20:17,120 --> 00:20:21,970 And then secondly, freelance work. 362 00:20:21,970 --> 00:20:25,170 What should someone who just learned how to code— 363 00:20:25,170 --> 00:20:31,220 where should they look, how can they land freelance gigs, that kind of stuff. 364 00:20:31,220 --> 00:20:33,100 ["How do you go about finding freelance jobs building mobile apps?"] 365 00:20:33,100 --> 00:20:35,780 The biggest thing transitioning from a salary to not having a salary, 366 00:20:35,780 --> 00:20:40,320 which is kind of terrifying the first time you do it, 367 00:20:40,320 --> 00:20:42,000 is having a big enough buffer. 368 00:20:42,000 --> 00:20:45,950 I was fortunate enough my first big freelance thing after I left my first full-time job 369 00:20:45,950 --> 00:20:51,320 paid me half down, and I always do everything half down 370 00:20:51,320 --> 00:20:53,380 I think because of this. 371 00:20:53,380 --> 00:20:56,240 It was enough money that I could pay my rent for a couple months, 372 00:20:56,240 --> 00:20:58,340 and I had time to finish this project, 373 00:20:58,340 --> 00:21:02,010 and I got the check the week I was quitting. 374 00:21:02,010 --> 00:21:04,170 It was amazing. 375 00:21:04,170 --> 00:21:06,280 No financial stress.>>Perfect setup. 376 00:21:06,280 --> 00:21:09,010 It was really great, so if you can make that happen, that's really huge. 377 00:21:09,010 --> 00:21:14,600 Otherwise you have to bankroll yourself and save up and hope you find something. 378 00:21:14,600 --> 00:21:16,970 And if you've never found a freelance gig before, 379 00:21:16,970 --> 00:21:19,870 it's probably not the best idea, 380 00:21:19,870 --> 00:21:23,730 and even recently switching from being full-time at Seesaw 381 00:21:23,730 --> 00:21:28,640 to back to freelance in indie, 382 00:21:28,640 --> 00:21:30,790 again, I had work lined up before I left 383 00:21:30,790 --> 00:21:36,130 and had down payments before my salary ended 384 00:21:36,130 --> 00:21:39,500 that was enough to cover me for a couple months. 385 00:21:39,500 --> 00:21:42,730 That's the biggest thing, just solving the financial stress, 386 00:21:42,730 --> 00:21:47,720 and then once you get beyond that, staying motivated is really important, 387 00:21:47,720 --> 00:21:50,730 especially if you've never done it before. 388 00:21:50,730 --> 00:21:53,840 Oh, I don't have a job. No one is making me do anything. 389 00:21:53,840 --> 00:21:58,650 Cool, I'm not going to put on pants for a week, because I don't have to. 390 00:21:58,650 --> 00:22:01,700 The first time I freelanced, I didn't leave my house for several weeks on end once. 391 00:22:01,700 --> 00:22:03,630 I only saw the pizza guy. 392 00:22:03,630 --> 00:22:05,440 I got a notice from the city I had to mow my lawn, 393 00:22:05,440 --> 00:22:08,610 and I was like okay, this is a problem. 394 00:22:08,610 --> 00:22:12,580 I was 19, though, so I guess it's okay. 395 00:22:12,580 --> 00:22:17,890 Anyway, so I guess as far as finding stuff 396 00:22:17,890 --> 00:22:21,420 I'm fortunate enough I've never really had to deal with that 397 00:22:21,420 --> 00:22:23,100 just because my first app was so high profile, 398 00:22:23,100 --> 00:22:25,840 and I've worked on a bunch of other things since. 399 00:22:25,840 --> 00:22:30,380 [Hire Sam] [hire.soff.es] I have a page that's hire.soff.es, 400 00:22:30,380 --> 00:22:33,200 and it has all of my rates and my availability, 401 00:22:33,200 --> 00:22:36,740 and people seem to really love how transparent that is, 402 00:22:36,740 --> 00:22:38,330 so I get a ton of stuff. 403 00:22:38,330 --> 00:22:41,130 I even get people emailing me like, "Hey, I can't afford you, but I really love your page," 404 00:22:41,130 --> 00:22:43,220 and it's like, "Thanks, that's cool." 405 00:22:43,220 --> 00:22:46,090 I think charging the right amount is important, 406 00:22:46,090 --> 00:22:52,180 and I think not to be—I hope this doesn't date this, 407 00:22:52,180 --> 00:22:55,800 but $125 I think is the lowest you should ever go, 408 00:22:55,800 --> 00:22:58,280 even if you've never done anything before ever. 409 00:22:58,280 --> 00:23:02,580 IOS is a really sought-after skill, and not many people can do it 410 00:23:02,580 --> 00:23:08,230 relative to the population or even the people that have iPhone ideas. 411 00:23:08,230 --> 00:23:12,230 You should charge what you're worth, and even if you've never done anything before, 412 00:23:12,230 --> 00:23:14,460 as long as you can push through and finish, 413 00:23:14,460 --> 00:23:17,870 $125 an hour is acceptable, 414 00:23:17,870 --> 00:23:26,600 and I charge $300 now, but I was doing $150 and $200 for a really long time. 415 00:23:26,600 --> 00:23:29,270 I only did $300 recently. 416 00:23:29,270 --> 00:23:34,520 That's really exciting, I think, and will hopefully keep you motivated through the terribleness. 417 00:23:34,520 --> 00:23:36,930 Like, "Well, I'm getting paid enough to push through," 418 00:23:36,930 --> 00:23:38,880 because clients are terrible. 419 00:23:38,880 --> 00:23:40,330 We can talk about how to pick a good client, 420 00:23:40,330 --> 00:23:44,460 but I guess as far as finding people 421 00:23:44,460 --> 00:23:48,430 you may do an app or two, especially if you've never done one for hire. 422 00:23:48,430 --> 00:23:50,430 Just find someone. 423 00:23:50,430 --> 00:23:56,270 I had a friend, he actually works at Apple now, but there was a local brewery, 424 00:23:56,270 --> 00:24:02,920 and they had all these different beers, and he was like, "Hey, I'll make an app for you to showcase your different beers, 425 00:24:02,920 --> 00:24:04,870 and when you add new ones, I can update the app." 426 00:24:04,870 --> 00:24:06,820 And they're like, "Yeah, that would be awesome. 427 00:24:06,820 --> 00:24:08,080 You're just going to give it to us?" 428 00:24:08,080 --> 00:24:10,120 "Yeah, I like your stuff. 429 00:24:10,120 --> 00:24:12,010 You don't have an app. Let's do it." 430 00:24:12,010 --> 00:24:14,100 And they're like, "Yeah, this is amazing," and he did it all, 431 00:24:14,100 --> 00:24:18,740 and that was one of his first projects. 432 00:24:18,740 --> 00:24:20,920 That kind of thing I think is a good place to start 433 00:24:20,920 --> 00:24:26,320 to practice working with someone and finishing. 434 00:24:26,320 --> 00:24:30,470 Those are really hard things on their own that have nothing to do with development. 435 00:24:30,470 --> 00:24:32,350 If you're not comfortable charging someone, 436 00:24:32,350 --> 00:24:35,810 that's probably a really good place to start is to do something for free 437 00:24:35,810 --> 00:24:38,080 just to put out there more apps in your portfolio, 438 00:24:38,080 --> 00:24:42,810 which will help you either get a full-time job or find more clients. 439 00:24:42,810 --> 00:24:44,930 I have something that you should totally do. 440 00:24:44,930 --> 00:24:48,880 I have on my iPhone my last home screen 441 00:24:48,880 --> 00:24:50,260 is all the apps I've worked on. 442 00:24:50,260 --> 00:24:53,220 When people are like, "Hey, what have you done?" I'm like, "This." 443 00:24:53,220 --> 00:24:56,280 And they're like, "Oh, man, this is crazy. You have a whole home screen." 444 00:24:56,280 --> 00:25:00,000 That's right, and it blows minds. 445 00:25:00,000 --> 00:25:03,240 I had someone offer me a job on the spot when I showed them that. 446 00:25:03,240 --> 00:25:05,560 It was like, "Cool, when can you start?" 447 00:25:05,560 --> 00:25:07,800 I was like, "I don't want to work with you. Thanks though." 448 00:25:07,800 --> 00:25:10,310 Building up your portfolio is really important, 449 00:25:10,310 --> 00:25:13,420 because it blows minds when you show it to people. 450 00:25:13,420 --> 00:25:15,950 Yeah, that was super long winded. 451 00:25:15,950 --> 00:25:17,700 Not at all. 452 00:25:17,700 --> 00:25:20,280 So now you're an indie developer, right? 453 00:25:20,280 --> 00:25:23,900 Well, most of my income comes from freelance, 454 00:25:23,900 --> 00:25:27,570 but I do have a lot of projects I work on. 455 00:25:27,570 --> 00:25:31,080 The dream is to make money on my own on my apps, 456 00:25:31,080 --> 00:25:33,330 but that's probably a ways off. 457 00:25:33,330 --> 00:25:36,240 What prompted you to go into that? 458 00:25:36,240 --> 00:25:42,590 It's something I've always wanted to do, and this is my third time 459 00:25:42,590 --> 00:25:46,440 being self-employed, and I'll usually run out of money 460 00:25:46,440 --> 00:25:49,640 or get angry with dealing with clients, 461 00:25:49,640 --> 00:25:52,380 and I'm like, "Okay, I'll go get a job." 462 00:25:52,380 --> 00:25:55,510 And I was at my last job, and I really liked the people, 463 00:25:55,510 --> 00:25:58,360 and I enjoyed what I was working on, but I was like you know what? 464 00:25:58,360 --> 00:26:02,840 I'm not passionate about making a social network or all this stuff. 465 00:26:02,840 --> 00:26:05,230 I'd rather work on my own products, 466 00:26:05,230 --> 00:26:08,680 and most of my products, or all my products really, 467 00:26:08,680 --> 00:26:10,940 have nothing to do with social networking. 468 00:26:10,940 --> 00:26:12,850 It's more like utilities that solve problems that I have. 469 00:26:12,850 --> 00:26:14,960 That's what I was excited about, and that's not what I was doing, 470 00:26:14,960 --> 00:26:19,270 and I was like, well, there's no reason to sit here and spend all this time working on stuff 471 00:26:19,270 --> 00:26:21,510 that I'm not super passionate about. 472 00:26:21,510 --> 00:26:25,370 I want to give them my best work, and I want to do my best work, 473 00:26:25,370 --> 00:26:27,560 and it's not helping anyone. 474 00:26:27,560 --> 00:26:32,470 I was like I'll leave and do my own stuff, 475 00:26:32,470 --> 00:26:37,020 because that's what I want to do, and there's no reason not to. 476 00:26:37,020 --> 00:26:40,020 I found a client that was a friend 477 00:26:40,020 --> 00:26:44,190 and paid me half down, and I quit and did my thing, 478 00:26:44,190 --> 00:26:46,460 and that was that. 479 00:26:46,460 --> 00:26:49,590 Now I spend a lot of time working on my own projects. 480 00:26:49,590 --> 00:26:53,140 I still spend the majority of my time on freelance, unfortunately, 481 00:26:53,140 --> 00:27:00,700 but hopefully I can start to lower that time as I charge more. 482 00:27:00,700 --> 00:27:02,210 Right. 483 00:27:02,210 --> 00:27:05,640 So your company is called Nothing Magical. 484 00:27:05,640 --> 00:27:08,900 Yeah, sort of. 485 00:27:08,900 --> 00:27:13,350 That was for Cheddar, so I founded It's Nothing Magical, Inc. 486 00:27:13,350 --> 00:27:17,370 It's an actual incorporation in Delaware, 487 00:27:17,370 --> 00:27:24,910 which taxes are the worst, but I'm really bad at that side of things. 488 00:27:24,910 --> 00:27:28,280 So that was what I started, and I was trying to get funding, 489 00:27:28,280 --> 00:27:31,660 investment for Cheddar, and it didn't really work out 490 00:27:31,660 --> 00:27:35,800 since no one is—they're like, "You're just this kid by yourself. 491 00:27:35,800 --> 00:27:37,780 We don't really want to give you all this money," 492 00:27:37,780 --> 00:27:40,070 and I was like, "All right, that's fair, I guess." 493 00:27:40,070 --> 00:27:42,390 I didn't really go after it, 494 00:27:42,390 --> 00:27:46,360 and mainly the reason is VC's want you to have a billion dollar business, 495 00:27:46,360 --> 00:27:48,090 and Cheddar wasn't a billion dollar business. 496 00:27:48,090 --> 00:27:50,100 It was something that was just making money and people really liked, 497 00:27:50,100 --> 00:27:52,790 and that's not exciting to most investors. 498 00:27:52,790 --> 00:27:54,690 Sadly. 499 00:27:54,690 --> 00:27:57,130 Yes, it's very sad. 500 00:27:57,130 --> 00:27:59,590 But anyway— 501 00:27:59,590 --> 00:28:01,180 Yeah, separate episode, right? 502 00:28:01,180 --> 00:28:09,100 Yeah, anyway, it kind of sat there, and Cheddar paid for Cheddar, 503 00:28:09,100 --> 00:28:11,850 and I took the money from Cheddar, and that's pretty much it. 504 00:28:11,850 --> 00:28:16,220 And now it pays Roon, and a couple other things go through it. 505 00:28:16,220 --> 00:28:20,210 But most of my contracting is me personally. 506 00:28:20,210 --> 00:28:25,440 I don't know, I'm still in a branding crisis, 507 00:28:25,440 --> 00:28:31,470 and I need to figure out what I'm doing, but I have a couple other things. 508 00:28:31,470 --> 00:28:34,870 Some friends and I are talking about starting a company pretty soon, 509 00:28:34,870 --> 00:28:37,990 so I may ditch it altogether and move everything. 510 00:28:37,990 --> 00:28:39,330 I don't know. I've got to figure it out. 511 00:28:39,330 --> 00:28:42,650 So the interesting thing that I'm getting out of this conversation 512 00:28:42,650 --> 00:28:47,820 is you're very open to change and embrace it and are quick to try out different things. 513 00:28:47,820 --> 00:28:52,670 How important is that in this landscape that's changing so quickly? 514 00:28:52,670 --> 00:28:54,130 ["How important is it to be able to adapt to change?"] 515 00:28:54,130 --> 00:28:56,540 The plan was I was enrolled in college, 516 00:28:56,540 --> 00:29:01,420 and I was going to go and then got a job at LifeChurch, 517 00:29:01,420 --> 00:29:04,500 and that was Oklahoma, and I grew up in Kentucky, 518 00:29:04,500 --> 00:29:07,240 and I was like, "Cool, I'm going to move to Oklahoma 519 00:29:07,240 --> 00:29:11,590 and not go to college," and my mom is like, "What? How?" 520 00:29:11,590 --> 00:29:14,940 I was like whatever, it shouldn't be that bad. 521 00:29:14,940 --> 00:29:17,040 That's what I did, and it was fine, 522 00:29:17,040 --> 00:29:20,850 and I've made huge changes randomly, 523 00:29:20,850 --> 00:29:22,600 like I'm going to move to Texas and get a job. 524 00:29:22,600 --> 00:29:26,840 I moved to Dallas, and then most recently I guess the most notable change 525 00:29:26,840 --> 00:29:36,510 is I quit my job, got married, and moved to California all in a weekend in August. 526 00:29:36,510 --> 00:29:40,670 That was a good time, but anyway— 527 00:29:40,670 --> 00:29:43,170 oh, this is what I was getting at. 528 00:29:43,170 --> 00:29:48,020 If I had gone to college, that was before iOS came out. 529 00:29:48,020 --> 00:29:51,120 It was the summer before, so I would have finished college, 530 00:29:51,120 --> 00:29:54,850 and they surely wouldn't be teaching iOS at all. 531 00:29:54,850 --> 00:29:57,760 What did you go to college for, if you don't mind me asking? 532 00:29:57,760 --> 00:29:59,850 It was for computer science. 533 00:29:59,850 --> 00:30:03,030 But I almost went back a couple years ago. 534 00:30:03,030 --> 00:30:08,590 I was like, okay, I'll actually go to college, and I was going to go back for philosophy or something like that, 535 00:30:08,590 --> 00:30:10,830 something silly, not computer science. 536 00:30:10,830 --> 00:30:13,080 Going to school for computer science is a waste of time, in my opinion. 537 00:30:13,080 --> 00:30:16,910 But that's another thing. 538 00:30:16,910 --> 00:30:22,040 Had I not done that and gone with the plan, 539 00:30:22,040 --> 00:30:26,080 I would have got out and not really known anything, and that's fine. 540 00:30:26,080 --> 00:30:28,780 I guess that has nothing to do with what I was getting at. 541 00:30:30,930 --> 00:30:32,310 Development changes so quickly. 542 00:30:32,310 --> 00:30:36,020 Here we go. 543 00:30:36,020 --> 00:30:39,710 I think if you're opposed to change you'll be stuck in the past, 544 00:30:39,710 --> 00:30:45,180 and for development that's really bad. 545 00:30:45,180 --> 00:30:47,940 I had a job offer recently from a pretty cool company, 546 00:30:47,940 --> 00:30:50,950 and everyone was awesome, a super great opportunity, 547 00:30:50,950 --> 00:30:56,350 amazing pay, and I met the developers, and they were still on a version of Rails from 5 years ago, 548 00:30:56,350 --> 00:30:58,500 and I was like, "What's the deal with this?" 549 00:30:58,500 --> 00:31:00,610 "Oh, yeah, they're really hard to change." 550 00:31:00,610 --> 00:31:03,360 And I was like, "Yikes! I don't want to work here at all." 551 00:31:03,360 --> 00:31:06,910 Developers that hate change, avoid that. 552 00:31:06,910 --> 00:31:08,350 You have to embrace it. 553 00:31:08,350 --> 00:31:10,230 Stuff changes. 554 00:31:10,230 --> 00:31:14,230 You can't be like you've spent all this time on an iOS, and now 5 years from now we're not using iOS. 555 00:31:14,230 --> 00:31:18,160 I don't see that happening, but whatever it is. 556 00:31:18,160 --> 00:31:22,380 That's a really bad thing, because if you stay in the past, 557 00:31:22,380 --> 00:31:24,920 you'll be left behind, 558 00:31:24,920 --> 00:31:27,040 because consumers don't care what the technology is. 559 00:31:27,040 --> 00:31:29,640 They just want to buy the new thing. 560 00:31:29,640 --> 00:31:31,770 Embracing change is really important, 561 00:31:31,770 --> 00:31:37,310 and not being too married to whatever language or technology you're using. 562 00:31:37,310 --> 00:31:41,740 Once you learn how to code, and especially if you learn 2 different languages, 563 00:31:41,740 --> 00:31:43,560 you've learned how to learn a language. 564 00:31:43,560 --> 00:31:48,250 The first time you're learning basics, and you can't really abstract that away. 565 00:31:48,250 --> 00:31:53,210 But once you learn a second language, you're like, "Oh, I understand an abstract sense of language, 566 00:31:53,210 --> 00:31:55,010 and then I can apply it to these 2." 567 00:31:55,010 --> 00:32:00,610 Then you can learn a language in a weekend, and that's an amazing skill to have, 568 00:32:00,610 --> 00:32:06,080 and it's really important, so change is really good, and you shouldn't fear it as a developer. 569 00:32:06,080 --> 00:32:09,960 I've noticed I think you've started playing with Android as well. 570 00:32:09,960 --> 00:32:11,950 You and Ben were tweeting back and forth. 571 00:32:11,950 --> 00:32:14,460 Yes, I was going to make Cheddar for Android a while ago, 572 00:32:14,460 --> 00:32:19,300 and I've had this a couple times like I'm tired of iOS. 573 00:32:19,300 --> 00:32:21,260 I don't want to do it anymore. 574 00:32:21,260 --> 00:32:27,700 I think Android is going to be terrible, but I'll at least try it out and didn't really get very far. 575 00:32:27,700 --> 00:32:30,200 I started that same chorus way back 576 00:32:30,200 --> 00:32:35,430 and then downloaded Android Studio, and I didn't understand how to adapt the chorus to the stuff, 577 00:32:35,430 --> 00:32:37,630 so Ben was helping me. 578 00:32:37,630 --> 00:32:39,840 He's like, "Isn't this great? Android is so fun!" 579 00:32:39,840 --> 00:32:45,030 I was like, "I waited 30 minutes for the emulator to start. This is not fun." 580 00:32:45,030 --> 00:32:48,890 But I started working on hardware recently. 581 00:32:48,890 --> 00:32:50,850 My biggest project right now is hardware, 582 00:32:50,850 --> 00:32:55,140 and I know nothing about hardware or circuits or any of that stuff, 583 00:32:55,140 --> 00:32:58,760 so it was really hard, and I don't know what I'm doing, but that's great. 584 00:32:58,760 --> 00:33:04,290 That's the place I want to be, because there's only so many times I can hit an API 585 00:33:04,290 --> 00:33:06,150 and show some stuff in a table view. 586 00:33:06,150 --> 00:33:09,740 That's every iOS app ever. 587 00:33:09,740 --> 00:33:13,070 Putting myself in a situation 588 00:33:13,070 --> 00:33:15,480 where I'm over my head and I have to push myself to learn 589 00:33:15,480 --> 00:33:19,870 is really important, and it's easy to get in a spot where you're comfortable, 590 00:33:19,870 --> 00:33:23,230 like okay, I have a really good hang of iOS, 591 00:33:23,230 --> 00:33:26,160 and you're not going to learn anything new for a long time. 592 00:33:26,160 --> 00:33:28,110 You're just going to rinse and repeat all of your apps, 593 00:33:28,110 --> 00:33:32,440 and I don't want to be in that spot, so I'm trying to find things that are— 594 00:33:32,440 --> 00:33:34,410 That challenge you. 595 00:33:34,410 --> 00:33:36,290 Yeah, exactly. 596 00:33:36,290 --> 00:33:38,180 I don't want to take up too much of your time, 597 00:33:38,180 --> 00:33:43,090 so to wrap this up, if you had advice for our students 598 00:33:43,090 --> 00:33:46,290 who have just learned how to code for iOS 599 00:33:46,290 --> 00:33:53,690 and want to do something from there, what's on the top of your mind? 600 00:33:53,690 --> 00:33:58,450 So especially if you've told your friends and family 601 00:33:58,450 --> 00:34:02,870 that I can do iOS now, because you're proud of yourself, which is great, 602 00:34:02,870 --> 00:34:05,630 they're like, "Oh, hold on, I have this idea." 603 00:34:05,630 --> 00:34:08,800 And you're like, "Tell me, what's your idea. 604 00:34:08,800 --> 00:34:10,540 Okay, that's stupid." 605 00:34:10,540 --> 00:34:12,360 Occasionally you get one that's good, 606 00:34:12,360 --> 00:34:15,840 and you're not working on anything, like I hear a lot of people that have just learned 607 00:34:15,840 --> 00:34:17,610 and are like, "Okay, go make something." 608 00:34:17,610 --> 00:34:19,310 That's what you have to do. 609 00:34:19,310 --> 00:34:21,409 "Well, I don't have any ideas." 610 00:34:21,409 --> 00:34:24,000 There's tons of terrible ideas or half good ones. 611 00:34:24,000 --> 00:34:26,330 Just pick something and work on it. 612 00:34:26,330 --> 00:34:29,699 Yeah, working on a terrible idea will still get you practice. 613 00:34:29,699 --> 00:34:31,510 Exactly. 614 00:34:31,510 --> 00:34:35,250 I can't stress enough, going from a bunch of apps on your phone to finishing something 615 00:34:35,250 --> 00:34:38,120 and putting it on the store is a huge step, 616 00:34:38,120 --> 00:34:40,370 and it's not really a development skill. 617 00:34:40,370 --> 00:34:44,290 But having the self-control and discipline to finish the last 10% 618 00:34:44,290 --> 00:34:46,659 is so incredibly important. 619 00:34:46,659 --> 00:34:48,889 I've worked with a lot of people that can't do that, 620 00:34:48,889 --> 00:34:52,360 and it's the people I wouldn't hire again given the option. 621 00:34:52,360 --> 00:34:56,480 So yes, learn how to ship, 622 00:34:56,480 --> 00:34:58,320 because that's really important. 623 00:34:58,320 --> 00:35:01,810 Cool. Thank you very much for taking the time to do this, Sam. 624 00:35:01,810 --> 00:35:04,730 Now what I've learned from this is you have lots to say, 625 00:35:04,730 --> 00:35:06,690 so I think we'll do more episodes in the future 626 00:35:06,690 --> 00:35:10,310 and break it down to freelance and all sorts of different things. 627 00:35:10,310 --> 00:35:14,320 But if anyone has any questions, where can they reach you? 628 00:35:14,320 --> 00:35:16,520 I'm @soffes on Twitter, 629 00:35:16,520 --> 00:35:19,180 and that's probably the best. 630 00:35:19,180 --> 00:35:21,110 Cool. Thank you very much. 631 00:35:21,110 --> 00:35:23,020 Thanks so much. 632 00:35:23,020 --> 00:35:27,180 [? music ?] [Treehouse Friends]