-: Hi guys, this is Angela from the App Brewery,
and I'm so excited to be doing
this first ever live AMA.
So for those of you guys
who have been with me for the longest,
you know that back in the days, in the courses,
we used to do these live, "Ask Angela Anythings."
And this is trying to bring it back
and see how you guys are all doing,
while you're safely at home.
And yeah, so I've never really done anything like this,
so I'm a little bit nervous,
but hopefully, it's gonna go great,
and I'm gonna get to know some more of you guys.
Alright, so the plan is,
we're going to take a look
at some of the questions
that were asked ahead of time.
So over the last week,
you guys have been posting your questions
on the Ask page,
and our team has compiled a bunch
of the most upvoted questions.
So we're gonna tackle some of those,
and then we're going to tackle
some of these YouTube questions live.
And I don't see too much of a delay in the chat,
so hopefully, I'll be able to get to you,
and we can do a little bit of back and forth.
So, alright,
so here we've got the question from Melissa Santos.
So I'm just gonna answer it all over again
'cause it seemed like when I went to the slides,
you couldn't hear me anymore.
So let's try this again.
So her question is,
"How do you manage to use different languages
for different projects without mixing up the syntax?"
Alright, so the first thing I wanna say is that,
I mix up the syntax all the time,
especially when I'm working on,
like a Swift project for a long time,
and then I switch to maybe doing
a web development project with JavaScript,
then you know,
I'm gonna be missing semicolons,
I'm gonna be just not writing JavaScript code.
But the great thing is that there's good linters,
and if you use a good code editor
like Atom or Yes-code or Sublime,
then they should be able to pick up these things for you.
So I kind of let the machine do the machine part,
and then I do the brain part,
which is the logic, that's the hardest part.
And the first part of her question,
she actually asked, so,
is it a good idea
to become fluent in one language
before moving on to other languages?
Now, I think this really depends
on what you're trying to do, right?
If you are trying to build,
if your end project is an iOS app,
then yeah, you definitely,
definitely need to get really good
at probably Swift first.
But you know, if you are trying to do something
that occasionally requires just a little bit
of web development skills
or just a little bit of maybe like,
a Flutter multi,
iOS and Android app,
then you could just dive into the thing that you need.
The way I always see it is,
you know, these programming languages,
they're not like a subject,
they're not like history or geography,
they're more like a tool.
Like you are learning how to use the hammer,
or you're learning how to use a saw.
You don't have to get to like 100% of you know,
hammer ability before you can move on to the next tool.
It all depends on what you are trying to build, right?
Alright, so let's move on to the next question.
Alright, so in this question,
we've got from JPD,
and he's asking,
given that Coronavirus has affected so many people
and a lot of people are looking for ways
of working from home,
working remotely online,
does that mean that all the jobs
are gonna be filled up pretty quickly,
and you know, it'll be far more competitive?
And I think I would say that,
you know, you have to remember that
when anything is desirable,
it is gonna be competitive.
So if you think it's a great idea
to work from home,
and you know, have the flexibility of where you live,
be able to work remotely,
then somebody else is gonna have that idea as well.
But then again, you know,
things that are worth doing
are probably worth competing for.
It all depends on what is your ultimate goal.
And if your goal is to get a job as a web developer
or as an app developer,
then you just gotta focus on that goal.
And don't worry so much about what,
how much competition there is,
or how many other people
are applying to the same thing.
I mean, I remember back in the days when,
so I don't know if you guys know this,
but I trained as a medical doctor,
and I worked as a doctor,
training in orthopedic surgery for a number of years.
And when I was in medical school,
even from like day one,
people were telling me that,
if you wanna become a surgeon,
like the chances are something like one in like 1000,
it's just so competitive.
And then within surgery,
there's, you know, different competition ratios.
Like if you wanna do brain surgery,
that's like, the most competitive field
'cause there's only so few brain surgeons.
But if you wanna do, I don't know,
maybe another type of surgery,
maybe it's less competitive.
So I think even from that point,
I was trained upon this idea
that competition is just a way of life, you know?
You want something, other people want something,
and then you just gotta focus on yourself.
There's a really great book by Carl Newport,
which I really like
called, "So Good They Can't Ignore You."
I think that's the title anyways.
And I mean, the thing is
you don't really have to read the book.
I mean it is a good book,
but basically, most of it is in the title.
Like become so good at whatever it is you do
that they can't ignore you,
and they could be your boss,
they could be a recruiter,
they could be,
you know, anybody, really.
And this is really something
that I've always kept in my mind,
like I've just tried to,
focus on doing the best job I can,
and that means focusing on the student experience.
Like, how can I make a course
that is going to be the most helpful,
the most enjoyable, and the most completed, right?
So I focus on these things.
and I don't really think about
what other people are doing.
and that means that I have a product that I created,
and it's just much easier for me to think this way.
If I spent all my time thinking about,
"Well, you know, so and so is doing this,
or that person is doing that,"
then I'm just gonna be copying everybody all the time.
And if you guys have taken my courses,
you know, that's usually not the way to go.
I mean that also means that,
there's a lot of bad jokes in there
that are untested and nobody sanctioned,
and it's probably not a good idea,
but you know, hey, we gotta try things, right?
Alright, let's move on to the next question.
Alright, so this question is from Mayank Saini.
I hope I pronounce that okay.
I think I'm just gonna be murdering people's names
'cause I'm gonna be bad at pronunciation.
Okay, so Mayank says a number of things.
"My question is, how can I get a job
as a full stack web developer to my dream company?
What do I have to master to do so?"
Okay, so your goal is to get a job
as a full stack web developer.
Now, some of you guys watching,
maybe your goal is to get a job as an iOS developer.
Maybe you wanna work as a data scientist,
maybe you wanna work at Facebook, Apple, Google,
whatever it may be.
But the great thing is you already got your goal.
Like, this is the first step,
because there are so many people I talk to
who don't even know what they want.
So you already one step ahead of other people.
So now that you know what you wanna get,
how do you get there?
Well, let's think about it from the other point of view.
Let's say that you are a company.
Let's say you're a manager at Google,
and you wanna hire a web developer.
Well, if you were the one who was doing the interview,
who was sifting through all of the applications,
what would you think about?
This is a really, really useful exercise,
and this is something that I really,
it took some, you know, growing up
to actually understand this.
Because when you think about it
from the other person's perspective,
you know, they're not trying to make it hard for you.
They're not trying to make you jump through hoops
for the sake of jumping through hoops.
But let's say that you get,
you know, like 20,000 applications.
So recently we were looking for a summer intern
and there's just loads,
loads of applications that come in,
and you know, as much as you really want
to give each application all of your attention
and just, you know, really understand each person,
you don't really have the time.
So you're gonna have to think about
ways of making it a bit easier on yourself, right?
So one of those ways
is by looking at somebody's qualification.
But another way,
and probably something that I'm more fond of,
is actually just looking at
what are they capable of doing?
And this really is a key.
So you need to build a portfolio,
you need to show the world,
not tell the world what you can do.
So create some web apps
if you wanna become a web developer,
create some iOS apps
if you wanna become an iOS developer.
And don't just stick to, you know,
the stuff that you see in tutorials.
You have to somehow stand out.
And one of the best tips I can give you,
is again, think from the recruiter's point of view.
They wanna hire a web developer,
they are probably a manager, right?
Of some sort.
What are the kind of tools that they use every day?
So if you're a manager,
especially if you're a product manager
or a software lead,
you're probably gonna use some form
of a task management like Trello or Asana.
You're probably gonna use GitHub,
or something like GitHub, like Bitbucket.
Think about the tools they use,
and build a tool that they can understand.
So if they use Trello or Asana,
I'm sure there's pain points,
I'm sure there are certain features
that would be really cool.
So if you build a Trello clone,
but you add in some features of your own,
something that you think of
that you think would be really useful,
and then you show that manager
what you've built,
they will instantly understand what you've built,
they will see the advantages of your product,
and they will be able to attest to your skill,
which is what is so, so important.
So my advice,
whenever you wanna achieve any sort of goal
that involves other people,
is to think from the other person's point of view.
Alright, so we've done a couple of questions
from the Ask page now,
and I'm seeing so much chat activity,
I really want to get to know you guys
a little bit better.
So I wanna do a poll.
So it's going to be poll time.
Alright, so if you go ahead
and take a look at my slide,
I wanna know where you are.
So where are you streaming from?
Now what you need to do,
is to head over to this link.
So wait a minute,
I'm gonna remove this banner,
and you can see,
if you go to londonappbrewery.com/where,
it will redirect you to this horribly long URL
that's underneath, which is a poll.
So choose an answer,
and I wanna know
what your location is.
Alright, so I think some of you guys have voted,
let's see the results.
Okay, I think there's like 200 votes now,
I'm gonna take a look at the results.
Alright, so it seems like most people are from Asia,
next is Europe, and next is North America.
I mean, that kind of makes sense to me.
I think it's about evening time in Asia now,
and then in Europe, where I'm at, in London,
we're kind of during the day
and then North America's just waking up.
So that's pretty cool.
Alright, so let's take some questions
from YouTube.
You guys have been chatting away in there,
and I'm trying to look at it for,
just to see what's actually happening,
if you're getting the audio and everything.
But let's take some questions from YouTube.
So go ahead and ask away.
Alright, so we got one here from Claudia,
and it's gonna cut off 'cause it's quite long,
but I'll read it out to you.
"I wanna ask you about the way you learn
new coding skills.
How do you go about teaching yourself new skills?
What's your learning process?"
Okay, cool.
So I think one of the most useful skills
like, that I've ever picked up, is learning.
I think if you can learn quite quickly,
then it's gonna help you in pretty much all sorts of ways.
So one of the ways that I do,
one of the ways that I sort of conceptualize it,
is I try to take the entire topic
and I break it down into,
you know, what are all the parts that I need to learn?
Because when you take a textbook
or when you take, I don't know,
let's say, I mean for example,
at the moment, I'm trying to learn German, right?
If I just took a dictionary,
it would take me years,
years before I will learn it.
And I see sometimes people learning programming
a bit like that.
Like they try to learn every single method,
every single function
in a particular programming languages,
API, or you know,
just trying to learn it all, right?
And there's a lot of courses
that are also kind of like a reference guide
kind of style,
where they show you everything.
And I think in terms of learning,
it doesn't really work.
Instead, what you kind of need to do is again,
you have to have a goal, right?
So if you're learning to program,
maybe that goal is you have a particular app
you wanna build.
Now, there's certain foundational skills that you need.
But once you get past the foundation,
then you're kind of doing like learning Lego.
You're trying to figure out,
okay, I need to learn this bit.
Where should I go for that?
I need to learn that part in order to do this.
So for example, the way that I'm thinking about German,
like learning German,
I've realized I don't need to write German.
I probably could read,
but it doesn't really bother me.
All I wanna focus on is actually listening and speaking.
So that already makes my task a lot easier.
Now, next, if I wanna be able to speak well,
then I have to practice, right?
So there's a really good course
actually by Pimsleur that I use,
where all they do is they just teach you
a couple of ways of saying a sentence
and then they get you to practice.
You just, you know,
they'll be like, what is,
how do you say, "I wanna go to the restaurant"?
How do you say, "I'm going to the restaurant"?
How do you say, "I went to the restaurant"?
Et cetera.
And you have a lot of practice
just putting the words together
in some sort of logical way.
And then because it's not really interactive,
it's just, you know, a list of sentences I have to say,
then I will take that
and take Google Translate,
which can listen live
to what you are speaking in German,
and it'll translate it to English text.
So then I can judge based on that translation,
well how good is my German,
did I manage to conjugate my verbs correctly?
Did I manage to put everything together?
And then in terms of listening,
one of the hacks that I kind of came up with,
I guess, I'm sure it's not original,
but I watch a lot of shows on Netflix,
as I'm sure a lot of you guys do.
But I discovered that if you listen
to a TV show that's produced in another language,
so for me it's German,
you can switch on not only the subtitles,
which is helpful,
but you can switch on something called, "Audio described,"
which basically will describe to you,
it's intended for people who are unable to see,
to be able to hear what's happening in the show.
But to somebody who's also,
you know, not really very good at the language,
hearing what's happening on the screen
being described to me in German.
You know, it'll be something like,
a man walks into the room,
the man takes the keys from the table,
like I can see that,
I can see what's happening,
and I can match up what's happening
with what's being described.
And this has been really, really helpful for me
to learn listening.
So yeah, basically what I would say is,
break down the problem,
figure out the goal,
just take the parts that you need to do
to achieve the goal,
and then see how you can practice those skills repeatedly.
That's probably the best way of learning.
Alright, let's take another question from YouTube.
Alright, we got one from,
I think your name is Yuvraj Agarkar.
So it's gonna cut off the text again,
but I'll read it out.
"I'm 17, and I've completed your iOS and web dev courses.
My question is,
how to be good at reading docs,
and also how to start a startup?"
Okay, cool.
So there's two questions in there.
First question is how do you get good at reading docs?
The answer is, it depends.
So firstly, there's a difference
in the quality of documentation.
So I worked a lot with iOS,
and so I'm mostly reading Apple documentation,
which is, I mean it's beautiful,
like they've laid out the website really nicely,
but if you've taken my iOS courses,
you know that I think they're kind of minimalist.
They're kind of just like,
"Oh yeah, we have this thing which you can use,
but why don't you go,
and like find out yourself how to do it?"
So yeah, it's useful,
but you know, if you've ever looked at
some of Google's documentation,
especially Flutter documentation,
is absolutely incredible.
And you know, really like kudos to the team,
because it is the best documentation I've ever seen.
It's kind of like,
this is a method that we have
in this particular module,
this is how you would use it,
here's a code example,
here are the various parameters that you can,
you know, tweak.
And it is just so good
that you can sort of imagine yourself
being able to pick up how to use it very easily.
Whereas Apple kind of like,
"Yeah, we don't really care, you know.
If you make it, you make it."
If you make an app,
there's enough people who make apps, I don't know.
I don't know what is their thinking
behind their documentation,
but it's very hard.
The second thing I would say,
is that you don't necessarily learn
a lot from documentation.
It's kind of like if you were learning a language
and your starting point was the dictionary,
you'll be there for a while.
So the good thing is that, you know,
this kind of comes back to how you learn, right?
A lot of people still learn in a pre-computer,
pre-internet kind of way,
where you read a book,
your lecturer gives you a lecture,
you take notes, you memorize those notes,
you read the book,
you take more notes, you do a test.
This I would say,
is good for exams or for school,
It's probably still the way you have to do it,
but if you're actually just trying to learn
a skill for life or for, you know,
changing jobs or just for yourself,
it's not the best way,
because information is really cheap.
You can get hold of pretty much any knowledge
or information you want
just by typing it into Google.
So why should I store all of that information in my brain
when you know, it's just two or three keystrokes away?
So I don't really like to do that.
And this comes back to documentation.
I don't remember documentation,
I don't learn documentation.
There are loads of methods that I'm not,
you know, I don't remember how to use.
But the thing I know is that I have the skills
to be able to understand the code
when I need to.
So when I want to look something up,
I look it up in the documentation.
Actually, usually, I look it up in Stack Overflow,
I try to see an example where it's used,
and then in the example,
I'll see a particular method
that's in the documentation,
and then if I want more background,
I'll read up on it in the documentation.
It's much better to learn things as when you need to.
So that's pretty much what I do.
So the next question is,
how to start a startup?
That's like, a really big question
and I think back in the Ask,
there's also somebody who asked,
I think it was somebody called Oliver, who said,
"What do you recommend to aspiring entrepreneurs?"
So I'm gonna answer these two together.
So when I started,
so I kind of started building a startup
while I was still working as a doctor,
which is probably a little bit masochistic.
Because I was working these crazy hours,
like oh man, it was probably like some 14-hour,
occasionally, like 16-hour days.
And, but the good thing about medicine
at least, is you have night shifts.
Well, the good thing or the bad thing,
and the night shifts, you know, to be humane,
at least in Europe,
after three days of night shifts,
we tend to get three days off.
So the first day, you'll be completely destroyed,
you'll be hardly human,
'cause you're trying to switch time zones, right?
It's kinda like flying to Australia
and back every week.
So the first day is kind of like gone,
but the second and third days
I found that I was able to kind of recuperate those days
and I would just go to the library
and I would work on my startup.
So the first thing is, you gotta find time.
There is no perfect time to start a startup.
There is no perfect opportunity
that's just gonna like hit you on the head.
Everything that we've built, everything,
every opportunity that's come to us
has taken a lot of work
to prepare to get to that point, right?
I think there was this thing
that my granddad drilled into me,
which is my late granddad.
He used to take me to school on his bicycle every day,
and on this little like 30-minute bicycle ride,
he would give me these like "Chicken Soup" style,
like, pieces of like nuggets of advice.
I have like so many pieces of advice,
including like, okay they're gonna sound weird.
It's like if you ate,
beans uncooked twice,
and you still continue eating uncooked beans,
then that's not very smart.
(Angela laughing)
So I think what he's trying to say is,
don't make the same mistake twice.
I don't know why it has to do with uncooked beans.
But another thing that he told me is that,
you know, opportunities come to those who are prepared.
I'm pretty sure it was another food analogy
'cause I do really well with food analogies,
that's the way I understand the world.
But he says that, you know,
every time you see somebody looking like
as if they were just an overnight success,
it's never overnight.
you don't see all the hours and days
that they've poured into doing something
fruitful or not, successful or not,
until they get to the point
where they're prepared enough
to be hit by that opportunity.
So a good example, I think,
is for example, we built the Flutter course,
because Tim, who heads up the Flutter team at Google,
took my iOS course and he loved it so much
that he reached out to me over Twitter
and this is how we partnered with the Flutter team
at Google to build this course together.
Now if I had just started building courses day one,
and you know, firstly nobody would know about you.
Secondly, you know, there's no track record.
And thirdly, I'm not even sure
I would be able to build
such a good course from scratch.
So you know, the idea is to spend all of your time
preparing your startup, working on it,
and then you know, there will be moments,
there'll be wins and there'll be losses,
and you have to grab onto the wins,
and not think too much about the losses.
That's pretty much in a nutshell,
how I think about our startup.
Okay, so I'm gonna go back to the chat,
and I'm gonna ask you guys for some more questions,
and let's see if we got some good ones.
Alright, so I think,
when I was looking at the questions
that people asked previously,
and also, in YouTube right now,
the one that I'm seeing a lot is this one.
It seems like everybody wants to know
when the iOS 14 update is coming for iOS,
or is there gonna be a new course?
When is it gonna happen?
What is happening on that?
Should I wait for the course?
Should I continue the iOS 13 course?
What's happening?
Okay, so here's what is happening.
We've reviewed Big Sur,
and also the latest version of Xcode.
We're in the process of testing the course
through all of these new pieces of software.
And what we realized is that
the changes are not that great.
So there's basically not enough changes to,
there's a,
they've tweaked the style of Xcode a little bit
and they've added some handy features,
which we might point out.
But essentially over, you know,
what we've been doing is,
we've been just sort of trying to figure out
how we can update the last parts of the course
because they're more outdated.
Whereas the beginning modules
sort of up to FlashChat, I think.
So the first 14 or 15 modules we're gonna keep as is,
because they still work.
But we'll update some of the interfaces,
so at least initially, it won't be so confusing.
But that means that there will be no new iOS course,
you won't have to buy anything,
or the updates that we're making
through this winter and next spring
will get added to the existing iOS course.
So don't buy any more courses,
just keep the one that you already have,
and you'll see the updates roll in.
But if you're already learning with the course,
don't worry, the changes are not that big.
You'll be able to,
you'll be able to figure it out.
So that's what's happening on that.
And let's see what other questions we've got in YouTube.
Alright, so we've got a question from Atharva Wasekar,
and also some people on YouTube, it seems.
"Do you watch anime?"
Okay, so that's kind of,
it's interesting, that's a question
that everybody wants to know.
I wonder if it's because of all the memes
that I put into the courses from anime.
So I don't think that,
so the anime that I like basically,
is quite old school.
You know, your girl's not young.
And so for example, Ghibli movies,
"Spirited Away," it's like one of my favorite,
all-time movies.
I love it so much,
but pretty much any Ghibli movie,
it's amazing, it's just like paints the scene.
But more recently,
I'm kind of late to the bandwagon here,
but Netflix started showing this
sort of a western anime called,
"Avatar: The Last Airbender."
Okay, so if you haven't watched this,
don't be put off by the name.
It has a horrible name,
but it is so good,
it's like reliving childhood, you know,
like if you could just go back to being a little child,
that's how it feels.
It's so wholesome,
and oh my God, it's just so good.
If you haven't watched it,
I wouldn't ruin it for you.
But it is literally the best animated show
I have ever watched,
and it has a special place in my heart.
Okay, what other questions have we got?
We've got a question from a 13-year-old boy, I think.
Avadhoot, Avadhoot, Avadhoot.
I'm not sure.
And he asks, "What careers can I have at age 13?"
Okay, so the full question,
I will read out 'cause it's a little bit long.
He says that, "I am a 13-year-old boy,
I'm doing your web development course,
I'm even doing a course based on how to create AI
and ethical hacking.
What careers can I have at this age or a job
that doesn't consider my age?
Please take this question,
love the way you teach,
found it easy to understand, Avadhoot."
Okay, so firstly,
why are you thinking about work?
You're 13, man.
Like, just enjoy life.
It's so good to be that age.
But you know, then again,
I have to say, like when I was 13,
I was probably the same as you.
I was also thinking about like how to get a job,
I don't know what it is.
I think you're probably an overachiever,
like a type A person like me as well.
So when I was 13,
I was thinking that,
I'd really like to have some pocket money,
'cause my parents didn't really believe
in pocket money,
and there were like sweets and snacks
that my friends were having,
and I was kind of jealous.
So I was like, "You know what?
I'm gonna make my own money."
So I decided to take an inventory of,
what am I good at?
And I tried out a couple of things.
One is, I got legs, I can walk.
So I signed up for this thing in the UK,
I'm not even sure what it's called in elsewhere,
but basically there's this giant book,
like a telephone directory that we used to have,
like pre-internet days.
It's called like, "The Yellow Pages," in the UK.
And you can basically go door-to-door.
lugging these like. two-kilogram books.
and you get paid a pound,
so like about $1.20,
for every one of these books that you deliver.
So the thing is that they're so heavy,
they're like, I don't know,
they're like two kilos each.
So if you're manning 10 of them,
and I was 13,
that was pretty hard,
and I got some pocket money,
but I thought about iterating on that.
So you know, coming back to startups,
you gotta try something, you test it out,
see if it works, see if people like it,
see if it gets you to your goal,
and if not, you iterate.
So my iteration,
basically ended up in me thinking about
what else do I have?
And maybe like manual labor
isn't really my strong point?
So I thought that well, you know,
I'm like pretty good at maths,
I'm pretty good at physics,
and there's probably other kids
who wanna learn math and physics.
So I printed out these little flyers
like from my little home printer.
So like they were like this big each per ad,
'cause I didn't wanna waste too much ink.
And I cut it out of the page,
and it's about like eight ads per page.
And I went door-to-door,
around sort of my neighborhood area,
like an area that I thought was like,
within walking distance,
and I posted it to everybody in the mailbox,
and then like some people actually called me up
and then I became a tutor,
although probably illegally,
because I'm pretty sure you're not allowed
to work and earn money at age 13,
unless you're like supervised or something.
But that was like my first entrepreneurial bent.
So coming back to your question,
what careers can you have at age 13?
Well now that you have the internet,
effectively, you could do anything,
you could like probably sign up on Fiverr
and start doing freelance gigs.
I think when people sign up to these freelance gigs,
they always wanna like charge what it's worth.
And I would say, just don't do that.
Don't like go overboard.
Charge way, way below what you think it should cost.
So you wanna build somebody a website,
charge $5 for it, you know,
and what you wanna do is like build up your reputation.
So as you get more clients
and if they like what you do,
hopefully, you're doing a good job
'cause you know you're my student, right?
So you're gonna be pretty good,
and when you give the project back to them,
you're learning like skills, like communication,
how to work with clients,
what clients mean when they're saying like,
"Oh, I would like that to look more classy."
What does that actually mean to a web developer?
Well, you're gonna work that out.
So once you've got a good client,
then you've got A, word of mouth,
you've also got reviews,
you've got a client who can be your referee,
and you build up on that.
So you take on more clients,
maybe you've got too much work.
So now you raise your prices, it's now $10,
and then you've got like too much work again,
you raise your price for $20,
and that way eventually, you'll get to the point
where you're making enough pocket money
to buy sweets or whatever it is
you know, you wanna achieve.
Maybe you wanna like buy stocks at age 13,
maybe you're gonna buy into Tesla, I don't know.
But yeah, so that's my advice.
Let's see if we got some more questions on YouTube.
So let's see,
what you guys are saying in here.
Oh, this is a really good one.
So this is a question from Dionysios,
Dionysios, I think that's how you pronounce it.
(Angela chuckling)
And he asked,
"Understanding syntax is not so difficult.
Formulating syntax together with logic
to build functional code is difficult.
What are the best strategies
to connect the dots to build real-world projects?"
This is something that you guys have posted a lot,
and it's something that we think is really important.
Because one of the sort of feedback
that we were always getting from students is,
"Yeah, okay, so like, you know,
I've completed this tutorial,
I've completed that tutorial,
but you know, after I'm done,
I still don't know how to make my project.
I still dunno like how to build something," right?
So this was really like our thinking
when we started building the 100 Days of Code project.
I wanted to make a course,
basically, which starts out with tutorials
and a lot of heavy sort of guidance,
but then to progress on,
to be able to let you experience
what it's like when, you know,
the training wheels are off.
So when I first learned how to ride a bicycle,
you know, I was riding it,
and I didn't really have one
of those fancy bicycles with the training wheels.
I just had my dad like holding the bicycle from behind.
And you know, initially I was just riding,
he was running behind,
and then at some point, he kind of let go,
and I didn't really notice,
and I could just start cycling myself.
But then when I turned around
and I saw that there was nobody there,
I immediately crashed, right?
So yeah, I guess my track record
with bicycles is not great,
but so I guess the learning point there, is that,
you know, you can't always be in tutorial land
if you wanna become somebody
who's not dependent on tutorials.
So a lot of people have been asking me,
"Hey, you know this course, 100 Days of Code,
why is it that there's like less and less video
towards the end?
Is it because you haven't finished it?
What's happening?"
So the answer to that is no,
it's not because I haven't finished it,
it's because it's really carefully thought out,
believe it or not.
And the idea is to be that person
holding the bicycle from behind
and then to eventually let you go
because I want you to be able to finish that course
and to get a job,
or to build your own startup,
build your own project.
But that requires quite a bit of struggle.
And the struggle comes from building projects, right?
But you know, when I say to people,
the best way to learn to code
after you finish a tutorial,
is to build a project.
Well they say,
"I don't know which project do I build?
And how do I build it?
I don't know how to get there."
So that's why we built this course
to try and make it,
so that initially, you have sort of more
step-by-step, like video lessons,
and then you have step-by-step text lessons
with more dependence on the documentation,
and on like the kind of real tools
that a developer would use like Google
and Stack Overflow.
Like, you need to struggle,
you need to find out the answers for yourself.
But you know, there's walkthroughs,
and there's guidance,
and then eventually, to get you to the very end,
where you are actually building your own projects,
for your own portfolio,
which contains 100% your own code,
which you can, you know, copyright,
you can sell, you can do whatever you want,
because it's your own.
And what we've done is just provided
the project ideas for you,
something that we think is really feasible
that you can definitely do
if you've completed the entire first 80 days.
So that was what we tried to do.
And you know, I think the best way
to build real-world projects is to start small.
So don't start off trying to build a car,
build a skateboard instead.
And then once you've built the skateboard,
maybe add a handle to it,
turn it into a scooter,
and then maybe once you've done that,
turn it into a motorcycle,
and then turn it into a car.
Don't just go out there and be like,
"I wanna build Facebook plus Twitter,
plus you know, whatever enterprise software,
and I'm gonna do it,
like after I complete this course."
Like that's just,
you're setting yourself up to fail.
You have to start with something simple.
Alright, so we're kind of running a bit over,
I said we do 45 minutes,
but we're kind of close to an hour now.
So I'm just gonna glance at the YouTube chat
and try to see what you guys are saying, like, live.
Let's do some quick questions.
"Swift UI or UIkit?"
Swift UI is getting a lot better.
But you know, when we did the Swift,
the Objective-C to Swift conversion,
it took like years still,
like loads of apps are built with Objective-C.
So Swift UI is not something that you can learn
and get hired for right now.
It's really fun,
and I really enjoy playing with it,
but I don't really think it's serious enough
like for my needs at the moment.
So we're probably gonna build
in more tutorials to the existing course.
So if you miss that,
you don't have to buy a new course,
your existing iOS 13 course will get updated,
but it's gonna be probably more Swift UI,
a little bit less UIkit,
and then we're gonna keep tweaking that percentage
until, you know,
until like when Apple fully transitions.
But I wanna do it slowly because right now,
the kind of skills that's really important
that's gonna get you hired is UIkit.
"Can you make your iOS course
like 100 Days challenge code?"
I think we thought about making
the 100 Days of Code challenge,
we thought about like what's the perfect language for it,
because Python is something that you can do
like a lot of different things with,
like web development or data science,
or scripting, or automation.
Swift is pretty much all about making apps,
and it just doesn't really work that well with it.
I think it works better
when you can actually build real projects
like big projects that you can show off
and you can use.
I think it's just a better format.
Like, none of the things that we do is random.
Like, I spend a lot of time thinking about it.
Okay, what kind of games do you prefer?
Computer/Android?
Oh man, I recently got into this steam game
called "Salt and Sanctuary."
It's a two-player couch co-op,
and it's just so good.
It's like, it's got like the RPG elements,
it's got platforming,
it's got some combat,
and it's got like just a lot of elements.
It's like really well-rounded,
and I discovered that it was actually made
by like one guy, essentially.
He built the entire video game, which is crazy.
It's a really good one.
And on Android, on phone,
yeah, "Among Us." (chuckles)
It's a bit of a guilty pleasure,
if you haven't played it, don't start.
Okay. So what else are we seeing in the chat?
"Will you intend to build a Java course?"
Probably not.
I don't really like Java that much.
I feel like Oracle's gonna like send me a lawsuit
just for saying the word, "Java."
So the funny story is that,
we obviously have like an Android course,
and Android course is built with Java,
so we thought it'd be a good idea
to put the Java logo on the course image,
and then we got this like really serious letter
from Oracle saying,
"Yeah, you gotta take off our logo
'cause you don't own the logo for Java."
And we were like,
"Hey man, we're trying to teach your technology to people,
like we're trying to teach more people Java,
which you own."
But they were like, "Nope."
So yeah, I think they're a bit old on that front.
Let's see, what other messages have you guys got?
"I'm completing the 100 Days of Code course
with my grandfather."
Wow, that's amazing.
I've heard of people completing it with like their kids,
like their 10-year-old, 11-year-old kids.
But that's pretty awesome.
You know, this is another good point.
My friend was recently telling me the story that they,
so he works at a bank,
and he was saying how they have this guy
who is like the godfather of like their platform's code,
and nobody else can like fix it other than him.
And I was like really curious, you know?
And so one day the like, grandmaster
of the finance company's code comes in,
and he is got like a walking stick,
he's like 69 or something,
and he is like really old,
he is got like white hairs,
and it turns out that their entire system
is built on pretty much like,
you know, like really, really old tech, right?
And this is like the only guy
who really understands how to do it.
These kind of old programming languages
like COBOL or Fortran,
you know, because there's not actually
a lot of people who know it,
and it's super hard.
Like when you,
if you tried learning C,
and you think that's hard,
like try learning Fortran,
it's even harder.
I guess there's also machine code,
but you know,
there's also a point to be made
that maybe somebody should teach
like these old languages,
because there's obviously some future in it as well.
Like all of the airline industry,
banking, they're all built on COBOL, which is crazy.
What are the best books that you've read this year?
The best books.
Oh, there's a really good book on negotiation
by Chris Voss,
and he's like this ex-FBI negotiator,
so like negotiating hostage releases,
and everything.
And he wrote this book called,
oh man, what's it called?
Something about like,
"Never Split the Difference," that's it.
So he basically just teaches you
like how to negotiate,
like, if you wanna buy a used car,
how to get the best deal,
but using all of these skills that he got
from like the FBI, which is absolutely insane.
It was a really good book.
Okay, so what else have we got?
"Java, C++, or Python,
which is the most powerful?"
I mean what are you trying to, like,
you're trying to do like street fighters?
(Angela laughing)
You know how on YouTube,
there's all these like videos
of like, "Bear versus Cobra."
(Angela laughing)
I think somebody should make
a YouTube video where it's like,
Java programmer versus Python programmer. (laughs)
I don't know, I don't think any of them are more powerful.
I think they have their own uses.
It's like kind of saying, you know,
"Hammer versus saw, who's gonna win?"
It doesn't really make too much sense.
What have we got?
"Web development or software development?
Which one do you prefer?"
Ooh, that's a really hard one.
I like,
I like both actually.
I don't know,
I don't have a strong feeling towards it.
I mean okay, so here's a bit of a secret.
I don't really like JavaScript that much.
I think if you are somebody who's played
with a lot of the newer languages,
that have been like developed recently,
rather than a language that's all,
that's just had new things bolted on like JavaScript.
You realize like how nice it is.
Like Swift is lovely, Kotlin is nice,
Dart, like they're all really nice languages,
Python, but JavaScript, eh.
But web development,
you can do with Python, with JavaScript,
it's really your choice these days,
with so many frameworks.
What else have we got?
"Can you say something about UI/UX designing?"
UI/UX designing, it's really important.
(Angela chuckling)
Oh, this is a good tip.
Don't think about UI and UX at the end.
A friend of mine is a UX designer,
and she's really, really good,
but like she says,
always what happens is like,
companies will bring her in at the very end.
They're like, "Oh just sprinkle your like UX magic dust,"
and it's like, "No, that doesn't work."
You have to start from the very beginning.
So super important,
like read more about it,
try out loads of apps.
I know that these days people kind of like,
just have seven apps on their phone,
and they don't really add any other ones.
But try out apps,
try out the user experience,
and then just make a note of the ones you really like.
Like recently in the UK,
there's a bank startup called Monzo,
and when you get their bank card in the mail,
when you are setting it up,
so when you're doing that with like a normal bank,
like you know, HSBC or whatever,
you have to like call up their customer service,
you have to go into the branch,
they type some stuff,
you fill in some forms.
This Monzo card came in,
I had to download the Monzo app,
and then it was literally like using NFC,
touch your phone,
and then it was like it's all set up.
That was amazing.
That is good UX.
That is some fantastic UX.
Last question I'm gonna take,
I'm gonna pick the last question
before we take off,
let's see.
What's the last question?
Oh, this is so hard.
Oh, la-la-la.
Okay, I'm gonna pick you,
'cause I see you in the Q and A,
doing a 100 Days of Python all the time, Mattia.
You're like really, really strong
on the motivation.
So your question is,
"How do you make prices for software?"
Like how do you price software,
I think, is what you mean.
I mean, theoretically, what people say is,
price your software at the price
that people are willing to pay for it.
But I mean,
I'm not really the right person to ask,
'cause I don't really like doing marketing.
I don't really like doing sales,
I just don't,
like when I make my courses,
I kind of think,
if it's something that people want,
then they'll get it.
Like, I don't want to like,
I don't wanna like tell people
to buy something that they don't need
or they don't want, you know?
Like I think the marketing team
wanted me to do this AMA
so that we could promote
the new 100 days of Python course,
but they're gonna hate me
'cause I haven't done any of that,
and I'm not planning to,
yeah, I mean check it out,
it's in the description below.
If you want to get the 100 Days of Python course,
you can get it for whatever price is there.
But you know,
I think you should price your product
depending on its appeal.
So if it's something that has mass appeal,
then you know you can afford to make it a bit cheaper.
If it's something that has only very few people
interested in it,
like for example,
if tomorrow, I wanted to build a software
for people who are livestreaming on YouTube
so that they can play music as a DJ,
like, I don't know how many people are interested in it.
Maybe a lot actually. I don't know.
But if it's something that's really niche,
then you've gotta price it more,
because you know, considering the amount of time
that it takes to develop.
But I mean, a good example is that,
our team, you know, thought really hard
about how we price our courses,
and one of the things that
we thought about is that, you know,
if we can afford to make it cheaper then we will,
because yes, people will buy it for $200,
and yes, you know six people worked on this project
for almost two years,
and they, you know,
they should bring out a product that's worth a lot.
But at the same time, you know,
like, a lot of people around the world
have very different living conditions.
I know that I lived in Malawi for a while in Africa,
and you know, I know,
like in villages and you know,
people don't have a lot.
So what you might think is a lot,
is what you might think is a little,
is actually a lot to some other people.
So we really wanted to be able to make courses
that anybody can afford.
So I would just say, you know,
really depends on you.
So I think this is gonna be the last question,
unless there's something fun in here.
"Can I work at App Brewery one day?"
Well I mean there's COVID,
but there's also like remote positions.
We're thinking of maybe hiring
some interns at some point,
but I don't really know how it'll work.
Maybe we'll announce it
as like an educational announcement.
I don't know, but we'll think about that.
Alright, so it's now way, way past time,
and my tummy's kind of rumbling.
You know how it is.
The girl is hungry.
So I'm gonna probably sign off.
And so thanks, you guys,
all 1000 of you guys or more
who joined in for the livestream today,
and I hope you will carry on coding,
and I hope you all the success in the world
from your instructor, Angela.
Good night, good morning,
wherever you are, bye.