Live data from Hacker News

How it feels to learn JavaScript in 2016

hackernoon.com

201–210 of 236 posts

Re: How it feels to learn JavaScript in 2016

#201
post #50

It's easy to show how complex those systems are. It's easy because they are complex. And that's pretty normal. Let someone talk about Java Enterprise development, the symptoms of your body and their diagnoses or just try to explain how to build a pencil ( https://en.wikisource.org/wiki/I,_Pencil ). We're professionals, after all, and TypeScript and React were not build by some teenage hackers. I think the problem is…

> We're professionals, after all, and TypeScript and React were not build by some teenage hackers. On the other hand, Babel was :) He did a great writeup of his life during babel's explosion of popularity. https://medium.com/@sebmck/2015-in-review-51ac7035e272#.nmef...

Thanks for the link, great story.

Re: How it feels to learn JavaScript in 2016

#202
post #65

In my experience, the developers who fall into this trap of despair almost always do so because they aren't consciously choosing what tools to use; instead they are letting the tools choose them. They see job descriptions demanding AngularJS or ReactJS and they think that they must learn it, or someone posts an article here and they don't want to feel left behind. Choose a library or tool because it improves your dev…

So what do you do about jobs asking for Angular/React experience? Just tell them you have none because you haven't needed to use them yet? Or avoid those jobs? (There are a lot)

Just tell them you have none because you haven't needed to use them yet, and tell them why you haven't needed them yet. It may be because you haven't built complex apps or it may be because you have found your own way of dealing with that complexity that didn't require those libraries. Use it as an opportunity to discuss what you can do. If they ask you for an interview anyway then you know that it's not a deal breaker.

Also realise that a lot of the time the requirements are really just a wish list. I was recently sent a job spec that "required" a year of Angular 2 experience. Rather unlikely, given that Angular 2 is still in beta.

Re: How it feels to learn JavaScript in 2016

#203

I'm getting tired of these pointless non-specific rants. You could write an article about "How it feels to learn C++ in 2016" and make it all about the complexities of operating systems, linking, compilation, text editors and the QWERTY keyboard layout, and you'd still be as accurate. All you need to "JavaScript in 2016" (as a beginner) is a config file and one or two commands. That's it. If that's too information or…

> All you need to "JavaScript in 2016" (as a beginner) is a config file and one or two commands And 3 months from now in 2017 those 2 commands will be deprecated because no one uses those programs anymore.

As far as beginners are concerned, that shouldn't really matter.

Hide all that complexity in a `./build.sh` or `make` and hand them a config and a README. The author of the article is a web designer with a slightly technical problem to solve. He didn't even need to know about gulp, or grunt, or webpack or babel. Those tools are (should be) as relevant to his domain as the tools used to manufacture the circuits that run them.

Re: How it feels to learn JavaScript in 2016

#205
post #162

Earlier quoted context omitted.

Interview question: "iterate over an array": angular.forEach([1,2,3] ... $.each([ 1, 2, 3 ], ... [1,2,3].forEach(... One of these things is not like the other. I hire people that know javascript, not ones that only know the tool we use. The tool we use today may not be the tool we use 6 months from now. I've never asked a javascript question that required framework knowledge unless it was explicitly about concepts of…

I have to say, this strikes me as an odd way of filtering out bad developers. jQuery is a time-saving library. It seems like you're presuming that they must lack proficiency in the DOM if they're choosing to use jQuery. Perhaps you're trying to say you want to see them demonstrate that they're not just copy/paste coders. Given your code example above, I wouldn't want a candidate to know the difference between each `f…

> I have to say, this strikes me as an odd way of filtering out bad developers.

I don't use this in my interviews, and I'm surprised everyone took this literally given that we have a weekly blog article about the villainy of technical interviews and how they destroy the very fabric of software development. I'm using a hyperbolic example to demonstrate what I perceive as a negative trait; A reach for unnecessary tooling to solve simple problems. My hiring experiences have pointed towards it being indicative of a comfortable one-trick-pony.

> Given your code example above, I wouldn't want a candidate to know the difference between each `forEach` method, but I would expect them to know that each provides a means of iterating over a set of values.

Likewise. However, if I'm hiring someone for a back end role, I'd expect them to be able to know basic SQL and not just their language's ORM. I'd expect them to be able to type `cd` and not just navigate through their IDE. I don't think there is anything different between that and the relationship of jQuery/angular and vanilla js. jQuery isn't written in jQuery. Debugging rarely stops at the script tag/require statement.

Re: How it feels to learn JavaScript in 2016

#206
post #135

Earlier quoted context omitted.

@cloverich I think this comment is showing exactly how the author of the article wasn't exaggerating

I don't follow. Are you saying _I_ demonstrate why the article isn't exaggerating, or that some of the people I've interviewed are?

I am saying that you demonstrate why the article wasnt exaggerating. Cloverich stated that using jQuery was fine and the article was exaggerating how far it has fallen out of favor, but you have stated that anyone using jQuery is out the door when interviewing with you. Therefore theres at least a group of people that article is accurately describing

Re: How it feels to learn JavaScript in 2016

#207

Earlier quoted context omitted.

They're misunderstanding what people mean by "don't use tables". And they don't know what they're talking about.

When I was informed of it, I responded with "they are wrong". We'll see how it goes.

Is your intent for Section 508 compliance?

If the table cells have specific individual widths and heights, and contain a .gif or .jpg of equal size within them, then that is an inappropriate use of tables today.

Re: How it feels to learn JavaScript in 2016

#208

Earlier quoted context omitted.

Just because you put words in that format doesn't make this a good analogy. You can teach someone to drive, including parallel parking in a couple of hours and then they just have to practice. The javascript ecosystem is legitimately complex. You can't just hand wave that away with a rhetorical flourish.

Part of the reason why people can learn to drive in hours is because they have been riding in cars as passengers since birth. Though new at driving, they have lots of contextual knowledge and awareness. If you took someone who grew up on a desert island and taught them to parallel park, it would take considerably longer. Likewise, experienced web developers have years of contextual knowledge of CLIs, documentation an…

Also because we have evolved with complex spatial awareness as an innate trait. Yes, I have been developing websites since 1994, and I have been on the bleeding edge most of that time. Of course I can come up to speed with whatever stack du jour the kids are fawning over these days, but that doesn't make it simple.

Re: How it feels to learn JavaScript in 2016

#209

Earlier quoted context omitted.

I totally agree that Python is much less problem compared to Javascript but I think that it's not fair to compare a backend language to a frontend language. My only complain is that Python is not great at async operations so people have to create unstable async libraries such as gevent and it's usually cause trouble in production. Luckily Python 3 solves this problem but backward compatibility is one of the most impo…

> My only complain is that Python is not great at async operations For most asynchronous IO operations, the old standby of threads works an absolute treat. There are certain pathological corner cases where a single thread can be blocked, but for the other 99.9% of use cases, it works fantastically. Build your synchronous and stateless web code and throw it into a thread. Done. Even the more complex cases of a single…

But spawn enough threads in Python and you risk entering scheduling hell, thanks to the global interpreter lock. EDIT: if you are CPU bound at all. If you are really really IO bound it's not a problem.

Event-driven programming is my go-to for nontrivial backend async in Python, and in Python 2 you almost certainly want to use a third party library for that.

(But maybe I'm just lazy. I try to avoid the headache of threads in python if I can.)

Python 3 has asyncio, which looks good, though I havn't used outside of toy projects at this point.

Re: How it feels to learn JavaScript in 2016

#210
post #65

In my experience, the developers who fall into this trap of despair almost always do so because they aren't consciously choosing what tools to use; instead they are letting the tools choose them. They see job descriptions demanding AngularJS or ReactJS and they think that they must learn it, or someone posts an article here and they don't want to feel left behind. Choose a library or tool because it improves your dev…

How would you suggest developers actually figure out what tools to use? It is next to impossible to make an informed decision without digesting a good portion of what the OP is talking about. You need to start somewhere.

A good place to start is by writing productive code. As part of the development process, look back on what parts of the code are holding you back the most. Perhaps bugs keep appearing in this dialogue, or that list renders very slowly, or setting up the unit tests takes a lot of boilerplate. Something on the project will be impacting your delivery the most. Work out what it is if it isn't already obvious, then fix it. You might do this by using a pre-existing library, or you might write your own solution.

Either way, by going through the problem solving process, you will develop some of the skills needed to recognise the motivation behind the solutions provided by 3rd party libraries and you will be in a better position to evaluate them.

Post reply on HN