Hello, everyone, and welcome to yet another episode of Ask Angela Anything, and you guys have spoken 1
and my team have selected some pretty choice questions, I would say, and I'm really excited to be 2
able to answer them in today's episode. 3
So, as you may notice, today is a very special episode because I am hailing from Nairobi in Kenya. 4
And as you can see, it is absolutely beautiful out here 5
and there's just birdsong and monkeys running around. 6
So gone are the traffic sounds and the usual London pollution of my office. 7
I hope today will be a scenic change to brighten your day. 8
So once you're ready, let's get started. 9
Now, the first question is from Virak Ngauv. 10
This shouldn't be called Ask Angela Anything. 11
It should be called Angela murdering people's names. 12
So Virak asks, do you have any advice for somebody who's looking to start freelancing? 13
All right. 14
So you may or may not know, but I learned how to code when I was younger, 15
and I have been programming on the site for many, many years. 16
But I actually trained to be a medical doctor. 17
So during that time and during med school, I spent a lot of time freelancing. 18
So I hope I'm more than qualified to answer this question for you Virak. 19
The first thing I would say is that don't jump in. 20
Don't, you know, despite what people say, don't just dive into freelancing, quit your job, tell your 21
boss that he's a dick and then just go and, you know, try and find a job. That's really bad. 22
Even though the traditional image of an entrepreneur is someone who likes to take risks, that's actually 23
really not true. 24
If you think about Richard Branson when he started Virgin Atlantic, he didn't just go out and, you 25
know, buy lots of planes. 26
In fact, he actually leased a plane from Boeing to get started. 27
And that meant that if it was successful, then great, he could continue doing this. 28
But if it failed, then he could just give it back and his investment wouldn't suffer. 29
So don't quit your job straight away. 30
Instead, what you should do is try to figure out what spare time you have during the week and try to 31
carve out about 15 hours per week that you're going to dedicate to building a pet project. 32
Now, the important thing about this pet project, it doesn't really matter what you build, but what 33
matters is that it has to be useful to at least one person so that one person can be you, 34
it can be your wife, it can be your pet. 35
It doesn't matter, but it has to be useful. 36
It can't just be a hello world application or something that you used to learn about a particular API, 37
for example. 38
Now, once you've done that and you've deployed it onto either the Web or if you're building an app, 39
then obviously onto the app stores, then you've started building a portfolio. 40
And this is going to be a great thing that you can show everybody, potential employers or potential 41
clients, that this is what you're capable of. 42
So this is the beginning. 43
So now at this stage, you are spending 15 hours a week building your pet project. 44
And once you've started doing this, the next step is to carve out another 12 to 15 hours. 45
Now, nobody said that this was going to be easy. 46
Freelancing is not easy. 47
Nothing that's worth doing 48
is easy 49
in fact. Now you're on to step two and you're carving out 15 hours per week, which you're going to 50
spend working on other people's projects. 51
So you're going to be freelancing on small gigs. 52
So the best place to start, I recommend, is a website called Fiverr, and I'll include the links in 53
the resources section of this episode. 54
But basically it's a website where somebody can get a job done for maybe $5-$20 dollars. 55
Now, the important thing here is that you're not here to make money. 56
You're here to get skills, and you're here to learn about the world of freelancing. Just as you probably 57
wouldn't let a surgeon operate on you if they haven't had any experience before, as a freelancer or as 58
a web developer or an app developer, 59
people need to be able to see what you've done in the past, how you were able to work with clients 60
and have people who can give you good testimonials. 61
That kind of stuff is really, really important in your career as a freelancer. 62
So the first step I recommend is getting started with small things on Fiverr and don't take on projects 63
that will take you any longer than a week, to start with. 64
And another place you can look at is a place called oDesk and Upwork. 65
And you could start building up your profiles on those websites and start answering to some of the requests. 66
And again, don't go for something ambitious. Even though, you know, the larger projects obviously 67
pay more, 68
the important thing here is still about getting experience. 69
So you're looking for projects that basically larger freelancing firms or agencies don't really want 70
to take up. 71
So these are things like bug fixes or things like updates 72
or maintenance or small improvements, not going to make you a millionaire, but it will start earning 73
money and along the way you will gain really, really valuable experience. 74
So that's what it's all about. 75
Now, once you've been working with a couple of clients, some of them, if they enjoyed working with 76
you because you are communicative and I can't stress enough how important it is to be able to communicate 77
well with your clients as a freelancer. It's probably the one thing that will make or break your career. 78
Give your clients regular updates to show them what you've done and explain what it is that you're doing. 79
It's really important that they understand how much work you're doing and also how you're trying to 80
do a really great job for them. 81
So as you do this, you will start to build up a client list, people who will ask you for other things 82
that they want done as well, and you will get word of mouth. 83
And as this goes along, you'll end up with a list of clients who will give you jobs, who will give 84
you good reviews or testimonials, or be able to act as a reference for you for future jobs. And with 85
your portfolio, 86
remember those 15 hours a week that's going towards those pet projects? That's going to be building your 87
portfolio and with the experience that you're getting with your clients, and that's going to help you 88
network and getting more people interested in getting you to work for them. 89
And now, at this stage, congratulations. 90
You're a freelancer. 91
You've made it. 92
And from this point onward, you're going to start to work on larger and larger projects, perhaps collaborate 93
on some projects with other programmers. 94
But as always, the first part is hardest. 95
And once you've gotten over those hurdles, you will be on your way to becoming a fully-fledged and 96
hopefully a really, really in demand, a freelance web developer or app developer. 97
So I wish you the best of luck Virak, and I hope you have an awesome time as a freelance developer. 98
All right. 99
So on to the next question. 100
This is a question from Amit Singh and he asks, What does your daily schedule look like? 101
OK, so the first thing I'm going to say is that what I'm about to tell you is probably an ideal day. 102
I travel a lot because I give talks. 103
So, for example, right now I'm in Nairobi because I'm giving a talk. 104
So this is the daily schedule of a day where I'm based in London and I don't have anything special planned 105
for the day. 106
So I think in one of the the previous AMAs 107
I talked about my morning routine, so I'm not going to cover that part. 108
If you're interested, have a look at one of the previous ones and you'll find the answer there. 109
But I'm going to start from about 9 o'clock, which is where I tend to start work. 110
So for the first hour and a half of the day, so 9:00 until 10:30, I spend on learning stuff. 111
Now this sometimes becomes one hour, sometimes it's two hours. 112
It's really dependent on what I'm trying to do. 113
I want to be able to have enough time so that I haven't just gotten started 114
and I have to switch to another task. 115
But I'm more of a morning person. 116
I'm very alert during the mornings 117
and I'm capable of doing the most creative work during that time. 118
So that's the time period that I tend to allocate to learning new things. 119
So, for example, this morning I spent learning and digging more into Selenium Webdriver because 120
I had written a postscript from God knows how long ago, which basically I'm not even sure I should 121
share this with you, but it's a script that basically renews my library books automatically. 122
So once it gets to two days before the due date, then it will renew my books without me having to do 123
it because I'm terrible at remembering things unless it's in my calendar. 124
So that was a hack that I wrote a while ago. 125
But there's a lot of people who've been asking me how to do it, 126
and rather than teaching them Pearl, which is just like torture, I thought it might be a good idea 127
to teach people how to use Selenium Webdriver. 128
So, for example, I'm using it to book the gym classes that I tend to go to and also I'm trying to 129
get it to renew the books that I have in the library. 130
So that's what I was doing this morning, 131
but it could be anything really. 132
It's basically something new that you want to learn and you should dedicate a block of time when you 133
are at your best to do it. 134
Now, that tends to be the morning for most people, but I know that there's a lot of night owls. 135
So it could be that for you, maybe that's, you know, 12:00 midday, but basically spend an hour and 136
a half during your best time to learn something. 137
I think that's really, really worthwhile. 138
Now, after that block, I tend to do more creative work. 139
So high again, 140
high 141
brain demand kind of work. 142
So that includes things like developing new lesson plans for you guys and 143
also working on a new curriculum or working on a development project. Those are things that require 144
high cognitive function, which I tend to have less and less of as I go towards the end of the day. 145
So that's the morning basically done. 146
And then maybe I'll spend about half an hour on lunch, try to eat and trying to eat something that's 147
not so carb-heavy so that I can stay awake during the afternoon. 148
And then I would normally go for a walk for maybe 30 minutes to an hour. 149
And very often in our company, we tend to do walking meetings. 150
So we'll just take the whole team and we'd walk and talk and hash things out, because I find that when 151
people are sat down in a meeting room, everything is very slow. 152
And I think when you're walking, I have long legs and I tend to set the pace. 153
So I think when everybody's walking really fast, they seem to get out of breath and need to talk really 154
fast, which I really like. 155
So trying to mold your environment to suit your highest productivity. 156
Then after the walk, I tend to work on some slightly less cognitively demanding tasks, for example, 157
video editing or meetings with clients and those kind of things. 158
And then finally, from four o'clock to five o'clock is my email time 159
and that's the only time during the day when I check my email. 160
So I find that with notifications, it's very much a pulling process. 161
You're being pulled by the world into whatever needs they have or whatever demands they have. 162
But it's much better for you to decide when you want to check email or when you want to address issues 163
from other people. 164
So essentially you can protect yourself just by switching off notifications. 165
And in fact, my phone probably stays in airplane mode for a good... 166
so I usually switch off airplane mode at 1 PM, and I tend to switch it back on around 6:30 PM or 167
7 PM. So I'm not even really testing the battery life of the iPhone because it's only being switched 168
on for maybe six hours a day. 169
But it does help me get a lot of -- done, which is the important part, 170
right? 171
So after about 5 PM, I tend to wind down or, you know, finish off the things I need to finish 172
off and just see if anybody else in the team needs any help or anything like that. 173
And then I would probably have dinner around 7:00, I guess. 174
And then after dinner, what I do depends on, again, my cognitive abilities. 175
So when I have basically no cognitive abilities, then I would maybe play video games or watch something. 176
You know, how like you have HP, this is when like HP is or mental points are at like minimum. 177
One of my favorite games I'm playing at the moment is called SUPERHOT. 178
And the idea is basically that as you move, time moves with you. 179
So I can't really do it justice. 180
I recommend just checking it out on YouTube, but it's a really cool game. 181
I'm really enjoying it. 182
If I have slightly more cognitive capabilities, then I'll probably read a book, usually non-fiction 183
up to about nine o'clock and then after nine o'clock, it's only fiction. 184
And if I have a lot of brain power left, then I like to play a game of go. 185
I don't know how many of guys have ever played this game. 186
I think it's called Baduk in Korean and it's called Weichi in Chinese. 187
But it's a fantastic game and it's so simple in terms of the rules, and yet it's so complex in terms 188
of all of the moves that you can make. 189
So that's something that I recommend. 190
So I know that this whole answer has been pretty much centered around how much cognitive capability 191
I have. 192
I think I'm making myself sound a lot like a robot: "if battery life 193
high, 194
do this. 195
If RAM low, do that." I hope I don't come across as a robot. 196
But yeah, so that's pretty much my daily schedule. 197
If you have any productivity hacks or, you know, something that you do in your daily schedule that 198
you think is really awesome has really helped you, then please do either hit me up on Twitter so 199
@yu_angela or comment below or in the Q&A section and let me know. I'm always open to new 200
ideas. 201
All right. 202
So the next question comes from Pascal Heimlicher. 203
I really hope that was a good enough pronunciation. 204
I tried really hard. And he asks, What do you think about cross-platform versus native app development? 205
I have a lot of ideas on this because I get asked this question pretty much on a daily basis from students. 206
But it's a really good question because there's a point in time where I would have said, "Don't even think 207
about cross-platform. 208
It's just not worth it. 209
Just stick to native development and your golden." 210
But actually, you know, more and more so these days, especially with new technology, new frameworks 211
like React native, it's actually not so bad. 212
Now, let's just talk about some of the pros and cons, OK? 213
So the pros of native app development is that it's the gold standard. 214
Basically, if you're a large company flush with cash, you're going to be going down the native route. 215
No question asked. 216
It is the best still hands down. 217
Other pros include that it's fast. 218
If you need animations, if you have graphics in your app, then you probably should stick to Native. 219
When you're using something that's really graphics intensive 220
then the cross-platform apps do show. Other things are things like you have access to exclusive APIs, 221
for example, things like push notification, or if you want to tap into a health kit on the iPhone, 222
then those modules are generally not available, at least not easily through cross-platform means. 223
And the other thing is that if you're watching this video, then you're probably taking my iOS Swift 224
course and you would know that there's a lot more resources for native development than for cross-platform. 225
There are more people who are able to answer your questions on Stack Overflow, more results for your 226
queries on Google, 227
and there's even the Apple developer forum to help you. 228
So there's a lot of help out there if you are going down the native route compared to cross-platform. 229
Now, the biggest con for going down the native route is that if you want an Android app, you need 230
a complete rewrite. 231
There is basically zero reusability of your code and of your UI designs. 232
So it's painful, it's expensive and it's time consuming. 233
And you'll notice that most apps will launch on iOS first before they go down the Android route. 234
And even if they are on both platforms, new features tend to come out on iOS first. 235
It's just a resource constraint that most people have, even large companies like Snapchat. 236
You'll see that features come to iOS first. 237
So it's expensive because time equals money and it's and you need a lot more developers, a large development 238
team, more people to manage, more people to pay. 239
It's just more expensive. 240
And the other thing is that if you yourself already have a good command of a particular language that's 241
not Swift or Java, say you are a web developer and you know JavaScript or say your .Net guy and 242
you know all about C#. 243
If you're using cross-platform tools, for example, PhoneGap, Accelerator or Córdova, then you can 244
use those existing skills that you have. 245
And all you need to know is learn about the modules, the frameworks, the APIs. 246
And that's a lot less painful than picking up a new language from scratch. 247
Although I would argue that, you know, as developers, we've basically signed up to lifelong learning. 248
There's probably a new JavaScript framework every single week, as far as I can tell. 249
And it's cool, 250
it's fun. 251
I really enjoy learning new things. 252
But if you don't, then that can also be quite a big downside of native. 253
Now, the sort of halfway point or in between is something like React native, which is a framework that's 254
open-source, but it has a dodgy licensing and it was created by Facebook. 255
Now, the great thing about React native is that it offers a lot of the native features and it allows 256
you to use the language that you're familiar with to code both Android and iOS. 257
It has a whole bunch of modules that cuts down your development time because you can use them across 258
Android and iOS. 259
Now, it's not completely developed once and deploy everywhere because it has that native aspect, but 260
it gets pretty close to it. Now 261
the downside of React native, probably the biggest one, is that there are some really essential features that 262
I think their modules lack. 263
Like, for example, if you want to do something that's actually pretty standard on native iOS, I found 264
that you actually can't do it very easily without creating custom code, which means that you need to 265
know about Swift and you know about native development 266
anyways. The way that I see React native is that if you are an existing iOS Swift developer 267
who wants to build apps both for Android and iOS, you can use React native and do it more quickly. 268
It's not really the use case for somebody who doesn't really know anything about Swift or iOS to just 269
pick up and be able to develop for Android and iOS. 270
The other thing to remember is that because it's developed by Facebook and it has this weird license, 271
so you guys might have noticed that the most permissive license is the MIT license. 272
That's basically just do whatever you want with this code. 273
But Facebook has a weird licensing on both React and React native. 274
And what it means is that 275
if at some point in the future, your company that uses React or React native decides to sue Facebook, 276
they can revoke your license to use their framework. So in most cases, none of us have to worry about 277
suing Facebook. 278
It's just that's just the level of success that we don't need to worry about until we get there. 279
But if you are cautious and you know, especially with everything that's been going around about Facebook 280
lately, I don't know. 281
It's I think it's definitely a con for me anyways. 282
But in conclusion, I would say that it really depends on the project that you want to build, whether 283
if you should choose cross-platform or native development. 284
And, you know, you really have to assess in a case by case scenario. It's really, there's no blanket 285
rule. 286
There have been projects where I've used React native to quickly create Android and iOS apps, 287
there have been times where I've stayed very, very far away from any sort of cross-platform and stuck 288
to good old native development. 289
Figure out what the project is all about and look at the pros and cons of both and assess on which one 290
will be better that way. 291
So a tagged on question from Pascal is, "Are there any helpful tools that you use that makes a developer's 292
life easier?" 293
And yes, I'm all about the tools, all about the tools, bout the tools. 294
This also should answer your third question, which is when can we expect new music videos from myself 295
or the London App brewery? 296
And that is never. I am never, ever, ever again making a music video. For those guys who don't know, 297
great! 298
For those guys who do know and have watched my rap music video about app development, I apologize for 299
polluting your eyes. 300
It was such a bad attempt and anybody who knows me knows that I can't sing for --, so I'm sorry. 301
And it's never going to happen again. 302
So but I do have helpful tools. 303
One of my favorite websites is Product Hunt, and that's probably the first place that I go to for inspiration 304
to see what new products there are. 305
If you haven't seen it, check it out. 306
It's absolutely awesome. 307
But out of my top tools, I've selected four. First one is an app called Duet. 308
And what it allows you to do is it allows you to set up a separate screen for your laptop or desktop 309
using your iPad or even your iPhone. 310
And that basically allows you to have a dual-screen or in my case, a triple screen. 311
And once you have experienced the joys of dual screening, you will never go back again. 312
I promise you. 313
And this is probably the cheapest way of giving it a go, you can reuse your existing hardware, basically. 314
And it's just an amazing experience. 315
It's a really good app and I really, really recommend it. 316
The next one is Alfred and many of you guys, especially if been watching if you've been watching my 317
tutorials for a long time, you would have noticed that I use Alfred pretty much religiously. 318
And a lot of you ask me why not just use Spotlight? 319
It does the same thing, right? 320
It doesn't. 321
It really doesn't. 322
It's firstly much, much faster at indexing because it's selective indexing and it doesn't go through 323
your entire Mac. 324
And the other thing is that it tends to pull up more relevant results. 325
You have queries that you can put in there, like Find, which opens the folder or open, which opens 326
a particular file that you have. 327
But give it a go and you will never look back. 328
I promise you as well. 329
The next one is momento. 330
So you might have seen it again in my videos. 331
It's a Chrome plugin that I have which shows a new beautiful image of somewhere in the world that I 332
should probably be traveling to every time you open a new tab. 333
But it also has a to-do list built-in, 334
it also has the weather, the time and allows you to focus on one particular task for the day, which 335
I find really helpful. 336
So it's a free plug in. 337
Just, you know, try give it a go and see if you like it. 338
And the last thing I'm going to talk about is something called Cheat Sheet, 339
which is this amazing piece of software that gives you a cheat sheet of all the shortcuts in whichever 340
application you are in. 341
So if you hold down the command button, it will just show you a list of cheat sheets wherever you are. 342
And it's really, really cool. 343
Now, the last one I'm going to talk about is not really a good tool, but it's just something I found 344
on Product Hunt that I thought was hilarious. 345
It's called canned emails and it has canned breakup emails, 346
it has emails 347
for clients. 348
I've never yet sent one of these because I'm just too scared that somebody else has seen this website. 349
But it's pretty hilarious and I recommend you checking it out. 350
So the sun is starting to go down around here. 351
And I'm probably going to go and grab something to eat because I haven't eaten for a whole two hours 352
now. 353
But I hope you guys had fun with me in Nairobi in this episode of Ask Angela Anything. 354
And if you have any questions for the next episode, then be sure to leave it below this video 355
or on one of the new announcements that I make on a regular basis. So I hope you guys are having 356
a great time wherever you are, and that's all from me. 357
I'll see you next time. Ciao.