Careers in Mobile Development13:35 with Pasan Premaratne
The mobile industry is growing at a very high pace and is a very lucrative profession. In this video, we go over the skills required to dive into mobile development, information on salaries and a general overview on the industry.
[male narrator] In this day and age, mobile devices are more than just phones. 0:00 We use them not only to communicate with one another 0:03 but to conduct business, get our news, enjoy hours of entertainment— 0:05 movies, music, and games. 0:09 The latest smartphones are devices capable of running sophisticated applications 0:11 and both consumers and developers have embraced this world. 0:16 Mobile development is now one of the fastest growing areas of software development. 0:20 I'm assuming you're watching this video because you're interested in mobile development. 0:24 You want to know how to create, deploy, and maintain powerful apps 0:28 on popular platforms. 0:32 Let's start by taking a look at the industry. 0:34 The mobile industry is growing at a very high pace 0:36 and is predicted to grow even more as mobile phone usage 0:39 increases around the world. 0:42 While everyone is familiar with the 2 major platforms, 0:44 Android and iOS, there is certainly more in the world. 0:47 Just not as popular or widespread. 0:50 When you think of mobile application development, 0:52 you, or I at least, picture successful apps like path or angry birds, 0:54 cool consumer apps that we use everyday. 0:59 That's only 1 side of the market. 1:02 Mobile application develpoment can involve freelancing and building 1:04 apps on your own, building apps as part of a dedicated mobile team, 1:07 like path or instagram, or even 1:11 working in the mobile department of a larger corporation— 1:13 implementing their customers needs into mobile solutions. 1:16 Let's talk to our very own mobile development teachers Ahmet and Ben, 1:19 to hear their perspectives on this exciting industry. 1:22 [how did you get started in mobile development?] 1:25 [Ahmet] I actually got started the year before the iPhone and Android came about. 1:28 I was doing my own start-up and we had this grand idea 1:35 that we wanted to bring to several different forums 1:39 and back then there were all these feature phones. 1:42 They weren't the smartphones. 1:45 So it was like the Nokia platform with Simbian and different versions of Simbian. 1:46 You had different OS's out there, so we had this really ambitious task, 1:53 to bring apps to all these different devices 2:00 and it was a monstrous task— 2:05 trying to raise funding, nothing was happening. 2:07 Then the iPhone and Android came out. 2:09 And it seemed like a no-brainer with the app ecosystem. 2:12 Initially there wasn't an app ecosystem because they didn't come with apps 2:17 or NSDK. 2:21 But once they did launch that, 2:23 this whole idea of a developer being able to target a consumer directly 2:25 without even having to worry about how their apps are distributed, 2:31 was a huge paradigm shift in the mobile industry. 2:36 It seemed like a no-brainer to jump on those 2 platforms. 2:39 [Ben] My path was a little more roundabout. 2:43 I was already doing software development for a big company. 2:46 I was excited when the phones came out, 2:49 but I didn't really think about developing apps until a little bit later. 2:52 So we had an iPhone first, 2:56 and it was amazing and I thought it was exciting, 2:58 but I didn't really think that I could do it until a little bit later. 3:02 Then at my previous job, they sent out an e-mail 3:07 they wanted to establish who had skills with mobile development in the company. 3:11 Because it was brand new, they wanted to 3:15 put out some apps, they wanted to have teams that could work on it. 3:17 They asked who had the mobile skills. 3:20 I didn't, but I did have skills in Java, 3:23 and I had just started to look into mobile development on my own personal time. 3:26 So, I responded and said, "I don't know Android development, but I know Java," 3:30 "and I'm looking into it, and I really want to do it," 3:35 "so mark me down as someone who is really interested." 3:37 Then everytime I met with my manager— 3:40 we had meetings every 3 weeks or something like that, 3:42 everytime I would bring it up, and I would say, "Is there anyting in mobile?" 3:45 "Can I do anything?" 3:49 And the timing worked out, I got off a big project. 3:51 And they were looking for people to onboard 3:53 to train and to establish a new team. 3:55 I got to join that team. 3:59 and go to some training, work sith some really smart people, and that's how I got started. 4:02 [what was your first experience like?] 4:06 [Ben] So my first actual project was refactoring existing apps. 4:09 What the company had done was outsource their first round of apps 4:14 and we got this really awful code. 4:18 I got to dive in and I had to make sure everything still worked the same and looked the same, 4:22 but I had to change all the guts behind the scenes, 4:28 which was actually a great way to learn. 4:31 You have to think about a mobile device differently than a regular computer or a web app. 4:33 That was the biggest hurdle—the syntax wasn't so bad, 4:39 again because I knew Java. 4:41 But I cobbled together resources for learning 4:44 online developer documentation and some books. 4:47 Really if there had been a resource like treehouse around when I started 4:52 it would have been ideal. 4:56 [Ahmet] Absolutely—it would have definitely made things a lot easier for both of us. 4:58 And probably the whold community. 5:01 So my first experience was —it was crazy because I was running a bootstrap start-up. 5:04 So I had no experiene with the Mac at all. 5:10 And I wanted to build an iPhone app really desparately. 5:14 So I build a hackentosh, which is basically taking a Windows PC and installing Mac OS 10. 5:17 It was painful, but I was actually able to build my first app 5:23 and deploy it to the app store using a hackentosh. 5:28 I wa amazed that I was able to do that. 5:32 The whole process was a little painful, 5:35 I always had this approach of hack first, understand later. 5:38 So when I built the hackentosh, I just started 5:42 I just started building apps. 5:44 I would build the app, understand it, 5:47 then scrap the idea and start again, 5:52 because I had a better understanding so I could build it better the second time around, 5:54 and the third itiration, and the fourth. 5:59 I kind of got it right, and I understood what I was doing. 6:01 [what skills do you need to work in the mobile development industry?] 6:04 [Ahmet] So in terms of learning the language, and the tools, and the SDK's— 6:08 The language was a higher barrier to entry back then, because 6:12 you had to understand these mechanics of memory management. 6:17 I came from a Java background, so 6:21 wrapping my head around that was a little hard. 6:23 It was really tough because you had these 6:26 accounts that you had to maintain, the retain counts, and if you released memory or didn't release memory. 6:28 So that was the big hump back then. 6:35 Of course the documentation has always been good, 6:38 but now it's a lot better than it was. 6:42 Lastly, navigating the SDK—the SDK is really vast. 6:45 Even though it was a first itiration, they had a vast SDK. 6:50 So I started with a project in mind, so we had to build. 6:53 We were an app company, so we were building with these apps in mind. 6:56 So it started with this app and I started learning the pieces of the SDK 7:00 that would help me get towards that end goal, 7:05 rather than just trying to learn everything the SDK had to offer 7:08 and then going forward and building th app. 7:11 And I thought that was a smart approach. 7:14 I still think it's a smart approach for any beginner. 7:15 [Ben] I completely agree, and it's similar to my experience. 7:19 I went through some tutorials and I did some stuff that I didn't understand. 7:22 Like you mentioned kind of hacking your way through at first. 7:26 Then I came back and I tried to think of some projects 7:28 I wanted to work on myself. 7:31 My work project was a big monolythic refactoring project, 7:33 but in my own time I wanted to build some small apps that did simple stuff, 7:37 but I knew it would apply to lots of other stuff I worked on. 7:41 So I remember consuming services from the web, 7:44 doing a google search, using the Twitter API's, 7:47 trying to get some data and then display it in a meaningful way 7:50 to learn some of the UI widgets and controls on both platforms. 7:55 I did the same project in both platforms. 8:00 [Ahmet] Oh that helps a lot. 8:02 [Ben] I did iOS and Android so I could kind of compare how they worked. 8:04 How some things were similar and what was different. 8:07 I really believe that the repetition and studying up and keep practicing it— 8:11 Things start to click and it does start to make sense. 8:16 [Ahmet] Right. Whereas iOS you need 3 lines of code 8:18 and Android you need 20 lines of code to accomplish the same task. 8:22 [Ben] There are some convenient helper methods on that one 8:25 that they are missing in the Android SDK. 8:27 [how do you keep up with the pace of the industry?] 8:29 [Ben] It is hard to stay up to date because 8:32 everything about our industry is changing month by month. 8:34 Things have settled down a little bit more recently. 8:39 Like when the devices and the SDK's were first released, it was major changed coming through. 8:42 Now things are relatively stable. 8:45 Still there are so many new technologies, new apps, new open source libraries you can use, 8:48 new design guidelines, and best practices. 8:53 It's hard to stay up to date. 8:56 What I try and do is suck off of the knowledge of others. 8:58 I've got some really smart people on Twitter that I follow, 9:03 other developers that I talk to, attend events, conferences, 9:08 That way I can get a pulse of the news and what's gaining in popularity, 9:12 and what mistakes people have made. 9:19 Then I try and incorporate that in side projects 9:20 where if there is soething new I want to try out 9:24 I'll do a small app or a small project, 9:26 just to learn to make sure that I understand something 9:29 or if I need to apply it elsewhere. 9:32 [Ahmet] I completely agree with everything you're saying, 9:34 because the pace of the industry is totally different from anything that's out there, 9:37 especially the mobile pace, because devices are changing every year, 9:43 the OS is being upgraded, they're adding new features. 9:46 Even though the platform is a lot more stable than it used to be, 9:49 because they're not putting out major changes to the platform. 9:53 Still there is so much to keep up with. 9:56 I always find that whenever a new version is released 10:00 I take the big features and try to build an app around that. 10:03 So you can learn how those features work 10:07 and what the nuances are of those features, 10:09 because until you buckle down and actually build something, 10:12 reading the API differences or just reading the documentation 10:15 is not enough. 10:20 Or even watching a video, because all the nuances 10:22 are when you're actually building an app. 10:25 That's what I've found is the most helpful for me, 10:27 just come up with an app, whatever it is, 10:30 it could be something simple or something a little complex 10:32 but it incorporates all those features. 10:35 So that you're pushing yourself always to learn. 10:37 That's the great thing about this industry. 10:40 You're always learning, there's never a dull moment. 10:43 [do you enjoy your job as a mobile developer?] 10:46 [Ben] Before, I was talking about how when I got into mobile developement 10:49 I pushed ot get into it. 10:52 Because there was something magical about working on that handhead device 10:54 that you could show anybody, anywhere— 11:00 that you could put on the app store and have anybody download. 11:02 You've got that with the web, but with the phones themselves 11:05 or tablets, with all the features that are built in, 11:10 everything you can do with them—it's really like your playing with technology from the future. 11:14 Even the most simple things still give me pleasure. 11:18 To get things to work and to show people, 11:21 whether it's silly or complex, whatever it is. 11:23 There's a feeling of accomplishment that you're doing something cool. 11:27 We talked about how the industry is constantly changing. 11:31 There's just so many cool things coming out. 11:34 It's like, "I want to play with that, I want to do that, I want to copy that." 11:36 There's always so many interesting things to work on. 11:38 It never gets boring, and I'm so glad I got into this field. 11:41 [Ahmet] I feel like we're always pushing the boundary. 11:43 If anyone's pushing the boundary, they are pushing it on mobile devices. 11:46 Because you have all these intricate features 11:50 and intricate functionality. 11:53 The first time I saw t his app from a company called Smule, 11:55 where you can blow into the phone and play music. 11:59 I was blown away, I could never imagine you could do that with a phone. 12:03 And here you are using a phone as a flute. 12:07 It was a mind-blowing moment. 12:10 That's what got me excited about mobile development. 12:12 The limit is my imagination really. 12:15 I can create whatever I can imagine. 12:19 That's true—look at all these beautiful games and all these music apps. 12:22 [Ben] There is just so many creative peoplein the industry. 12:26 Just the chance to work with these people because they come up with such cool ideas. 12:30 [Ahmet] And the barrier to entry is so low. 12:33 All you have to do is put your mind to it. 12:36 Learn the technology and put it out there. 12:40 You don't need a huge team to create an innovative app. 12:43 That's what is amazing. 12:46 And you have a ready audience, you have people there ready to buy your creation— 12:49 if it's worth it. 12:53 [male narrator] Mobile deveopment is a very lucrative profession. 12:55 For an entry-level position, you can earn around $60,000 12:59 all the way up to $150,000 as an experienced developer. 13:02 That's what you can earn as a salary. 13:06 That doesn't take into account money you could make freelancing, 13:09 or running a successful company on your own. 13:11 The flourishing ecosystems in both the iOS and Android platforms, 13:14 have given rise to countless entrepreneurial pursuits. 13:18 With successes like doodlejump turning 2 brothers into millionaires, 13:21 and angry birds bringing in over $200 million in revenue in 2012 alone, 13:24 mobile app development is a very exciting industry with a lot of promise. 13:30
You need to sign up for Treehouse in order to download course files.Sign up