Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Recommend book(s) or course(s) on modern front end dev for back end guy
26 points by haspok on Nov 26, 2022 | hide | past | favorite | 10 comments
I'd never thought it would come to this, but after spending the last ~15 years on the backend (mostly the JVM and all kinds of languages, not just Java, actually, mostly not Java!). I'm now assigned on a project which has a React frontend, and I will be taking over it soon.

Now my Javascript knowledge dates back to the days when variables were hoisted (is that still a thing btw?), and URLs started with "http://". Oh, and any time I had to "compile" (???) frontend code I was always shocked about the immaturity of the ecosystem... We had JSP and even JSF, and NodeJS was in its infancy and looked down upon by the "serious" guys. So there is quite a bit of ground to cover.

What I would like to have: a few books or courses about modern Javascript, Typescript, browsers, development tools, libraries, that can quickly get me up to speed. For example, on the backend we have this thing called the IO monad - is Javascript still a land of callback hell? Also would appreciate info on React, Angular and Vue (I think these are the most common frameworks?).

I'm also primarily interested in learning the important things. I'm a quick learner and I don't really need stuff that I can easily search for on the net - BUT I do need to know WHAT to search for.

What I do NOT need: books on theory, algorithms, books for beginners, books for dummies, books on functional programming, books on <pick your style of programming>, books on web design or color harmonies (no, I will not be designing stuff!)...

Why I am asking: I could just start reading books randomly, and it usually takes ages to find out of a 100 books the roughly 10 that are good, and about 1 or 2 that are spectacular. I am looking for those. Thank you. I'm also happy to pay for online courses, if they are worth it (I still remember Martin Odersky's FP/Scala course on Coursera from ~10 years ago, which I thought at the time was one of the best, and was worth every minute I spent on it).

PS. I heard about "Javascript - the good parts", which I'm definitely going to check out, but man, that book is 14 years old now! How much of it is still relevant I wonder.



Funny - I’m in almost the exact opposite predicament! I’ll spare you a copypasta-like reiteration of your post and just ask you for a few book recommendations on how to learn modern backend development. I also need no recommendations for data structures and such, and I’ve already read “Designing Data-Intensive Applications”. The last time I did much professional backend work, SOAP and WSDLs were all the rage, except for the cool tattooed devs who used Perl.

To your question, I strongly believe “JavaScript the Good Parts” is of historical interest only (say, if you want to take over an application written before ~2010). I recommend “Effective JavaScript” instead.


I would say (and I might be wrong, but) to me the frontend world looks so... small. I mean, there is a dominant programming language, there is a dominant set of dev tools, there is html+css, and the few established frameworks. That's it.

On the other hand, backend has a number of environments to start with (native, Java, .net, or interpreted like Python), then you have to choose a language, the version of the language, the build tool, the libraries (ok, here Spring Boot is just as dominant as Javascript on FE)... and you are still nowhere because you now choose your database technology (or -ies, you can have Postgres + Redis + Elasticsearch in a typical web app), messaging technology, business modeling, etc, etc.

I do have my set of preferred tools, if you asked me what I would choose for a project, I could pick from them and then I would be able to recommend literature for it. But it is very hard to recommend something that is generic enough that any BE dev would benefit from it (once you have the basics of course, algorithms, O(n), OOP and FP...).

Effective Javascript is from 2012, I can't believe no interesting JS book was written in the past few years!


The point I was (perhaps passive-aggressively...) making is that I disagree with your premise that frontend is small/easy and backend is large/difficult. It's a common bias, but I honestly find it pretty insulting.

Like, I could just as easily say that on the backend there isn't a dominant language, just a lot of churn for some reason. People keep reinventing new ways to take a request, make some backend calls, wait for the results, and compose a response. It seems like best practices should have evolved by now...

I'm reminded of the relevant Spolsky article: https://www.joelonsoftware.com/2002/12/11/lord-palmerston-on...

"Leaky abstractions mean that we live with a hockey stick learning curve: you can learn 90% of what you use day by day with a week of learning. But the other 10% might take you a couple of years catching up. That’s where the really experienced programmers will shine over the people who say “whatever you want me to do, I can just pick up the book and learn how to do it.” If you’re building a team, it’s OK to have a lot of less experienced programmers cranking out big blocks of code using the abstract tools, but the team is not going to work if you don’t have some really experienced members to do the really hard stuff."

Anyway, the argument's been done to death and I doubt we'll convince each other.

That said, "the 90% day-to-day" of JS/React/Chrome devtools really is as easy as everyone says for an experienced programmer. You can use almost any resources to grok the basics.

I'm genuinely very surprised that there's not a new edition of Effective JavaScript - it should really exist. I haven't read Effective TypeScript, but I've heard good things. I also enjoyed "CSS - The Definitive Guide" from O'Reilly, but I haven't read the latest editions.


Just to set the record straight, I did not say frontend was EASY, I said it was SMALL. Small things can be hard for sure. I feel so lucky I didn't have to do FE dev during the browser wars, roughly from IE6 to ECMAScript6... I would have pulled all my hair out, instead it fell out on its own, which is less painful.

It's just because it is so compact, that I don't get why there is not an up-to-date comprehensive guide covering _everything_ there is.

So far the closest I found was "Professional Javascript for Web Developers" by Matt Frisbie.

Btw. the React Beta page is also very good, if a little shallow. It tends to stop explaining things just when they are getting interesting, but I get that it's a guide for all audiences, and it would easily be twice the size if they answered all my "why" questions...


I'll be curious if the impression of smallness continues as you gain expertise and experience.


Since you are already a seasoned developer you can cut through a lot of the blog posts and courses that are aimed at junior developers. The two main resources I find myself reaching for are the Mozilla JS docs, and the React docs. React team is currently working on a new version of the docs, googling “React docs beta” should get you what you want.

As for things to learn, async/await and promises are probably the most complicated, but Mozilla will no doubt have documentation covering all of that.

For React, prefer small contained functional components, avoid classes and inheritance, and learn what hooks are and how they work.

For Typescript, avoid using any or unknown everywhere, avoid the urge to make very complex types, and generally stick to interfaces with minimal inheritance and you’ll be fine.

As you are jumping to an existing codebase follow the conventions of that codebase. Avoid the classic blunder of jumping into a new codebase and making massive changes.

Good luck!


React Beta looks promising, thanks!

The existing codebase was unfortunately developed by not-so-senior people, so I'm reluctant to just jump in without first trying to establish a base line. I mean I saw some of their Java code, it was... interesting.



I’d be interested in that too, though my impression is there aren’t any. At least I haven’t seen any recommended in recent years. In terms of https://documentation.divio.com/, there are enough resources covering the tutorial, how-to guide and reference quadrants, but there seem to be no comprehensive resources covering the explanation quadrant for otherwise experienced developers, covering the conceptual ground top-down regarding JS, the browser environment, and the typical frameworks and toolings.


I am also trying to figure out modern web development trends. I found helpful those 2 courses:

https://www.udemy.com/course/the-complete-web-development-bo...

https://www.udemy.com/course/the-complete-web-developer-zero...

You do not need to watch all courses materials but can pick the parts that you are interested in. You can also look at Udemy for other webdev courses too.

Keep in mind that at Udemy there are very often sales and courses prices are around 9~20$. If price is above it just wait some time for sale.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: