WEBVTT 0 00:01.510 --> 00:08.430 Hi, guys, welcome to our very first AMA for the Udemy iOS 11 course. 1 00:08.740 --> 00:14.770 So we've been doing a few of these on other platforms and we thought it might be fun to get you guys 2 00:14.860 --> 00:17.390 to ask some questions and do it here as well. 3 00:17.830 --> 00:19.070 I hope you'll enjoy this. 4 00:19.510 --> 00:21.280 I certainly had fun making this. 5 00:21.580 --> 00:27.130 And in the future we're going to be putting out new announcements announcing for more 6 00:27.130 --> 00:29.800 AMAs so keep your eyes peeled for those announcements. 7 00:30.130 --> 00:36.250 And if you have any questions for any future episodes, then please put them there. 8 00:37.180 --> 00:40.780 So let's tackle some of these questions. 9 00:40.990 --> 00:45.880 We've had loads and loads of questions come in and I can only answer so many. 10 00:46.060 --> 00:49.510 And my team has picked out some choice questions. 11 00:49.660 --> 00:54.270 So for AMAs, we've chosen some questions that might apply to everybody. 12 00:54.580 --> 00:57.580 So usually they're not specifically technical, 13 00:57.580 --> 01:01.180 they're not about one specific bug or, you know, some issue. 14 01:01.360 --> 01:06.910 We're going to try and keep that within the Q&A section so that they're of maximum benefit for the students 15 01:06.910 --> 01:07.810 who come across it. 16 01:08.020 --> 01:15.520 But for these AMAs or ask me anything, I'm really looking for questions that might appeal to everybody 17 01:15.520 --> 01:18.730 or questions that are more generic. 18 01:19.180 --> 01:20.240 So I'm ready, 19 01:20.620 --> 01:27.160 hope you are ready too. Let's get started for our very first round of Udemy AMAs. 20 01:27.700 --> 01:32.240 So the first question comes from Handel Callender. 21 01:32.620 --> 01:34.540 I'm going to be murdering some names today. 22 01:34.780 --> 01:41.050 Just I'd like to put that out there to begin with. So I can speak a number of languages 23 01:41.530 --> 01:46.750 but names are difficult sometimes, so I apologize in advance. 24 01:47.110 --> 01:48.700 So hi, Angela, how are you doing? 25 01:48.760 --> 01:50.350 I've got two questions. 26 01:50.380 --> 01:53.290 Are you looking forward to the new Star Trek television show? 27 01:53.680 --> 01:56.830 And in other words, are you a sci fi fan? 28 01:57.160 --> 02:02.320 And the second question is, what strategies do you have for really soaking in programming concepts? 29 02:03.040 --> 02:05.920 OK, so let's tackle them one at a time. 30 02:06.550 --> 02:08.860 So am I looking forward to the Star Trek show? 31 02:09.040 --> 02:12.280 I have to say, I've never really gotten into Star Trek. 32 02:13.180 --> 02:19.720 I think the reason is because every time I saw it on TV, it always seemed to me like it was a bunch 33 02:19.720 --> 02:21.880 of people having a lot of meetings. 34 02:22.300 --> 02:30.330 There were like a lot of meetings every single episode, and I just wasn't able to really get into it. 35 02:30.760 --> 02:35.620 I'm a huge sci fi fan, but I've never really managed to get into Star Trek. 36 02:35.860 --> 02:39.310 But I'm a huge fan of sci fi as a genre. 37 02:39.310 --> 02:43.990 And, you know, in the last few years we've seen some really, really great stuff come out. 38 02:44.410 --> 02:53.350 So my favorite movies are so things like EX Machina, the recent Blade Runner 2049 was also slow but 39 02:53.350 --> 02:53.770 good. 40 02:53.770 --> 03:01.330 It was a slow burner, but I really enjoyed it and Oh my God, Arrival, which is amazing. 41 03:01.330 --> 03:02.140 Incredible. 42 03:02.140 --> 03:06.280 So, yeah, definitely a sci fi fan. Don't know very much about Star Trek. 43 03:06.790 --> 03:13.330 OK, so the second question is about programming concepts and how do you really soak it in, 44 03:13.330 --> 03:15.070 I guess. So 45 03:15.070 --> 03:17.320 I think this is a really, really good question 46 03:18.040 --> 03:22.750 and this is something that we talk about quite a lot in our in-person boot camps. 47 03:22.900 --> 03:31.330 And I remember once coming across a rated AMA with Elon Musk not so long ago, where he answered this 48 03:31.330 --> 03:33.490 question about how he learns things. 49 03:33.490 --> 03:35.650 And I thought it was really, really good. 50 03:36.010 --> 03:44.050 So what he said was basically, you know, to look at knowledge as if it were this huge semantic tree, 51 03:44.050 --> 03:44.860 I think he called it. 52 03:45.280 --> 03:50.500 And the idea is that you first tackle the trunk and the fundamentals, 53 03:50.770 --> 03:51.100 tight? 54 03:51.100 --> 03:56.620 And then once you've understood all of that, then you move on to the large branches, then the smaller 55 03:56.620 --> 03:57.220 branches. 56 03:57.490 --> 04:04.180 And only then do you go on to learn about the things such as the leaves, the flowers, the decorative elements, 57 04:04.480 --> 04:10.210 because it's very easy when you're learning anything to learn about the things that will impress people. 58 04:10.720 --> 04:15.340 And I've suddenly been guilty of that myself, too. 59 04:15.610 --> 04:20.530 The problem is that when you learn these kind of superficial things that don't have any attachment to 60 04:20.530 --> 04:25.750 a fundamental understanding, the leaves don't really have anything to hang on to. 61 04:26.110 --> 04:29.290 And I think that was a really, really good point that he made. 62 04:29.290 --> 04:34.930 And I think it's a really good guiding principle for learning anything, not just programming. 63 04:35.110 --> 04:36.310 So that's one point. 64 04:36.730 --> 04:42.580 The other thing I would say is that with programming specifically, you really got to start thinking 65 04:42.580 --> 04:49.270 about making your own projects because, you know, you can do a lot of tutorials and you can do a lot 66 04:49.270 --> 04:52.090 of challenges or even algorithmic problems. 67 04:52.240 --> 04:53.710 You can tackle all of that. 68 04:53.920 --> 05:00.550 But until you start making things that you want to make, your own projects that you thought, 69 05:00.620 --> 05:07.640 of, then you know, that's really the point when you make the big leaps, when you start really 70 05:07.640 --> 05:09.210 making your knowledge your own. 71 05:09.660 --> 05:18.530 So one of the things I always urge our students in our in-person bootcamps is to go away, is to learn 72 05:18.530 --> 05:24.890 these skills, but go away and think of some apps and something really simple that they want to make. 73 05:25.220 --> 05:31.130 You know, it could be a time, it could be a calculator or, you know, you might have some sort of spin 74 05:31.130 --> 05:31.520 on tha, 75 05:31.520 --> 05:31.790 right? 76 05:31.790 --> 05:40.340 Like one of our students made an alarm clock that wakes you up one minute earlier every day so that 77 05:40.610 --> 05:45.890 eventually, after a month, he would be able to reach his target wake up time of six o'clock. 78 05:46.580 --> 05:50.330 So it's things like these that are not so difficult to make, 79 05:50.330 --> 05:56.110 they're not something like, you know, Facebook with Twitter bolted on and a little pinch of Snapchat. 80 05:56.480 --> 05:57.860 They're not those things. 81 05:58.700 --> 06:04.790 And it's really important that when you first start building your own projects, don't go nuts. Don't 82 06:04.790 --> 06:12.020 start making something that's completely crazy or something that's really, really complex, because 83 06:12.020 --> 06:19.190 inevitably you will come across, you know, the known unknowns and the unknown unknowns and you're 84 06:19.190 --> 06:20.900 probably going to give up on it. 85 06:21.050 --> 06:27.350 And, you know, certainly when I think back to when I first started doing iOS development, there have 86 06:27.350 --> 06:33.410 been so many projects that were really good and they were probably built quite well. 87 06:33.410 --> 06:37.910 But I was too ambitious to start with. 88 06:37.910 --> 06:43.550 And they always failed and they became too complex, too unmanageable, too unwieldy. 89 06:43.820 --> 06:46.400 And you inevitably end up giving up on them. 90 06:46.640 --> 06:51.620 So don't do that, really make a minimum viable product. 91 06:52.160 --> 06:54.890 It doesn't have to be really flashy, 92 06:54.890 --> 06:56.940 you know. It doesn't have to be a Ferrari. 93 06:56.940 --> 06:59.060 It could just be a kickboard. 94 06:59.090 --> 07:06.590 It could just be a skateboard, even. Just keep it really, really simple and make that one thing that 95 07:06.590 --> 07:13.220 works by itself and then add on or bolt on features to it. 96 07:13.610 --> 07:19.310 But if you have something that's incomplete and you're still working on features, it's really, really 97 07:19.310 --> 07:24.110 disheartening when you end up getting stuck and when you have bugs and it's just... it's not fun. 98 07:24.200 --> 07:30.740 So my advice would be to make your own project make something really simple and just make it work. 99 07:31.040 --> 07:36.770 And then from thereon, at the point where you can submit it to the App Store and then carry on working 100 07:36.770 --> 07:39.590 on new features and bolt on things to it. 101 07:39.830 --> 07:46.010 So that's a really, really good way of not just learning how to program, but really understanding 102 07:46.010 --> 07:46.520 everything 103 07:46.520 --> 07:49.850 and, you know, along the way, you're going to have to find out stuff. 104 07:49.850 --> 07:52.070 You're not going to know how to do everything. 105 07:52.340 --> 07:58.100 And no course on, you know, on the planet is going to be able to teach you every single thing, 106 07:58.100 --> 07:58.420 right? 107 07:58.850 --> 08:04.460 And I think certainly, you know, I've made a point of definitely not including every single API. 108 08:05.840 --> 08:12.860 But the important thing is that once you understand where to look, i.e. Stack Overflow or Google or 109 08:12.860 --> 08:19.430 Apple documentation, then you start embarking on a new journey of not just being a learner developer, 110 08:19.640 --> 08:24.050 but being somebody who is able to figure out your own problems. 111 08:24.260 --> 08:28.280 And the next step really is just getting very, very good at Googling. 112 08:28.550 --> 08:37.340 Most great developers have a really essential skill that is good at Googling; knowing what 113 08:37.340 --> 08:42.440 keywords to put in that will get you the relevant results and trawling through that and looking for 114 08:42.440 --> 08:43.300 your solution. 115 08:43.730 --> 08:46.520 That is a really, really key skill to acquire. 116 08:46.740 --> 08:51.950 So don't ever let anyone make you feel that, you know, looking something up is shameful. 117 08:51.950 --> 08:52.810 It's really not. 118 08:53.090 --> 08:58.160 I've worked in teams and certainly friends of mine work in teams as well, where if Stack Overflow is 119 08:58.160 --> 09:00.260 down, they just go to the pub, have a drink. 120 09:00.260 --> 09:01.370 It's not worth it. 121 09:02.480 --> 09:09.200 That's just you know, that's just an illustration of, I guess, the fact that programmers are lazy, 122 09:09.860 --> 09:14.480 but also that, you know, you don't have to reinvent the wheel. 123 09:14.480 --> 09:19.730 You just have to find out how to use it and how to put that wheel on and how to fix it. 124 09:21.020 --> 09:22.530 So next question. 125 09:23.510 --> 09:28.550 So this is from Glen-udemy and he 126 09:28.550 --> 09:29.540 or she. 127 09:30.570 --> 09:34.100 I guess there's not many Glenns who are women. Anyways, 128 09:36.030 --> 09:41.190 how do you suggest we go about getting a paying job doing this i.e. iOS development? 129 09:42.090 --> 09:48.420 Well, I feel pretty comfortable with Swift iOS. I know my skills are not yet pro level, so any entry 130 09:48.420 --> 09:50.820 level position would be fantastic suggestions. 131 09:51.090 --> 09:52.170 Very much appreciated. 132 09:52.180 --> 09:52.740 Thank you. 133 09:53.580 --> 09:53.880 All right. 134 09:53.880 --> 09:55.380 This is a really good question. 135 09:55.380 --> 10:02.330 How do you get a job as a developer if you don't have any experience working as developer, 136 10:02.400 --> 10:02.660 right? 137 10:03.030 --> 10:04.890 So here's something slightly off topic. 138 10:04.890 --> 10:11.490 But one of the things I realized is that recently I got really into resistance training and my goals 139 10:11.880 --> 10:14.430 is to be able to do 10 chin-ups. 140 10:15.180 --> 10:18.400 And, you know, I don't know if you've seen, you know, these arms. 141 10:18.400 --> 10:21.390 They're not really the largest of guns out there. 142 10:21.390 --> 10:22.980 But, you know, I'm determined. 143 10:22.980 --> 10:24.170 So I'm going to get there. 144 10:24.570 --> 10:31.740 But one of the things I realize is that to be able to do more pullups, I tried, you know, doing more 145 10:31.740 --> 10:37.080 arm related exercises, trying to use various machines around the gym. 146 10:37.350 --> 10:44.340 But at the end of the day, to be able to get better at doing chin-ups, I realized that ultimately 147 10:44.340 --> 10:46.800 I just have to do more chin-ups. 148 10:47.220 --> 10:52.320 And if you want to be able to do more pushups, you just have to do more push-ups and eventually you'll 149 10:52.320 --> 10:52.740 get there. 150 10:53.010 --> 10:56.010 And it's exactly the same with development. 151 10:56.340 --> 11:01.830 To get better at development, to become a pro developer, you have to do more development and you have 152 11:01.830 --> 11:08.730 to do it in the context of, you know, maybe a job or collaborating with other people in a team and 153 11:08.730 --> 11:13.950 all of these skills that you need to acquire by simply doing more of it. 154 11:14.340 --> 11:16.050 So here's the dilemma. 155 11:16.050 --> 11:22.620 How do you get a job as an iOS developer if you don't have a portfolio and you don't have a track record 156 11:22.830 --> 11:24.160 that you can fall back on? 157 11:24.480 --> 11:26.670 Well, you've got to build it up, right. 158 11:27.390 --> 11:33.960 So one of the first steps that I would recommend you, Glenn, or anybody else who's interested in this 159 11:33.960 --> 11:43.170 topic is to simply go on to websites, freelance websites such as Upwork, oDesk or even something 160 11:43.170 --> 11:47.480 like Fiverr and just offer your services as an iOS developer. 161 11:47.850 --> 11:49.850 You're not going to make a lot of money from this. 162 11:49.860 --> 11:52.050 You know, I can say that for sure. 163 11:52.060 --> 11:55.670 You're offering your services to build up your portfolio. 164 11:55.980 --> 12:01.620 And the key thing, though, is that you're working with real projects, you're working with real clients, 165 12:01.860 --> 12:04.860 and you have to work with real specs. 166 12:05.010 --> 12:10.740 So even though you're not getting paid a lot, but you're actually learning on the job, which is really, 167 12:10.740 --> 12:11.670 really important. 168 12:12.000 --> 12:14.350 So this is not a get rich quick formula. 169 12:14.640 --> 12:19.080 This is very much a get rich really, really slowly formula. 170 12:19.440 --> 12:26.070 But once you do have those skills, once you've built those portfolio sites and you've got a good working 171 12:26.070 --> 12:32.820 relationship with your client that you can rely on for reviews and testimonials, then you're in a way 172 12:32.820 --> 12:38.700 stronger position and you can leverage that to start charging more and more per hour until you get to 173 12:38.700 --> 12:45.930 the point where you are proficient in iOS development or whatever it is that you can reach your, you know, 174 12:46.020 --> 12:48.750 personal target amount that you want to earn. 175 12:49.260 --> 12:57.900 So the first step is working really, really hard for not a lot of money, but for a lot of skills and 176 12:57.900 --> 12:58.830 a lot of learning. 177 12:59.220 --> 13:06.960 And throughout this journey, you're going to come across clients who are really annoying and but also 178 13:06.960 --> 13:13.860 clients who are really awesome and people who have really, really interesting projects that you'll 179 13:13.860 --> 13:16.560 get to build and you can call your own. 180 13:16.890 --> 13:21.690 And along the way, you're going to come across hurdles that you're going to overcome and you'll learn 181 13:21.690 --> 13:27.330 so much more and so much faster by doing this rather than just simply looking for a junior development 182 13:27.570 --> 13:28.690 role at a company. 183 13:29.040 --> 13:31.530 So this is my recommendation. 184 13:31.530 --> 13:34.560 Obviously, you know, it's your life and totally up to you. 185 13:34.560 --> 13:39.830 But this is what I think is the best way of going about this. 186 13:40.380 --> 13:40.710 All right. 187 13:40.710 --> 13:49.410 Let's go on to the next question from Roland Gavrilescu, that was probably not it. 188 13:49.440 --> 13:51.600 OK, so hi. 189 13:51.600 --> 13:54.060 And when and how did you start learning 190 13:54.060 --> 13:55.250 iOS development? 191 13:55.590 --> 14:00.300 I will also be a UCL student from next week and want to ask you, how did you spend your time at 192 14:00.300 --> 14:03.390 UCL and what would you have done differently? 193 14:03.780 --> 14:04.490 OK, cool. 194 14:04.500 --> 14:05.830 So hi, Roland. 195 14:06.060 --> 14:09.510 And you have made a very wise choice in going to UCL. 196 14:09.510 --> 14:10.920 It's a great university. 197 14:10.920 --> 14:12.990 I'm sure you're going to have a fantastic time. 198 14:13.350 --> 14:17.430 Everybody is really, really cool, really chill and really awesome there. 199 14:17.670 --> 14:23.790 Unlike some of the other London universities. Obviously there's a healthy bit of rivalry, but it's 200 14:23.910 --> 14:29.220 I genuinely had a really, really good time there. Although I think my experience will probably be 201 14:29.220 --> 14:29.580 slightly 202 14:29.630 --> 14:36.860 different from yours, unless you're also doing the same degree. So I completed a medical degree there 203 14:36.860 --> 14:43.580 while I was at UCL. So medical degrees are pretty much like 9-5 jobs where you have to pay 204 14:43.580 --> 14:44.120 to work. 205 14:45.710 --> 14:50.720 So it's slightly different from other people's student experiences where you just, I don't know, just 206 14:50.720 --> 14:52.250 got drunk and partied all the time. 207 14:52.790 --> 14:55.370 But, yeah, it was it was really good. 208 14:56.210 --> 15:01.940 So your first question was how did I get into iOS development and when and how? 209 15:01.940 --> 15:02.770 I think so. 210 15:02.780 --> 15:09.590 I first got into iOS development in 2011 while I was at med school. 211 15:10.130 --> 15:17.510 And the reason was because I really, really, really wanted to build this medical app that basically 212 15:17.510 --> 15:26.240 gave you a whole set of symptoms and signs and you could test your diagnosis skills by using the app. 213 15:26.480 --> 15:31.910 And that was the main motivation of why I wanted to learn iOS development. 214 15:32.390 --> 15:41.000 But I mean, having started learning to code when I was around 12 or 13, having that background in 215 15:41.000 --> 15:44.930 programming certainly helped me pick up those skills. 216 15:44.940 --> 15:53.390 So I think one of my first games was a really, really terrible implementation of... I'm almost afraid 217 15:53.390 --> 16:01.370 to look up my old code just because I know that I'm going to really be very embarrassed. 218 16:01.490 --> 16:03.560 But hey, you know as well, what can you say? 219 16:03.900 --> 16:10.040 So back then I was using visual basic and then I moved on to C++ because I wanted to make video games. 220 16:11.060 --> 16:18.260 And using that background really helped me learn iOS development very quickly. 221 16:18.560 --> 16:23.000 And certainly for you guys, you know, even though you're learning Swift, it doesn't really matter 222 16:23.000 --> 16:29.210 because if you go away and you decide that, you know, you need another language like Java or, you 223 16:29.210 --> 16:34.790 know, Haskell or whatever it is, you'll realize that a lot of the foundations that you've 224 16:34.790 --> 16:40.250 built up, you know what we're talking about before, the branch and the trunk, you have all of that 225 16:40.250 --> 16:46.490 already because you already understand how variables work, what data types are, how methods work out, 226 16:46.760 --> 16:54.560 how to parse, how to pass, how you can pass messages around and all of these things will be there. 227 16:54.560 --> 16:59.320 So you're just putting on those decorations, those little, you know, Christmas baubles, right? 228 16:59.660 --> 17:01.700 You don't have to learn everything from scratch. 229 17:01.700 --> 17:07.290 And it's a lot quicker and a lot easier for any future development ambitions you have. 230 17:07.790 --> 17:13.250 So looking back on my student days, one of the courses that really impacted me actually was I did a 231 17:13.250 --> 17:17.090 neuroscience degree in addition to my medical degree. 232 17:17.450 --> 17:22.520 And one of the courses within that degree was computational neuroscience. 233 17:22.850 --> 17:29.450 And it was all about reinforcement learning, supervised, unsupervised learning, basically how we 234 17:29.450 --> 17:32.860 can use computers to simulate what we know about the brain. 235 17:33.140 --> 17:36.260 And it was so, so fascinating. 236 17:36.500 --> 17:45.860 And that really reignited my interest in computing and I.T. and technology and got me back programming 237 17:46.160 --> 17:51.290 and, you know, really realizing something that I loved a long time ago as well. 238 17:52.520 --> 17:59.870 So what I would recommend is that if you're taking a degree at a university, really go for courses 239 17:59.870 --> 18:05.420 that have some breadth. When you get out into the real world, whether you're going to get a job or whether 240 18:05.420 --> 18:10.670 if you're going to work in startup or you're going to, you know, be a founder, the thing that you 241 18:10.670 --> 18:18.800 realize is that, you know, getting an A or getting, you know, 100% on one of your tests don't 242 18:18.800 --> 18:22.610 matter as much as you think it does when you're a student. 243 18:23.300 --> 18:29.570 But the things that matter in real life are, you know, your breadth of knowledge, and university can 244 18:29.570 --> 18:35.830 be great at introducing you to things that you never even realized that you needed to learn. 245 18:36.230 --> 18:44.390 So, you know, a big part of putting together this course was putting together the curriculum of things 246 18:44.390 --> 18:50.300 that I thought were really essential to, you know, somebody who's learning development or on their 247 18:50.300 --> 18:52.110 journey to becoming a developer. 248 18:52.520 --> 18:58.670 So and then the tutorials were really built around all of those fundamental things that I wanted to 249 18:58.670 --> 18:59.070 teach. 250 18:59.600 --> 19:01.910 So at university, it's a similar thing. 251 19:01.910 --> 19:08.150 You have an expert, you know, your professor who's putting together this course based on things 252 19:08.150 --> 19:12.790 that they know are important, which you might not have any clue about. 253 19:12.800 --> 19:19.970 And as great as online learning is, and there are so many really amazing YouTube tutorials, the thing 254 19:19.970 --> 19:24.400 that it falls down on is not building that curriculum for you. 255 19:24.710 --> 19:27.540 And university is very good at doing that. 256 19:28.160 --> 19:28.880 So, 257 19:29.030 --> 19:35.210 I would cherish your time there, so I'm sure many people won't agree with me on this, but I would 258 19:35.210 --> 19:38.030 say don't aim for perfection in your grades. 259 19:38.510 --> 19:46.580 Just try to meet as many people as you can and have a great experience and learn a large breadth of knowledge 260 19:46.730 --> 19:53.570 rather than trying to memorize everything and, you know, aim for that 100% 261 19:53.570 --> 19:55.110 or aim for those high grades. 262 19:55.310 --> 20:00.750 I mean, that's certainly something that I was tempted towards and I would say fell down on, so. 263 20:01.100 --> 20:01.490 All right. 264 20:01.490 --> 20:07.650 So the next question is from Abhiji Sarode. 265 20:07.910 --> 20:13.850 I have a feeling that my team are pulling some sort of prank on me by selecting all the questions that 266 20:13.850 --> 20:16.070 have very difficult-to-pronounce names. 267 20:16.640 --> 20:16.970 All right. 268 20:16.970 --> 20:20.240 So let's see what Abhijit says. Okay. 269 20:20.250 --> 20:23.200 Hey, Angela, what's your approach to learning new technology? 270 20:23.600 --> 20:26.810 What do you do when you get stuck while learning new stuff? 271 20:27.140 --> 20:30.500 What are some timesaving hacks you use while developing? 272 20:30.650 --> 20:30.980 All right. 273 20:30.980 --> 20:32.420 So that's a lot of questions there. 274 20:32.930 --> 20:41.060 Firstly is that working in tech means that you are constantly having to learn new things. If you stay 275 20:41.060 --> 20:41.640 still 276 20:41.660 --> 20:48.440 Technology does not and you will become outdated. Even if you are an 18-year-old and you know about the 277 20:48.440 --> 20:49.820 coolest technology. 278 20:50.030 --> 20:55.910 You know, I come across so many React native developers who, you know, became React native developers 279 20:55.910 --> 20:56.600 a year ago 280 20:57.020 --> 21:02.360 and they're getting really cushy and really comfortable with that one technology and not wanting to 281 21:02.480 --> 21:04.430 diversify or look at anything else. 282 21:05.570 --> 21:09.300 The important thing is that you always have to be learning. 283 21:09.620 --> 21:18.620 So what I try to do is try to consistently allocate an amount of time every single day for learning 284 21:18.620 --> 21:20.660 something that I'm not comfortable with. 285 21:21.140 --> 21:29.420 So for me, because I have the luxury of allocating my own time from 9 AM, so start of the workday, 286 21:29.420 --> 21:37.820 to 11 AM is two hours that are blocked out just for learning and there for learning things I'm not 287 21:37.820 --> 21:38.410 good at. 288 21:38.630 --> 21:45.770 And it's really, really important to make yourself get into these uncomfortable situations where you 289 21:45.770 --> 21:54.200 have to perform or you have to do something that you don't know very well or that you are not an expert 290 21:54.200 --> 21:54.620 in, 291 21:54.650 --> 21:55.000 right? 292 21:55.040 --> 21:57.950 So for me, that means getting up to date with new technologies, 293 21:59.120 --> 22:05.870 for example, recently our company collaborated with Amazon to build a Alexa tutorial. 294 22:06.560 --> 22:09.680 So how you can use NodeJS to create Alexa skills. 295 22:10.040 --> 22:16.490 And in order to build this entire thing for Amazon, I basically had to brush up on a lot of stuff that 296 22:16.490 --> 22:18.380 I wasn't that comfortable with. 297 22:18.570 --> 22:21.500 So I think, you know, the saying that if you don't learn, you die. 298 22:21.500 --> 22:23.150 It's really, really true. 299 22:23.150 --> 22:26.150 Maybe you don't physically die, but your brain does. 300 22:26.150 --> 22:28.670 And I see this with, you know, a lot of people. 301 22:28.850 --> 22:34.250 So, you know, they're always looking for the next relaxing thing to do or, you know, the next holiday 302 22:34.250 --> 22:34.850 to go on 303 22:34.850 --> 22:36.560 and there's nothing wrong with that. 304 22:36.560 --> 22:41.360 But in order to improve and in order to get better, you have to look for struggle. 305 22:41.720 --> 22:44.690 And the more that you struggle, the better that you get. 306 22:44.870 --> 22:49.340 And so one of the things that I look for in life constantly is a struggle, 307 22:49.340 --> 22:52.910 you know. Where can I apply myself that I'm not comfortable with? 308 22:53.300 --> 22:58.880 And I also look for situations where people ask me to do something, hey, you know, can you give this 309 22:58.880 --> 23:00.920 talk to 3,000 people? 310 23:01.160 --> 23:02.690 It's tomorrow, by the way. 311 23:03.680 --> 23:06.050 And yeah, it's recorded for posterity. 312 23:06.680 --> 23:11.840 So in these situations where you think to yourself, "Oh, my God, I can't do that." 313 23:11.840 --> 23:14.390 That's really... that's awful. 314 23:14.390 --> 23:15.180 I can't do that. 315 23:15.200 --> 23:15.950 No way. 316 23:16.370 --> 23:23.270 Those are the moments where if you do say yes, you stand to learn and gain the most. 317 23:23.690 --> 23:23.990 All right. 318 23:23.990 --> 23:29.200 So back on track, what do you do when you're learning something new? 319 23:29.570 --> 23:34.140 So the first thing I do is look for similarities to things that I already know. 320 23:34.430 --> 23:39.260 So, for example, developing for Amazon Alexa, I was already pretty comfortable with NodeJS. 321 23:39.470 --> 23:45.050 So it was more a matter of getting used to their APIs and the incredibly poor documentation. 322 23:46.040 --> 23:52.490 But finding the things that I already knew meant that, you know, I could start hanging my branches 323 23:52.490 --> 23:56.390 onto my trunks and hanging my leaves onto my branches. 324 23:56.720 --> 23:59.020 And this does not just apply to programming. 325 23:59.030 --> 24:04.850 Of course, you know, when I was learning how to wind board, I was looking at and remembering 326 24:04.850 --> 24:09.530 you know, how similar this was to windsurfing, which I really knew how to do. 327 24:09.800 --> 24:15.050 So look for those parts of the new skill which you already sort of have a little bit of. 328 24:15.460 --> 24:19.820 For example, if you already know French and you're trying to learn Spanish, you know, a lot of the 329 24:19.820 --> 24:21.610 words are really quite similar. 330 24:21.620 --> 24:27.020 And so if you first start by identifying those parts that you already know and those parts you 331 24:27.020 --> 24:28.610 really are comfortable with, 332 24:28.730 --> 24:34.240 and then you can use that to build upon and start extending into this new skill. 333 24:34.510 --> 24:34.870 All right. 334 24:34.870 --> 24:38.780 So the next question comes from Misha Espinoza. 335 24:39.280 --> 24:42.100 "I'd like to know your habits to stay productive. 336 24:42.400 --> 24:48.940 What do you do and what do you avoid and how to implement a system to stay focused" 337 24:49.840 --> 24:54.200 OK, so, Misha, you have asked a question that is very close to my heart. 338 24:54.490 --> 24:57.870 This is something I think about almost on a daily basis. 339 24:57.880 --> 25:04.340 I'm trying to optimize my daily routines so that I can be as effective as possible. 340 25:04.930 --> 25:10.600 So one of the first things that you realize is that we are being distracted 341 25:10.780 --> 25:17.170 as you know, people living in 2017, we are constantly at the beck and call 342 25:17.170 --> 25:18.250 of notifications. 343 25:18.790 --> 25:25.270 So, you know, I have an Apple Watch, I have a phone, I have my laptop, which are all connected 344 25:25.270 --> 25:29.650 to the Internet, and they all try to ping me all the time. 345 25:29.650 --> 25:32.440 And people are always in demand of your time. 346 25:32.950 --> 25:39.820 So you have to be really, really almost militant about protecting that time and protecting your attention 347 25:39.820 --> 25:40.220 span. 348 25:40.660 --> 25:50.320 So what I do is when I'm working on something creative or when I'm programming, I turn off all notifications 349 25:50.320 --> 25:53.020 on my phone, on my watch, on my laptop. 350 25:53.230 --> 25:58.540 If I'm doing a project and something I'm really comfortable with, say iOS development, I will actually pull 351 25:58.540 --> 26:00.190 the plug on the Internet as well 352 26:01.360 --> 26:07.660 if I'm not testing or if I'm not using any services. It just means that you get to protect that precious 353 26:07.660 --> 26:13.330 focus that you have and not have to spend your attention on anything else. 354 26:14.410 --> 26:17.050 So the other thing is definitely attention. 355 26:17.050 --> 26:25.210 So I look at attention as you having a set number of blocks, say you know, it's like if you have ten 356 26:25.210 --> 26:28.540 dollars to spend every day, it's the same thing with attention. 357 26:28.540 --> 26:31.060 You probably have ten blocks of attention to spend every day. 358 26:31.420 --> 26:36.550 And if you waste that on things that are inconsequential, like, you know, figuring what am I going 359 26:36.550 --> 26:41.860 to eat in the morning or what am I going to wear, then you're already using up attention blocks, right? 360 26:41.860 --> 26:48.970 And you have to be really, really stingy with your attention in order to do stuff and be productive 361 26:48.970 --> 26:54.400 and, you know, be creative or do things that are worth bringing into the world. 362 26:54.940 --> 26:58.810 So one of the things is that in the morning, I don't choose what I wear. 363 26:59.080 --> 27:02.560 I have a lot of shirts that are pretty much identical. 364 27:03.460 --> 27:09.190 And I just pick out the same colored shirt. And I just pick out something that's 365 27:09.190 --> 27:13.630 clean, that pretty much look the same as what I wore yesterday. 366 27:14.620 --> 27:19.840 And I eat pretty much the same thing every single morning, which is just a tin of sardines. 367 27:19.840 --> 27:23.050 So high protein, low carbohydrates, good for focus. 368 27:23.410 --> 27:30.730 And then that means that I've managed to get through the beginning of my day without having to make 369 27:30.730 --> 27:32.740 any decisions at all. 370 27:33.070 --> 27:39.010 And that helps me conserve my attention, energy that I can use on creating app or thinking about how 371 27:39.010 --> 27:42.250 to explain, you know, certain difficult concepts for you guys. 372 27:42.520 --> 27:47.350 And it just means that you're so much more purposeful with your attention rather than just, you know, 373 27:47.350 --> 27:49.540 wasting it and giving it out everywhere. 374 27:49.990 --> 27:50.290 All right. 375 27:50.290 --> 27:55.510 So the next question is from Stephanie Kendall and she says, "Angela, thank you so much for creating 376 27:55.510 --> 27:58.650 this course. I was very excited to see a female teaching this class, too. 377 27:59.050 --> 28:05.410 That leads me to my AMA question, do you face any specific challenges being a female in this industry? 378 28:05.680 --> 28:10.030 Any encouragement or advice to women pursuing a career as a developer?" 379 28:10.690 --> 28:11.490 OK, cool. 380 28:11.500 --> 28:13.840 That is a really good question. 381 28:13.840 --> 28:22.000 And I literally just flew back from Beijing a few days ago giving a talk to 3,000 people on 382 28:22.000 --> 28:22.870 this exact topic. 383 28:23.410 --> 28:27.010 So I remember what I said about earlier on? Somebody asking you to do something tomorrow? 384 28:27.670 --> 28:28.420 Yeah, that was it. 385 28:28.840 --> 28:34.900 But this is something that I get asked quite often and here is how I think about this problem. 386 28:35.060 --> 28:41.550 So throughout life, you will come across many rejections, many bad things that happen to you, people 387 28:41.560 --> 28:45.700 treating you unfairly or people not giving you what you want. 388 28:46.660 --> 28:50.860 You know, you not achieving the things that you want because, you know, there's somebody in your 389 28:50.860 --> 28:55.720 way and you can interpret this in any way you choose. 390 28:56.170 --> 29:01.090 So, for example, I've been to many interviews where I've been rejected, as have everybody, 391 29:01.090 --> 29:01.390 right? 392 29:01.400 --> 29:11.290 So there was a great story from Jack Ma, the founder of the Ali Group, like probably billionaire 393 29:11.290 --> 29:13.120 Trillionaire, whatever he is. 394 29:13.450 --> 29:18.310 But he once applied for a job in the U.S. to work in KFC. 395 29:18.700 --> 29:25.150 And I think out of 21 people who applied, 20 people got the job and he was the one that 396 29:25.150 --> 29:25.640 did not. 397 29:26.200 --> 29:28.630 So you can interpret any of these like 398 29:28.710 --> 29:32.610 events or things that happen to you in any way you choose. 399 29:33.150 --> 29:39.840 So I've been to a lot of interviews where I've been rejected. And it's very easy and it's very tempting 400 29:40.020 --> 29:43.830 to think about it in a way like, oh, you know, it's because I'm a woman, 401 29:44.010 --> 29:45.540 it's because I'm Asian, 402 29:45.540 --> 29:48.660 it's because I'm not, you know, it's because I'm too young. 403 29:48.660 --> 29:52.830 it's because I'm too old or a whole bunch of things. 404 29:52.830 --> 29:56.190 But at the end of the day, that doesn't help anybody. 405 29:56.190 --> 29:57.300 That doesn't help you, 406 29:57.300 --> 30:01.830 certainly, you know, I can't change my gender. 407 30:01.840 --> 30:09.830 I can't change my age or my ethnicity, at least not easily. 408 30:11.100 --> 30:13.050 So why make it about that, 409 30:13.260 --> 30:13.600 rght? 410 30:13.770 --> 30:20.130 I can honestly say that I guess I've been lucky or I guess the way that I see the world, I've never 411 30:20.130 --> 30:23.970 felt discriminated in any job that I've ever done. 412 30:24.300 --> 30:29.910 But I mean, that doesn't mean I haven't had horrible bosses or haven't had people who've been mean 413 30:29.910 --> 30:34.650 or people who rejected me or, you know, denied me of things I wanted. 414 30:35.070 --> 30:42.330 But I didn't make that about my gender or my ethnicity or anything like that. 415 30:43.020 --> 30:49.740 You know, I realized that sometimes I didn't get the job maybe because I wasn't suited, and other 416 30:49.740 --> 30:55.820 times because maybe I was partying until 1 AM in the morning and I didn't have time to prepare, 417 30:55.830 --> 30:56.190 right? 418 30:56.580 --> 30:59.460 And in which case I don't deserve the job. 419 30:59.460 --> 31:04.770 It didn't matter if I was a white male in my 40s, I still wouldn't have deserved that job, 420 31:04.770 --> 31:04.990 right? 421 31:05.400 --> 31:11.250 So I think it's far more empowering to think about these problems or, you know, things that happen 422 31:11.250 --> 31:16.080 to you that aren't desirable in a way that you can control, 423 31:16.230 --> 31:16.590 right? 424 31:16.860 --> 31:19.830 I can control how much I prep for an interview. 425 31:20.160 --> 31:26.070 I can control how hard I work to understand, you know, their business. Or, you know, for technical 426 31:26.070 --> 31:26.850 interviews, 427 31:26.850 --> 31:33.450 I can choose to spend more time and, you know, be the best or polish up my portfolio. All of these 428 31:33.450 --> 31:39.840 kind of things that are way more helpful than just, you know, thinking to yourself that it might be 429 31:39.840 --> 31:42.390 because of something that you can't change. 430 31:42.630 --> 31:46.530 But, you know, I'm not saying that there aren't problems in the world. 431 31:46.530 --> 31:47.630 Of course there are. 432 31:47.640 --> 31:53.310 And, you know, we do have to tackle them using policy and all of these things. 433 31:53.310 --> 32:00.750 But on a more personal level, it's way more helpful if you choose to interpret these events in a way 434 32:00.750 --> 32:03.960 that you can change and that is within your own control. 435 32:04.380 --> 32:12.060 So my words of encouragement for any woman or man or child or anybody really going into development 436 32:12.060 --> 32:15.930 is that, you know, look for commonalities that you have with people. 437 32:16.260 --> 32:21.780 For example, in our current company, we're way more divided by, you know, Android versus iOS or 438 32:22.110 --> 32:30.420 Mac versus PC or Rick versus Morty than we are, you know, by our genders or colors 439 32:30.420 --> 32:32.930 and it's because, you know, we choose to interpret it that way. 440 32:33.570 --> 32:35.580 So make your own choices. 441 32:35.580 --> 32:36.690 It's your own stage. 442 32:36.690 --> 32:41.490 You decide where you put the limelight and focus on things that you can change rather than things that 443 32:41.490 --> 32:42.340 you can't change. 444 32:42.690 --> 32:43.050 All right. 445 32:43.050 --> 32:48.960 So I've been recording for quite a while, and there is literally nobody left in the office anymore. 446 32:49.260 --> 32:53.910 So I will try and keep the short and I'll put some of these questions on the next AMA. 447 32:54.780 --> 32:58.740 But let's answer this last one from Bonn 448 32:59.130 --> 33:01.350 Elimanco. 449 33:02.130 --> 33:03.330 That was not a bad attempt, 450 33:03.330 --> 33:03.630 right? 451 33:04.620 --> 33:07.130 And what is your morning ritual? 452 33:07.170 --> 33:07.440 All right. 453 33:07.440 --> 33:11.430 So what I do in the morning? This is an ideal day. 454 33:11.430 --> 33:16.350 This is not every single day as much as I would love it to be something, 455 33:16.360 --> 33:18.600 sometimes things just happen in life. 456 33:18.600 --> 33:22.680 Sometimes I'm on a flight and I feel horrible. 457 33:22.680 --> 33:29.850 So the thing with morning ritual is that people don't tell you is, you know, don't feel bad for missing 458 33:29.850 --> 33:31.830 a few days or screwing up here and there. 459 33:32.190 --> 33:34.890 It's the it's the trying that counts, 460 33:34.890 --> 33:35.190 right? 461 33:35.400 --> 33:42.660 So I wake up usually around 6:30 AM or 7 AM and the first thing I do is ten press-ups, proper press- 462 33:42.660 --> 33:47.580 ups. None of this, you know, sort of wingy girl press-up stuff, stuff like proper press-ups. 463 33:48.000 --> 33:54.150 And that kind of gets the blood going and makes me feel a lot more awake and less likely to go back 464 33:54.150 --> 33:54.810 in bed, 465 33:54.810 --> 33:55.140 right? 466 33:55.500 --> 34:00.480 I think I think once you've got shoes on, it's a lot harder to get back into bed. 467 34:01.260 --> 34:05.460 So after that I meditate for about twenty minutes. 468 34:05.460 --> 34:11.490 So that means I set a timer for twenty minutes, during which time I tried desperately to not think 469 34:11.490 --> 34:14.040 about what am I going to eat, what am I going to eat, what am I going to eat? 470 34:14.250 --> 34:17.940 Some days it is just like that and I can't help it. By now 471 34:17.940 --> 34:23.310 if you guys have watched a lot of the videos in my course, you'll realize that I think about food a 472 34:23.310 --> 34:23.790 lot. 473 34:24.270 --> 34:25.740 But I also go to the gym a lot. 474 34:25.740 --> 34:26.490 So it's OK. 475 34:26.830 --> 34:27.840 There's always going to be... 476 34:27.990 --> 34:28.480 it's got to be 477 34:28.530 --> 34:29.530 balance in life, right? 478 34:29.550 --> 34:38.880 Everybody has to have something they're into. So, I meditate for 20 minutes. So personally I do TM, 479 34:39.000 --> 34:45.420 transcendental meditation, it seems to me like the one type of meditation where you don't have to 480 34:45.840 --> 34:47.760 believe in a lot of stuff. 481 34:48.570 --> 34:50.310 So I find that quite helpful. 482 34:50.670 --> 34:58.350 And I think over the years of meditating, I've definitely found that you've become a way more purposeful 483 34:58.350 --> 34:58.900 person. 484 34:59.190 --> 35:04.770 So it's very easy when you're aggravated by people such as certain clients, you know. 485 35:06.010 --> 35:13.660 That design, I don't know how I feel about this app, I feel like it's not quite there yet. 486 35:14.510 --> 35:18.600 I'm like, OK, I'm glad that you feel so much. 487 35:18.970 --> 35:20.260 But anyways, yeah. 488 35:20.260 --> 35:27.550 So sometimes you are prone to automatic responses where you just get angry or get annoyed or, you know, 489 35:27.820 --> 35:29.560 don't like what you're hearing. 490 35:30.880 --> 35:37.510 But I think with meditation is far more it allows you to be outside your own body and look at yourself 491 35:37.780 --> 35:40.570 doing these things or interacting with people. 492 35:40.570 --> 35:45.790 And, you know, you sort of ask yourself, like, if I react this way, does it help me, does it 493 35:46.270 --> 35:46.810 hinder me, 494 35:46.810 --> 35:48.470 does it give me any benefit? 495 35:48.490 --> 35:55.930 And usually the answer to all of these instantaneous instant gratification type of responses or lashing 496 35:55.930 --> 35:57.670 out, you know, it's never really useful. 497 35:57.700 --> 36:01.270 So meditation has been great for that. 498 36:01.300 --> 36:07.480 So then after I meditate, I try to do a little bit of journaling about just, you know, just basically 499 36:07.480 --> 36:08.170 brain dump. 500 36:09.040 --> 36:11.340 Any thoughts that I've got in my head. 501 36:11.680 --> 36:18.490 It's very easy to be varying in your head, you know.. that I tried to put it down on paper and once on paper 502 36:18.490 --> 36:20.110 I can tell myself, oh, it's there. 503 36:20.110 --> 36:22.470 You know, I don't have to worry about it anymore. 504 36:22.480 --> 36:26.350 Somebody else, namely my notebook, is taking care of the worrying for me. 505 36:28.240 --> 36:31.180 And that usually takes about 10, 15 minutes. 506 36:31.180 --> 36:38.770 And then the next thing is, I bring up Medium or Hacker News or Product Hunt and look at what's happening 507 36:38.770 --> 36:40.810 in the world in terms of tech. 508 36:41.170 --> 36:49.120 Look at some of the interesting tech news, things that people build, new GitHub repos, just basically 509 36:49.120 --> 36:49.780 news. 510 36:49.780 --> 36:54.970 And I eat my kind of sardines alongside that. 511 36:55.840 --> 36:58.840 So that's basically my morning routine. 512 36:58.840 --> 37:01.180 It obviously changes quite a bit. 513 37:01.450 --> 37:08.140 I would love to be able to add a little bit more exercise to it, but with current experimentation, 514 37:08.140 --> 37:10.720 it doesn't seem to have benefited me all that much. 515 37:11.200 --> 37:13.330 So it's constantly in flux. 516 37:13.330 --> 37:19.960 And, certainly my morning routine this year has been different from last year and last. 517 37:20.260 --> 37:23.980 But I'm constantly trying to squeeze out that extra bit of productivity. 518 37:24.950 --> 37:31.930 So if you guys are interested in productivity hacks, which I am hugely interested in, I wrote this 519 37:31.930 --> 37:38.060 article, which I can link in this video to some of the hacks I found that were really, really useful. 520 37:39.010 --> 37:39.750 All right, cool. 521 37:39.760 --> 37:45.230 So my tummy is rumbling and I'm going to go and grab something to eat. 522 37:45.340 --> 37:48.190 The office is now completely deserted. 523 37:48.460 --> 37:53.070 It's just myself talking to myself, which everybody is obviously used to. 524 37:54.310 --> 38:00.490 So I look forward to answering more of your questions in next month's AMA. 525 38:01.000 --> 38:07.000 I'm going to be sending out the newsletter as well later perhaps this week or next week. 526 38:07.270 --> 38:09.010 So keep your eyes peeled for that. 527 38:09.010 --> 38:11.500 If you haven't signed up, then go ahead and sign up for it. 528 38:11.500 --> 38:18.160 It's full of terrible jokes that I've thought of, as well as some of the articles I've read, I've come 529 38:18.160 --> 38:24.100 across, that are really good in terms of our iOS programming, app design, a whole bunch of interesting 530 38:24.100 --> 38:24.400 stuff. 531 38:25.300 --> 38:32.470 So if you have a question for the next AMA, then just go and find the most recent announcement and 532 38:32.470 --> 38:36.550 add your question there and I will have a look at it. 533 38:36.550 --> 38:43.180 And my team will pick out some choice ones that maybe I haven't answered in this one for the next session. 534 38:43.570 --> 38:50.710 But meanwhile, I hope you guys are all doing great. Looking at the Q&A sections and looking at some 535 38:50.710 --> 38:53.800 of the things that you guys have been emailing me that you've built, 536 38:53.800 --> 38:59.410 I think everybody seems to be doing a great job and just want to say, keep going. 537 38:59.560 --> 39:06.670 I'm here for you in the Q&A section as well as on AMAs and also in the newsletters I send out. 538 39:07.090 --> 39:12.190 And, you know, don't if you get stuck, don't give up. 539 39:12.520 --> 39:19.540 Just keep going or ask a question or go on to Stack Overflow and, you know, power through and you 540 39:19.540 --> 39:21.160 will eventually get there. 541 39:21.160 --> 39:27.190 And I look forward to seeing more of all of the awesome things that you guys have been building or are 542 39:27.190 --> 39:34.750 going to build and publishing it and shouting all about it to all to everybody I know and all my students. 543 39:35.170 --> 39:39.670 So good luck and I'll see you back in the course and maybe next month as well. 544 39:40.000 --> 39:40.540 All right. 545 39:40.540 --> 39:41.320 Bye, guys.