Bummer! This is just a preview. You need to be signed in with a Pro account to view the entire video.
Start a free Basic trial
to watch this video
Panel discussion - 'Have We Made It Too Hard to Learn Web Development?'
31:29 with Lisa Larson, Jason Lengstorf, Alex Sexton, and John ResigThe development community is extremely smart, extremely innovative, and extremely clever. We are constantly building new tools to make our development processes faster, more streamlined, and less repetitive. But are these tools creating too big a barrier for novice developers? It can feel a little bit like the rich getting richer: developers with a strong baseline knowledge of HTML, CSS, JavaScript, and other languages can easily adopt something like SASS, Jade, or Grunt, but someone who is new to web development might be completely lost (or even deterred altogether) by the steeper learning curve. This panel will discuss how educators approach the broader range of tools, as well as how the people building the tools think about newcomers: are they building tools for themselves, and whoever tries hard enough to learn is welcome? Or are they working to create educational materials to bring someone with zero experience up to speed on the latest technology?
-
0:00
So it's my pleasure to introduce Jason Langsdorf from Copter Labs.
-
0:04
Here we have Lisa Larson Kelly from Learn from Lisa.
-
0:07
Alex Saxon from Stripe and John Reszic from Kahn Academy.
-
0:11
We'll be talking about tools and whether there's such thing as too many or
-
0:17
too few and from that I'm gonna let Jason take it away.
-
0:21
This is gonna be an interactive discussion which means that we expect you to
-
0:24
participate if you want.
-
0:25
So I'll be roaming around with the microphone.
-
0:28
So, please just raise your hand proud and high if you wanna talk.
-
0:31
Thanks.
-
0:33
>> Okay, so I wanted, the point of this panel is to kind of discuss where we
-
0:37
are going in web development and
-
0:39
the steps we are taking to make sure that we are still able to bring new people,
-
0:44
novice web developers, up to speed with the growing number of tools.
-
0:49
The reason that I was thinking about this as a topic is that when, you know,
-
0:52
when I first started in web development.
-
0:54
I had to know two things, I needed to know HTML and
-
0:57
CSS, and technically I didn't even need to know CSS.
-
1:00
So as the toolset grew, you know, you get into JavaScript and
-
1:04
you start working in the backend and, and there's just more and
-
1:06
more layers of complexity that built over time.
-
1:09
But now we're starting to roll out things,
-
1:10
especially with the advent of Node where there are dozens and
-
1:14
dozens of tools that make our jobs easier and more efficient, things like Grunt.
-
1:19
Templating lan, languages like Jade, EJS, Mustache and Handlebars.
-
1:24
There are you know, a bunch of different things that
-
1:27
allow us to very quickly build out different things.
-
1:31
But the comple, the complexity that comes from that is that
-
1:34
when you wanna bring somebody new onto a project, they don't just,
-
1:38
they can't just come knowing HTML and CSS and JavaScript.
-
1:41
Now, they have to be able to function in an environment that's built with
-
1:45
Grunt using SAS and a bunch of SAS mix-ins with a Jade template and,
-
1:51
you know, all the different things that you've put in place.
-
1:53
So we've raised the level of complexity of our projects pretty significantly.
-
1:57
And this is an ongoing project but I have noticed that it does seem to be
-
2:02
even more rapid than it, than it was now that Coden made it so easy to do.
-
2:08
So what I wanted to talk to these lovely folks over here about is
-
2:13
just kind of coming from a place of both Alice and
-
2:16
John have a lot to do with jQuery and still have a lot to do with.
-
2:19
[LAUGH] With, John you wrote JQuery in its original form.
-
2:24
And so I wanted to talk to them about what is arguably the,
-
2:28
probably the easiest framework to learn.
-
2:30
JQuery has a wonderful documentation, it's,
-
2:32
it's part of the reason why it kinda swept the, the development world.
-
2:36
And then Lisa, who is doing education for
-
2:39
people who are getting into web development.
-
2:40
About how she's approaching these new tools.
-
2:42
So, to start I guess, John.
-
2:45
When, when you were first doing jQuery did you come at it from
-
2:50
the standpoint of like, we're going to build this from documentation up and,
-
2:53
and make it something that everybody can learn?
-
2:56
Or was it a tool for you that, that you then retrofitted the docs to?
-
3:01
>> I guess it was a combination of both.
-
3:03
I definitely.
-
3:05
I didn't start with docs.
-
3:06
I did write code.
-
3:07
I, I, I was, I was definitely writing tools for myself, at least initially.
-
3:12
But it was very important that before I ever released the code,
-
3:17
that there was documentation in place for people to use.
-
3:21
I, when I released the, the library in August, January of 2006.
-
3:27
With with the initial release with documentation and everything.
-
3:30
At the time it was the only JavaScript library that had documentation.
-
3:35
And in, in fact it, it was that case until January,
-
3:40
2007 when Prototype finally released their documentation for their library.
-
3:45
So the prototype was undoc, undocumented for two years before [LAUGH] it was,
-
3:49
[INAUDIBLE] just told people to read the source code,
-
3:51
the source code was very readable.
-
3:54
But there was certainly a gap there, and difficult to get started.
-
3:58
>> I think that actually brings up a really good point.
-
4:00
Are, are we building these tools, especially some of the more advanced ones.
-
4:04
Are we building them with the expectation that you, you must be this smart to play.
-
4:09
where, you know, the expectation is that you will have amassed the level of
-
4:13
expertise and knowledge about a certain, discipline of web development, that then,
-
4:20
then you need to know that before you can ever start working with a given tool.
-
4:23
Like, you know, a [UNKNOWN] runt.
-
4:25
Alex, do you have any thoughts on that?
-
4:31
>> Yeah, I'd play some music, I'm a drummer, and, same thing,
-
4:36
guitars and microphones, things like that.
-
4:40
You can buy, like a, $3000 guitar, and
-
4:42
I'd say that like if all guitars are three thousand dollars, no one would play them.
-
4:46
It would be too hard to get into the business of music.
-
4:50
But it remains true that when you start out, you buy the hundred
-
4:55
dollar first act guitar from Wal-mart and you learn from there.
-
4:59
And then, once you out grow it, you can move to something else.
-
5:01
And so, I feel like, if Grunt is too hard,
-
5:04
like it's fine if you wanna write a batch script that cats four files together or
-
5:09
whatever, or use some automated tooling system that does that stuff for
-
5:14
you that is even easier than Grunt, and then when you need it
-
5:17
to be more customized, and you've outgrown that level, you can kinda move on.
-
5:22
I don't think it would be helpful to the community to
-
5:26
dumb down all tools or, just assume lowest common denominator.
-
5:32
I think we can serve people on different levels.
-
5:34
>> Mm-hm, and so Lisa, when you're teaching these tools have,
-
5:39
have you run into any walls where you're just not able to get people over them?
-
5:42
Or like, how are you approaching the idea of, of some of the more complex stuff.
-
5:47
>> Yeah, I mean, I definitely agree that there are different levels that need to
-
5:51
be served for you know, Frameworks for example are helping people who
-
5:56
couldn't possibly do things that frameworks allow them to do, right?
-
5:59
>> Definitely. >> So it's a double edged sword.
-
6:01
>> Mm-hm.
-
6:03
>> But starting out with something that they can grasp,
-
6:04
something that they can actually understand and work with.
-
6:09
And they have all the pieces, kind of.
-
6:11
Or you can help them get the pieces.
-
6:12
>> Mm-hm.
-
6:14
>> And then build on it from there.
-
6:16
It, it is a process.
-
6:17
So there's, there's this huge gap but it's incremental.
-
6:22
>> Sure.
-
6:23
>> Yeah. >> So from a,
-
6:24
an employer's standpoint well, actually,
-
6:27
does anybody have any questions right now before I go off on a a diatribe?
-
6:31
No, okay, I'm gonna go off on a diatribe.
-
6:33
From a, an employer's standpoint, when you're looking at,
-
6:37
at building out your development team and, and equipping them with the things that
-
6:40
they need in order to build projects even on a medium-size team.
-
6:44
Do these tools that we're building make it harder to hire people or
-
6:49
does it make it more expensive for the company to to acquire talent that then has
-
6:53
to learn these extra tools and frameworks that you're using rather than somebody who
-
6:58
just has a very solid understanding of how, you know, the, the front end works?
-
7:03
>> I think any competent company wouldn't require certain tools to
-
7:08
hire a good developer, I mean, it's, I mean,
-
7:12
in the case of [UNKNOWN] academy we hire we interview and hire a number of people
-
7:18
and there you know, we don't like our two main programming languages are python and
-
7:22
JavaScript, and we don't even require that you know, either of them.
-
7:25
You know, if, if you're a, a good, if you can demonstrate that you're a good
-
7:28
developer and capable of learning we will, we'll bring you on.
-
7:31
And some of our best developers who are now writing amazing Python code and
-
7:35
JavaScript code have, were, just came in and
-
7:37
they didn't even know those languages when they started.
-
7:40
So yeah, I don't, I, I don't think that that's a, a prerequisite, that.
-
7:45
You know, I think it's a little bit silly,
-
7:47
a little bit nearsighted where if a company says oh, you must have
-
7:52
two years experience with Grunt and you have like all these sort of things.
-
7:55
Like, I'm like, yes, you can have those things but
-
7:59
like, there's really not much point to it.
-
8:02
I mean, like, that's assuming that.
-
8:05
You, you've been using this tool for a long time but
-
8:07
you're also really dumb [LAUGH] and you can't actually learn a new tool,
-
8:11
I don't know, it's a really weird thing, I don't know.
-
8:14
>> Alex, I'm actually curious so you so you're at Stripe,
-
8:17
and obviously if you can't share this, you know, no problem, but.
-
8:21
Do you guys have a stack that you work on?
-
8:22
Or like any sets of tools that like somebody who like joins the team needs to
-
8:26
like, gain mastery over before they are able to work?
-
8:29
Or like how do you have that set up?
-
8:32
>> You just wanted to know like social security numbers of like 100 people?
-
8:34
I can get that for you after [LAUGH].
-
8:38
yeah, so strikepire is in a pretty similar conacademy.
-
8:41
We do a fairly general interview no matter what role you're coming in for.
-
8:46
If you're coming in for systems you're going to do like OP-C work or
-
8:48
you're going to do financial things.
-
8:51
You more or less get the same solved set of problems, not really high CS
-
8:57
fundamentals either, it's more like can you solve sets of problems, and, and
-
9:02
actually when we do any sort of screen or interview, it's all tools that you
-
9:06
are comfortable with on your device on, in your environment.
-
9:09
So we want to see you, the, in your most comfortable state developing.
-
9:14
And not in our preferred environment.
-
9:17
And I think that works really well for, for, if someone is,
-
9:20
is fumbling around in their editor not remembering like,
-
9:24
you know, the function keyword or something like that and
-
9:27
they chose their editor and they chose their language, that's a pretty good tell.
-
9:31
But if you're forcing people to, to do something they're not comfortable with
-
9:33
its, you're mixing signals I think, so.
-
9:40
>> Sure. >> One question I
-
9:40
guess that I'd like to throw out to the crowd.
-
9:42
So Stripe and Kahn Academy are obviously some leaders in the field.
-
9:45
Is there anyone who has encountered either at a current or former job,
-
9:50
you don't have to tell us, something that was a very bizarre barrier to entry where
-
9:56
you had some tooling that you absolutely needed to learn or the moment you
-
10:00
walked in the front door you have to learn this or else you can't work on our stuff.
-
10:08
>> Outlook.
-
10:10
Look.
-
10:11
Lotus notes.
-
10:14
No one?
-
10:15
No one has any experience with it?
-
10:17
>> So here's another question for the crowd.
-
10:19
Is anybody is anybody using these types of frameworks?
-
10:23
You know, GRUNT, GULP, you know, JADE, things like that?
-
10:27
Just by a show of hands, how many different tools and.
-
10:30
So we're getting a fair number.
-
10:32
Now, did you have to learn those, did,
-
10:33
were any of you like forced to learn them as part of your job.
-
10:36
Or were they things that you brought to your team?
-
10:38
So if, did you bring them in?
-
10:39
[BLANK_AUDIO]
-
10:40
Okay.
-
10:42
Okay, so it looks like mostly like a, an at will sort of thing.
-
10:44
[BLANK_AUDIO]
-
10:49
No, I, I definitely, I wouldn't expect in,
-
10:52
people coming into the team to have those skills beforehand.
-
10:55
Like, I, I think that like, they're talking up there, you know,
-
10:57
Con Academy and, and it's stripe that, the people come to the team and we say,
-
11:01
okay, go take time and learn about this, like learn how to write Grunt plugins.
-
11:05
oh, hey, you don't know Angular and our entire app's built on Angular, but
-
11:08
you're a really smart person.
-
11:10
We'll bring you in.
-
11:10
The first two weeks you get to go work on videos and
-
11:13
learn angular, dig into the apps, and start working on some bugs.
-
11:15
So, I think that education on the job is extremely important.
-
11:18
>> Sure. >> And in practice.
-
11:20
>> Definitely. Now does that make it-
-
11:22
does that add a level of difficulty for the small business?
-
11:28
Maybe somebody who doesn't-
-
11:31
Maybe somebody who doesn't have a, a large budget, you know,
-
11:35
a small team that then needs to, like, put in time to train people.
-
11:40
>> First guy in the pool gets the book.
-
11:42
There you go.
-
11:43
>> I, I'll bite on the money thing.
-
11:46
I think.
-
11:47
That would be true if the libraries and
-
11:49
frameworks that we're talking about didn't provide more value in, in return.
-
11:54
So if you're saying hey everyone learn Python.
-
11:57
Let's go write this rails app.
-
11:58
But you have to know Python and we're not going to use that.
-
12:01
>> Sure.
-
12:02
>> I mean, maybe you'd like [UNKNOWN] it, it.
-
12:05
>> [LAUGH] >> But.
-
12:08
I think that if you're using angular or, versus nothing, probably the time
-
12:14
that it took someone to ramp up on Angular is immediately paid back you know,
-
12:18
a few weeks later by how quickly they can
-
12:21
build a rich internet application that works in many browsers.
-
12:27
So I know my company what, what we run into the most is we have,
-
12:33
we have our list of tools and requirements for the position,
-
12:38
and I think it discourages people to apply because they don't know,
-
12:45
and I think that that is a big problem in itself.
-
12:49
Because there are so many tools, if people don't know it,
-
12:52
they don't think they are going to get the job, but they don't know that,
-
12:55
you know, that training is available.
-
12:57
>> Mm-hm.
-
12:58
>> Okay. >> I think it is important to-
-
13:01
>> Yeah, I mean, one of the big issues here is sort of the.
-
13:05
It's the cult of the new where like,
-
13:07
everyone wants to be using the new thing and trying the new thing.
-
13:10
Cuz new things seem better than old things, even if they aren't necessarily.
-
13:16
And I mean, it, it's, it's fine.
-
13:19
I, I, I like I'm fully, I've fully bitten down on
-
13:24
that like I've used tons of new tools all the time to try and
-
13:27
at least keep on top of, and I guess this is another issue is that web,
-
13:31
web development in general moves very fast, technology changes frequently,
-
13:35
that you feel like you have to keep on top of the new stuff and like, like,
-
13:39
I've done this, I've, I've made sure that I do side projects where I'm using.
-
13:45
Relatively new technology, you know, MongoDB, and using WebRTC and
-
13:50
stuff like that, they may not be crazy awesome things but
-
13:54
at least I'm like trying to keep on top of it but
-
13:56
again the issue becomes where I was like I'm spending all these cycles trying to
-
14:00
keep on top of this thing that's going to be coming down the pipeline.
-
14:03
And-
-
14:04
>> Or Not >> Or not, right, right, you know, like,
-
14:06
i guess, that, [INAUDIBLE] is saying, if I'm working on RTC's stuff and
-
14:09
I'm like putting all this effort into it, but Apple decides they're
-
14:12
never going to [INAUDIBLE] RTC, then like, was that like all for not, like, you know,
-
14:17
like, you know, you know, I don't know, it's.
-
14:20
I, I, I, I definitely think that there's a large hype factor around,
-
14:23
around this, around the tools.
-
14:25
And in it's, it's important for us as developers to
-
14:29
be good at differentiating between when something is hype and
-
14:33
when something is legitimately useful to your everyday practice.
-
14:38
And I think this is probably just something that's probably more something
-
14:42
that's a skill that you hone over time, that as you get burned by more and
-
14:46
more tools, [LAUGH] that you eventually are like, okay, I'll wait a little bit and
-
14:52
I am fully at that, I am like one of the slowest adopters of new tools.
-
14:56
Because I just, I, I don't want to get burned, I don't want to sink months and
-
15:00
months into learning something that's not gonna matter.
-
15:03
>> Have you been burned before?
-
15:04
Oh, sorry Lisa.
-
15:05
>> Well, we were talking earlier and
-
15:07
you had said that that's one way that you kind of vet new people, right?
-
15:10
Is to see if they can differentiate that, you know, like, have them review, compare.
-
15:14
[CROSSTALK].
-
15:14
>> Yeah, yeah, so, so.
-
15:16
Yeah, yeah, yeah, so, so like we have a,
-
15:19
can I be I want a project based interview for new applicants and
-
15:24
I give them a project that they take home and they, they code on their own terms.
-
15:29
And one of the things I ask them to do is look at two different tools which do
-
15:34
essentially the same exact thing.
-
15:36
It's two JavaScript frameworks.
-
15:38
And I want them to write up why they picked the framework that they did.
-
15:43
And so it, it's, it's, it's I feel it's a very basic skill that isn't
-
15:48
a programming skill per se, but it's a skill that all developers should have.
-
15:52
Because being able to differentiate between a library that is actively
-
15:56
developed versus not actively developed is documented versus not documented
-
16:01
that there are bugs being posted and being fixed.
-
16:06
Like all these sort of things that like,
-
16:08
are indicators of a healthy project that will probably continue to exist.
-
16:12
You know, one to hopefully five years in the future.
-
16:15
You know, and I think it's something that people need to be more aware of.
-
16:21
And again if you have these hot new products that are coming out and
-
16:24
then like, everyone's like aw man have you checked out this new whiz-bang library?
-
16:28
and then, but then you realize like, and then you look at them like, hey, wait.
-
16:31
That no one is actually fixing bugs in this, the developer left like 3 months ago
-
16:35
and like, you know, and like, maybe I shouldn't jump in this right now?
-
16:39
Maybe I'll just wait a little bit,
-
16:40
I'll wait 3 more months, and if someone wants to take an older project, great,
-
16:43
I'll jump in then, but in the meantime, I should wait.
-
16:46
>> You shouldn't talk about TJ like that.
-
16:48
I really like John talking about how you have to be able to tell hype from now,
-
16:53
because some of my favorite.
-
16:55
If you've ever been to compilating JavaScript the old news group.
-
16:59
There's some really, really mean people there that,
-
17:01
that used to really rail on John and jQuery in the very early days.
-
17:05
And just, they would call him John Ressick, master of hype.
-
17:08
And like.
-
17:09
>> [LAUGH] >> He's just a one man marketing machine
-
17:12
for jQuery and he's trying to push these terrible libraries on us superior DOM.
-
17:19
developers.
-
17:19
>> [LAUGH]
-
17:20
>> So it's good that you've finally learned that skill.
-
17:22
>> [LAUGH].
-
17:28
>> Anybody have any questions for the panel?
-
17:31
[BLANK_AUDIO]
-
17:36
>> One of the problems or opportunities we have in our,
-
17:38
in our small company is we have people who are not developers at all, but
-
17:42
are actually really interested in starting.
-
17:45
And a few years ago I, I think I know what I would've said or
-
17:48
suggested in terms of maybe starting either client side or, or server side, but
-
17:53
with the success of JavaScript on the server and this sort of rising importance
-
17:58
of JavaScript well, everywhere I find it difficult or more difficult to suggest.
-
18:05
Where to begin in what path to, to follow sort of
-
18:09
like they're these eager padawans and they want to become Jedis.
-
18:14
But what, what do you, what do you do with people who know nothing?
-
18:19
Or, or, you know, but are really eager to learn.
-
18:22
I've suggested actually Khan Academy, thank you.
-
18:24
And John, that's good.
-
18:26
But beyond that, what, what do you suggest?
-
18:28
What do you, what do you tell them?
-
18:30
>> Well, first off, they've started with the right attitude.
-
18:33
I think that's huge to not feel like you're starting out and
-
18:38
that you feel stupid.
-
18:40
And, why don't i know this already?
-
18:42
To have that eagerness and
-
18:43
excitement about it, is like you can't go any further without that to start with.
-
18:49
And then doing something like KHAN academy,
-
18:51
that gives you the basics, what's a variable?
-
18:54
What's a loop?
-
18:54
You know, all those things, and then project based, Having a mentor.
-
19:01
Kind of help you and to have something in mind that you want to build,
-
19:06
because there are so many tools and so many pieces that go together and
-
19:10
then just start to build from the ground up and learn like, you know,
-
19:13
when I started with Web RTC, I didn't, you know, what's an NPM, you know?
-
19:20
So I had to start somewhere and start building out of that,
-
19:23
I knew what I wanted to do, so I started.
-
19:25
Building on those technologies, and when you have that basic knowledge you know,
-
19:29
it makes it a little bit easier.
-
19:31
But it's very intimidating to just look at this full stack and,
-
19:35
you know, without something, a goal in mind.
-
19:38
>> Mm. >> Just enroll them in
-
19:42
a four year university and.
-
19:44
>> [LAUGH] >> [LAUGH]
-
19:45
>> At Stripe we have a lot of people who,
-
19:46
who are interested.
-
19:48
At, rather in sales or risk people or something like that and
-
19:54
we will run classes taught by developers, developers love teaching other people for
-
19:58
the most part, so use your internal resources.
-
20:01
Stay an hour late and you can do really fun projects.
-
20:04
I think the one I did last year, I'm remote so
-
20:07
I rarely get to do them, but the one I did while I was there was.
-
20:10
We wrote an animated gif capture.
-
20:13
And then we put a function block that was pre-made that already gave
-
20:17
you some variables for pixels.
-
20:19
And then you could just change the pixel color values and
-
20:22
essentially write filters over animated gifs.
-
20:24
But you, you're essentially working in this tiny little section and
-
20:27
then at the end of the day.
-
20:28
Everyone learns about loops and variables and how to change numbers and multiply and
-
20:32
do all that kinda stuff and then, then they show off their animated gifs and
-
20:35
it's fun and, so you can have little pro, I mean, that's very specific, I'm sorry.
-
20:40
[LAUGH] But you can have little contests and projects.
-
20:43
I also run contests among all of our interns.
-
20:46
Every kind of path to say, like who can wrote the best parser because none of
-
20:50
them have wrote a parser before and I need all of them to know how.
-
20:54
For no reason. [LAUGH] I feel like,
-
20:56
I feel like it is an important skill.
-
20:59
I think about like a sign, an XKCD print and I was like.
-
21:03
That the co, my code is compiling one, or whatever.
-
21:05
And I said whoever writes the fastest parser for
-
21:07
this made up I think I called it Emota Bars, template language.
-
21:11
That they win this.
-
21:12
And they all compete and benchmark all their stuff and
-
21:16
there's tests, they'll share test case.
-
21:17
So that you'd learn a lot.
-
21:19
So I, yeah. Projects are really good.
-
21:21
>> Yeah. >> And, and working
-
21:22
together with other people.
-
21:23
>> Yeah. >> And a little bit of competition,
-
21:24
you know, it's.
-
21:25
Makes it interesting.
-
21:26
Yeah. >> Mm-hm.
-
21:28
>> You have to keep them engaged though.
-
21:29
It's really easy to like, stop as soon it's done.
-
21:32
>> Mm-hm. >> Yeah, and I think,
-
21:33
one of the big important parts about having a mentor in place is the fact that
-
21:37
you could help them make sure they don't bite off more than they can chew.
-
21:42
Because, you know, the initiative they'll be like and we have all these things and
-
21:45
there'll be stuff flying around and then like, you're like, okay,
-
21:48
well, let's narrow the scope a little bit.
-
21:50
Like, like what's the bare minimum you need to like actually have
-
21:53
this be a thing.
-
21:54
And then, and then,
-
21:54
so just keep, you don't wanna be a downer, but you kinda have to be a downer.
-
21:58
You're like, dude, like, okay, let's just think a little bit smaller and
-
22:00
think a little bit smaller until they're just getting at the very core what
-
22:03
they wanna do.
-
22:04
And then you can slowly introduce new technologies and work them, back up again.
-
22:09
>> Start with vertically centering text in CSS.
-
22:12
[LAUGH] >> Oh, we do have the mic over here.
-
22:18
>> Hi so I feel quite the opposite sometimes.
-
22:22
I feel like sometimes we've made it too easy to learn web development.
-
22:27
And by that I mean that a lot of the JavaScript libraries and frameworks out
-
22:32
there more and more reduced to last lines of code really complex behavior.
-
22:42
And I get concerned about that because.
-
22:47
I feel less secure about my job.
-
22:50
[LAUGH] You know, if that makes sense.
-
22:55
>> Well, I mean, it's, it's,
-
22:56
I would say it's the sort of the rails mentality like when rails came out,
-
23:01
before that point there weren't that many NBC server-side frameworks.
-
23:04
Works.
-
23:05
And then, essentially, they introduced, like, when,
-
23:07
when they first launched there was like that, that video that released,
-
23:11
like making a blog in like a minute or two and they just had like the command line.
-
23:15
Just like, it just generated it.
-
23:16
They tweaked some variables and they like poof there's a blog.
-
23:19
And, like, up until that point if you wanted to write a blog it was like,
-
23:22
it was an evolved thing and essentially just made like a blog generator.
-
23:25
Generator.
-
23:26
This is a multi, anyway.
-
23:27
But the. It was, so like, and
-
23:29
like people flipped out.
-
23:31
Like, like. [LAUGH]
-
23:31
When people were like really upset.
-
23:33
They were scared and
-
23:34
upset and they were like there's too much magic happening in here.
-
23:36
And I think that some people would still agree.
-
23:38
That there may be still too much magic in a lot of frameworks.
-
23:43
and, and I mean.
-
23:44
And you certainly do see.
-
23:45
I think you, I feel like you see the same trend here.
-
23:47
On the client side.
-
23:50
Like, you know, you know, frameworks that are capable of doing lots of really,
-
23:54
really complex things, perhaps too easily.
-
23:58
but, but, I think one of the things here, an,
-
24:02
and I guess the, the, the, to change your point a little bit, one of the things
-
24:07
that always scares me about those frameworks isn't necessarily job security.
-
24:11
It's more the fact that if it doesn't work, if it breaks at some point,
-
24:16
I have no idea how to fix it.
-
24:18
Like, like if I, if I have this one thing that is like, dot make awesome and
-
24:22
then this only, everything is awesome, but like, there is like this one little thing
-
24:25
that I needed to change at some point later how do I do that if I,
-
24:28
if I have no idea how it works?
-
24:31
You know, I think that's one problem, and
-
24:33
I think that's a, that's a way in which you shouldn't be worried about your
-
24:36
job security because if you know, how it works, if you know,
-
24:41
how to build the equivalent thing, then you won't have to ever worry,
-
24:46
you aren't really competing with a person with someone who drops in an [INAUDIBLE].
-
24:51
You know.
-
24:51
>> I hear you, I was mostly joking there.
-
24:53
[LAUGH] but, to follow up on that are we in a larger scale doing a disservice
-
25:02
to a newer generation of developers by sort of abstracting out all of this.
-
25:07
You know, the meat and
-
25:08
potatoes of what's really happening there, into more simplified terms.
-
25:14
I don't know if Lisa or Alex have any thoughts on that.
-
25:22
>> Let's see.
-
25:22
[LAUGH] To some extent, yes.
-
25:24
If they skip over the basics and they're just using that API and
-
25:29
building stuff and they never, and things break and they just throw their hands up.
-
25:32
Sure, that's disempowering for sure.
-
25:35
But at some point they're gonna have to dig in and, or
-
25:38
they're not gonna be successful.
-
25:39
They're just not gonna be developers.
-
25:42
You know, so- >> So, yeah.
-
25:43
So, so continuing on that question.
-
25:46
How do we as developers ensure that we, that we don't build so
-
25:52
many tools that the internet doesn't exist for our children?
-
25:54
>> I, so I [LAUGH]
-
25:59
you, you asked why is America the greatest country in there?
-
26:04
[LAUGH].
-
26:06
>> I, I think that's the wrong premise so I, I, reject the question.
-
26:09
>> [LAUGH] >> I guess both questions.
-
26:14
>> [LAUGH] But I, I feel like it, I understand where you're coming from,
-
26:19
but that was the same thing someone said about their flash, and
-
26:23
that was the same thing someone said.
-
26:25
About C++ or Java, swing, applications,
-
26:31
and before that people who did guis, then something else and something else.
-
26:35
I think it's fine that if we build something that we like more,
-
26:39
like, how many people are, are,
-
26:42
like digging into the chromium code that actually renders the.
-
26:46
The paint, the paints and renders and all that kind of stuff,
-
26:48
because that's what you used to have to do and now you don't have to do that and so,
-
26:53
those abstractions have been fine and I think as long as we continue to
-
26:56
build good abstractions, the good ones will end up in W3C specs.
-
27:01
You have all sorts of stuff that we.
-
27:04
We did a jQuery or that are happening now that are moving into native APIs and
-
27:10
you have the, the scary native mobile applications also innovating and
-
27:15
we're, we're playing catch up on a lot of those APIs too.
-
27:17
So I think it will constantly change in holding on to the past where.
-
27:22
You had to know how to script down libraries by hand, and
-
27:26
notepad.exe, doesn't need to exist in the future,
-
27:29
even though we have fond memories from those days, right?
-
27:33
>> Not, inherently put.
-
27:34
>> I think one of the things as well is that you,
-
27:38
I feel like you should be willing to, genuinely want to look for.
-
27:42
When you're looking at new technologies, I would say it's pry better to go for
-
27:46
ones that are revolutionary as opposed to incrementally better.
-
27:50
like, like for example, if,
-
27:51
if there's, if there are frameworks that are simply taking existing ideas that, but
-
27:55
are just making them slightly easier to do I don't
-
27:59
think those are nearly as good as ones that are completely rethinking how we.
-
28:03
I think about concepts in, in, in, in, in total.
-
28:06
So, like-
-
28:09
>> A sick low dash burn.
-
28:11
[LAUGH] >> I like low dash.
-
28:12
[LAUGH] But the, like the, the, the, you know, like, for example,
-
28:18
like lately I've been playing, and I, I guess this extremely cult of the new,
-
28:23
I've been playing with the Facebook's Reacts JavaScript library.
-
28:26
And that can not be possibly be any more different from the existing way of
-
28:29
writing applications.
-
28:32
It's extremely different and it's breaking my brain.
-
28:34
But like, I've, I've been, I've been enjoying that that process, and
-
28:38
I feel like it's helped me, it's starting to help me to think about
-
28:41
architecting JavaScript applications that are better in a different way.
-
28:44
Even though I don't necessarily end up writing it for, using it for all of my.
-
28:48
Code in the end.
-
28:49
>> Okay, so we have time for one more question, does anybody have a question?
-
28:54
>> [INAUDIBLE].
-
29:06
>> [INAUDIBLE] >> Is everyone, did everyone hear that?
-
29:14
The yeah, so the, the statement was that there, there will always be
-
29:18
view source and so we'll always be able to look at the, the HTML and JavaScript.
-
29:23
Which I, I agree with in principle but
-
29:25
when you get into things like, like Angular or, you know,
-
29:28
minified JavaScript, it gets a little more difficult to view source.
-
29:33
But I, I think you're right in principle.
-
29:37
>> Well, especially cause like,
-
29:39
[INAUDIBLE] where you're [COUGH] literally compiling C to JavaScript.
-
29:44
Like that's not readable by anyone.
-
29:46
Literally only a computer.
-
29:48
So like I don't know.
-
29:49
It's-
-
29:51
and it's interesting because this is a case where actually
-
29:57
Richard Stallman, the free software foundation-
-
30:00
I feel that any sentence that begins with that is going to be interesting.
-
30:03
But like the like-
-
30:05
He considers any sort of minification of JavaScript
-
30:08
to be essentially compiled code that is no longer free.
-
30:12
So that includes any sort of,
-
30:14
you know, using like uglify or a closure compiler or any of those things.
-
30:18
And I, and I can kind of see what he's getting at because in those cases.
-
30:23
You no longer have a nicely readable block of JavaScript code.
-
30:27
That like, like,
-
30:27
I learned from the prototype JavaScript library back when it came out.
-
30:30
I was reading it, I'm like, this is amazing.
-
30:32
There are all these sort of functional programming techniques in here I'd never
-
30:35
seen before and it was so clear and so well-written.
-
30:38
But whereas, like, you know,
-
30:39
doing these like really complex compilation steps you now have.
-
30:44
A 200 K minified JavaScript log is coming down to you and you like that,
-
30:48
as even though you can technically read the source you can't read it.
-
30:52
Like, there's nothing there that you can learn.
-
30:54
So I'd say that the situation as it exists right now even though we
-
30:58
can technically still have, we still have that right of the view source.
-
31:02
It is not nearly as, as effective as it was I would say a decade ago.
-
31:06
>> So with that being said does anybody have
-
31:07
any burning thoughts before we shut down?
-
31:11
>> Source maps can, can help with that.
-
31:13
But it's nice you can still shift minified code in and,
-
31:16
and people could still read the source but, that's just.
-
31:19
>> That assumes you want people to.
-
31:20
>> Correct. >> Yeah, right.
-
31:26
Well, thanks everybody.
-
31:27
Thanks to the panelists for sitting with us.
-
31:29
[APPLAUSE]
You need to sign up for Treehouse in order to download course files.
Sign up