Placeholder Image

字幕表 動画を再生する

  • That's it!

  • Now I'm a star.

  • I'm done!

  • Thank you.

  • Okay, today I'm going to be talking about JavaScript is for everyone.

  • That wasn't supposed to happen!

  • And also that wasn't supposed to happen!

  • Okay, hello.

  • I'm Kenigbolo Stephen, a lead and advocate.

  • I'm also the community manager for Code Afrique story, and I will tell you about the Code

  • Afrique story and why JavaScript is for everyone.

  • You can find me on Twitter.

  • Please don't ask me how I came about that handle!

  • It's one of those things I don't really want to talk about!

  • But, yes.

  • I work in Finland.

  • Who knows about Finland?

  • That's nice.

  • This audience is way better.

  • In Finland, we don't smile, so it is do you know about Finland?

  • That's pretty much it!

  • I'm going to be talking about JavaScript being for everyone.

  • This is basically how it's going to go.

  • I will talk about what Code Afrique is, why we do what we do, an important disclaimer:

  • you may not like a lot of the things I'm going to say today but I think it's important to

  • state these things.

  • There's been a huge dysfunction between teaching JavaScript and getting beginners into the

  • industry.

  • I'm going to talk about the team behind Code Afrique.

  • I'm going to be telling you how we teach JavaScript.

  • I'm going to tell you about Amber, how the conventions of configuration have changed.

  • Beginner concepts that we used Ember to do, and a history of where we came from and how

  • we decided to go with this.

  • What is Code Afrique?

  • Nothing fancy, just giving back to the community.

  • It's a bunch of students, doing a masters in software engineering.

  • We figured out the problem in Estonia and decided to get together to solve it.

  • I'm going to tell you what we did.

  • What do we do, and why do we do what we do?

  • Who understands what this means?

  • Okay.

  • Very few hands.

  • But this basically explains why I'm giving this talk.

  • In case you missed it in my previous slide, I used the word "under represented" highlighted

  • in red for a reason.

  • I would like to redefine this word.

  • I see myself as a marginalised person.

  • In 2015, I was doing a Masters in software engineering?

  • In Estonia.

  • We have a lot of people of colour in the country, not so many but a significant number.

  • The issue was it was difficult to get jobs, right?

  • There were a lot of people who wanted to get into the tech space and it was difficult to

  • get in and the reason was we had created this barrier for them, assuming that everyone had

  • the same cognitive abilities.

  • This is a bias, a lot of us have.

  • We don't necessarily do it intentionally, but this is it.

  • A random question: how many people who make tutorials or teach people think about learning

  • disabilities like ADHD, for example?

  • Very few hands.

  • How many people think about people who are not really able to learn not because they're

  • not smart enough, but because they didn't have the same privileges that you had?

  • Do you ever think of that?

  • How many people here got their first computers before 15?

  • Okay.

  • You see these hands?

  • I never got a computer before 15.

  • So, what whether I like it or not, I didn't get the advantages that others had.

  • This is why we came about Code Afrique to actually try to boost that gap and give people

  • the ability to actually get into the industry without thinking so much.

  • Yesterday, something happened, and I basically wanted to call out this.

  • I thought it was important.

  • I would like to change the narrative of we being under represented.

  • I quote Brian Lyells when he says you're not under represented before, you're over represented.

  • I'm sorry, but this is fact.

  • We are black, indigenous people of colour in IT, and we are supposed to be here.

  • We're not here as a quota, we are here because we're supposed to be here.

  • We don't want to use negatives to address ourselves in the industry, we want to be seen

  • as people managing our lives, not under represented.

  • Hopefully, I hope that by the end of this talk everything thinks this back and puts

  • it on the back of their minds.

  • Would you believe me when I tell you there are a lot of amazing ideas that because it

  • belongs to a person of colour or a marginalised community?

  • How many people actually believe this?

  • It is always difficult when you need to go and talk for funds when you belong to a specific

  • demographic.

  • It's not as easy as a lot of people think.

  • This it is one of the reasons where we decided we want to bring this community to get people

  • together, people who belong to these under represented groups and then teach them JavaScript

  • in such a way where they don't need to be so much worried about the toxicity we have

  • not industry.

  • They could just come and learn, and afterwards explore.

  • So, yes, like everyone else, I think we all deserve an equal chance.

  • It might not be nice, it might not be comfortable for some people, but we all deserve an equal

  • chance.

  • I'm not sure about pizza and - I'm a pizza person, so maybe the Americans may not be

  • so happy but I like pizza more than ... we're a bunch of regular people.

  • The folks who work at Code Afrique, that's Gabriel.

  • This is Sunday.

  • And this is Victor, all senior software engineers.

  • Two work in Canada and one works in Estonia.

  • We started Code Afrique together in 2016, and we've been going strong there ever since.

  • I'm going to give an honourable mention to a friend called Fortuna based in Estonia.

  • He helped us discover a better way to actually accommodate people when we need to teach JavaScript.

  • Now, one of the biggest things we found out about JavaScript and getting people into the

  • industry is the conceptions of pure evil.

  • One of the preconceptions is that JavaScript is easy.

  • You can say that when you're not a beginner.

  • If you've never written a line of code, programming is never as easy as you think, and this is

  • something I want us to remember when you have to teach people.

  • The fact that you understand it does not necessarily mean they will understand it the way that

  • you do.

  • The fact that you have the ability to assimilate things does not necessarily mean they would

  • have the ability to assimilate it in the way that you will.

  • The JavaScript community out here, there is no control of people grasping the concepts.

  • This is not the fault of JavaScript but down to the fact that people learn differently.

  • Where we've made the mistake is not taking time to find ways to accommodate the different

  • type of people who need to learn.

  • We have been very mainstream in the way we teach JavaScript, and I'm hoping that, as

  • we go back today to mentor people, those who have junior developers, we take this into

  • consideration about who we are teaching what the situations might be.

  • Sometimes, it's not only about learning disabilities, it could be emotional, mental, physical.

  • Let's always put that into consideration when we need to teach.

  • Now, JavaScript does not have to be complicated as much as we tend to make it complicated.

  • I strongly believe it doesn't have to be.

  • JavaScript is a beautiful language.

  • I didn't come from a JavaScript background.

  • I came from a C++ background but of since I got here I don't want to go back because

  • I love being here.

  • However, we have created a barrier that makes it difficult for people to come into the industry,

  • and just before I go, a quick question: how many people here work in front-end development?

  • Awesome.

  • That's a lot of hands.

  • Okay.

  • This should have been named JSConf front-end!

  • How many people as front-end engineers have had to traverse a binary tree in their regular

  • day jobs?

  • That's very few hands.

  • I can't even count.

  • How many have had to use the big notification in the regular jobs and front-end engineers?

  • Also very few hand.

  • Now, think about it: why do we need to actually make beginners scared of getting into the

  • industry by bombarding them with all this information instead of getting them in and

  • easing them into learning?

  • Why can't we do that?

  • Why do we always have to make it so complicated?

  • So we designed a simple way to actually teach beginners, and it's basically this: because

  • whether you like it or not, these are the three building blocks of JavaScript.

  • The moment you can understand these three concepts, it makes it easier for you to go

  • on and explore different other things.

  • We basically decided to use the pattern explaining variables and objects and methods going through

  • this way.

  • We think it's easier.

  • It has worked for us and enabled us to get out the 15 students we initially take, get

  • nine of them into the industry, they're good engineers, they're still young, they still

  • have a lot of time to improve, but they're learning, and it has shown us that there is

  • a possibility to actually ease people into the industry without necessarily complicating

  • the entrants.

  • We need to think about the different type of people.

  • We need no to think about the different communities and find a way to get everyone in without

  • necessarily unintentionally excluding them.

  • Now, the biggest problem we face when we need to teach people, and this is not - this is

  • by no means me lashing out at anyone, or any particular thing, I'm just saying the JavaScript

  • community has grown so big, and something that is supposed to be a huge help for us

  • has unfortunately turned out to be a problem, and that is that?

  • This is it.

  • Yes.

  • And, again, pretty much frameworks.

  • Frameworks was supposed to make software development easy.

  • Frameworks were basically - we started building frameworks to enable people become productive

  • easier.

  • Unfortunately, we have started making frameworks that by making it more complicated for people

  • to get in, and this is now not a lash-out to anyone or framework.

  • In my team, we use four different JavaScript frameworks for different projects.

  • Every one has its pros and cons.

  • I think that it's important that when we build this, and even when we make tutorials, we

  • take into consideration the different type of people that need to learn.

  • Now, I like Ember, and I'm going to make a disclaimer: I am not sure I'm not connected

  • to Ember.

  • I'm only speaking it in the context of how we use them by giving people simple instructions.

  • There's something very controversial about Ember.

  • I wouldn't say controversial but a diverse opinion.

  • It's a convention over configuration.

  • A lot of people feel that this is not so good.

  • And that's not justified.

  • They have their reasons.

  • A lot of people do believe that conventional over configuration is quite important, and

  • they have their reasons.

  • Now, starting in Code Afrique, we actually went ahead to teach people in terms of the

  • different things that we needed to show them.

  • What we discovered was that it was easier to actually use Ember because we could give

  • them a set of instructions to follow.

  • One of the most important things you enjoyed as a beginner was writing the line of code

  • and seeing it work.

  • We gave them an opportunity to see their work progress, enjoy that excitement, and then

  • go on to dig deeper behind the basics, why this works the way it works, with , instead

  • of working in the reverse pattern.

  • So typical pit stalls we encountered with trying to use frameworks.

  • Lazy-loading.

  • Too many computer science concepts that is front-end development.

  • It doesn't have to be so complicated.

  • Come on.

  • Some frameworks seemed to be front-end frameworks designed for back-end developers.

  • A lot of people here can agree with that, I'm pretty sure we've all seen it.

  • You probably know what I'm talking about.

  • Yes, and then some things aren't designed for beginners, it's true.

  • As much as we would like to say it is, it's just not designed for beginners.

  • It's not beginner-friendly.

  • There are tons of other things but I will skip that and talk about the basic ones.

  • At this point, I'm going to play a nice video.

  • Hopefully, the musical part is actually removed.

  • This was a video made by one of our students and I promised him I was going to play here.

  • >> Thank you.

  • God bless America.

  • [Applause].

  • >> It's a representation of how the different technologies and frameworks.

  • [Video]: "Nice to meet you.

  • What's up, Graham.

  • You know this.

  • Heath Williamson.

  • Nice to meet you, sir.

  • Come on.

  • Come on.

  • Emily George.

  • How are you doing?

  • All right.

  • Never forget about that.

  • That's all we got.

  • Nice to meet you.

  • All right.

  • Oh, bring it in!

  • Starting from the bottom now we are here.

  • Nice to meet you.

  • All right.

  • All right.

  • Nice to meet you.

  • One - bring it in there.

  • [Voices overspeaking].

  • <