DEV Community

Discussion on: What is the Minimum Skillset for Junior Frontend Devs?

 
stereoplegic profile image
Mike Bybee • Edited

I'm glad the tone has improved in the last comment, at least.

But this is still an assumption:

Most JavaScript old timers push the functional nature of JavaScript which is good. However they don't seem to realize that good OOP winds up in small functional bits anyway. OOP meets functional styles all the time.

I'm not "most JavaScript old timers" (that you know of, anyway). I've said repeatedly throughout this thread that JavaScript is OOP, and it's not hard to see that I've not once placed OOP at odds with functional - and in my initial response, my "otherwise agree[ing] with you" implied that my agreement included

Keep functions small each doing only one thing.

Moving on, there are differences to note here:

Web Assembly has the ability to bypass both Typescript and JavaScript.

Essentially, yes, though technically the JS API is still currently required to load it (for now, but probably not much longer). The difference is that WASM is loading pieces compiled from languages which are actually strictly typed and class-based, and acts as an alternative to JS. TypeScript, on the other hand, is a layer on top of JS (just as ES6 classes are on top of functions). While many (obviously) find this helpful, in practice this leads to a shift in thinking, treating JS as something it is not: Statically typed and class-based (even if the latter is TC39's fault, though TS influenced that).

And that brings me back to my original comment: This is not a good thing for junior developers. Nor is the additional syntax, when they can and should be learning how to comment properly instead.

And I've never denied that many projects I use and love (and many I have yet to try, and some I used, hated, and moved on from) are built with TypeScript; however, even Microsoft's own words fail to make the case:

a lot of all problems writing JavaScript in large codebases are the same. Many JavaScript apps build apps which are made up of hundreds of thousands of files. A single change to one individual file can affect the behaviour of any number of other files, like throwing a pebble into a pond and causing ripples to spread out to the bank.

This is an architectural/design/QA issue, not a dynamic typing issue. You still need documentation. You still need linting. You still need a style guide. You still need tests.

And you still need to teach these things (and I don't care if the junior is coming from Udemy, Flatiron, or Stanford), ideally without adding to the learning curve.

Thread Thread
 
jwp profile image
John Peters

I'm not "most JavaScript old timers"
I never said you were.

You still need documentation. You still need linting. You still need a style guide. You still need tests.

Yes

without adding to the learning curve

Typescript improves the learning curve in my opinon.