3 ms·
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 o
by jkaptur 4y ago
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.
- haspok 4y agoI 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!
- jkaptur 4y agoThe 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-programming/ 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.
- haspok 4y agoJust 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...
- jkaptur 4y agoI'll be curious if the impression of smallness continues as you gain expertise and experience.