1. Secrets of the JavaScript Ninja
A top-tier book recommendation that dives deep into JavaScript mechanisms, focusing on how closures and module systems work under the hood rather than just superficial tips.
Watch section from 0:08 →Engineering video
10:25 · 3 May 2024
A top-tier book recommendation that dives deep into JavaScript mechanisms, focusing on how closures and module systems work under the hood rather than just superficial tips.
Watch section from 0:08 →An illustrated guide that makes algorithm fundamentals accessible through simple concepts and drawings, avoiding the dry and overly complex nature of traditional computer science books.
Watch section from 1:32 →A foundational networking book that covers HTTP, TCP, HTTPS, and WebSockets, providing essential mental models for debugging latency issues and passing system design interviews.
Watch section from 4:00 →An architecture book that provides the big-picture view and vocabulary needed for distributed systems, modularity, and technical interviews.
Watch section from 5:53 →A foundational text establishing the philosophy and mental models behind modern continuous integration, continuous delivery, and DevOps practices.
Watch section from 7:47 →Hi folks, today we will talk about the five books that you should get if you want to become a competent, confident, senior JavaScript developer. And we're going to start with the first book you should get if you want to get to senior JavaScript developer, and this is the JavaScript Ninja. Bogdan, I know you you read these books a few times actually. So what can you tell us about the JavaScript Ninja and why do you consider it one of the must read books for JavaScript engineers that want to get to senior?
Um, sure, so that's definitely my top one JavaScript book. I know there's a um couple of them out there, there's eloquent JavaScript and there's you don't know JS series and all that, I forget. I've read all of them, I still find JavaScript Ninja the best. Because of two reasons, I very much like the depth, they really teach you how to think, they teach you the mechanism behind it. It's not so focused on tips and tricks and like values, but rather how the module system works under the hood, how closures actually work.
Why was JavaScript built in that way? Why do we have closures in JavaScript? Um, and I found it a very, very interesting read. It's not the easiest thing to read. Uh there's definitely easier books out there, but it's definitely easier than most software books out there. If you're a JavaScript developer, it's probably my first recommendation, I've read it three times and I always go back to it every once in a while.
Awesome. uh for the record, I do agree with Bogdan and talking about the why, very important in this uh word. Where, you know, your feed, your YouTube feed is full of learn this and learn that, it's more important to learn the why behind it. Luckily, secrets of the JavaScript Ninja delivers on that. So now we're going to move on with the next number two and we're going to talk about algorithms. But not some of these huge books and that is Goking algorithms, an illustrated guide for programmers and other curious people.
Very nice cover, you've probably seen this, heard about this book before. Well, uh this is an illustrated guide for programmers and other curious people to algorithms. Bogdan, why is this in our top five? What can you tell us about this book? Uh so I really love this book and I discovered it way too late. I tried so many algorithm books and I always tried to read it before I go to sleep and I just couldn't really get any information in most of them because they're super dry, there's like code examples on paper, which are very hard to understand. There's no syntax highlighting in books. So, it was just a disaster. And then I found this one where there's all these little drawings and it's apparently very simple concepts that you learn, but it's just something that you can read before you go to sleep. It's plain English and I loved it. I felt like algorithms are not as hard as they pretend to be. Whereas there's so many books where they're going to linear algebra and all this complicated stuff. And the problem there is just made me feel like the more I knew, the less I knew and it would be too dry to actually read before I go to sleep. Or in my free time, I would actually have to study those books. So this one I love, and it's really your good fundamentals of what algorithms are. Of course, if you want to go more in depth, you we need to get one of those specialized books. But the most important, it kind of made me fell in love with it and it made me feel competent at it and I really love that about this book. I agree with Budan here. What's amazing about this book? It's it's very tiny and that's not because it's a bad book. It's actually because the authors really thought about the user experience and you can see as Budan says, it has a lot of drawings. So it's not only about text and mathematics. You know, I have behind me this height of computer programming collection with you know, there's like five huge books full of mathematics. But again, if you are just a self-taught developer, no computer science degree, the best, easiest, and most complete way to start with algorithms, it's goking algorithms. So, get a copy of it. Especially if you're interviewing for one of those fan companies out there. Okay, now we're going to move on now I got three books left. And which one should I pick next? Okay, I'm going to I'm going to start with a very important book that Bugden added. Very important addition from Bugden and this is because we are aiming to become great senior front-end engineers, but also full-stack engineers. And there's a lot of full-stack knowledge.
beyond setting up an Express application and deploying it to to Netlify, that um that a senior engineer should have. And this is why our top three it's browser, networking. And why why is this our top three? Uh so the reason why I still love high performance browser networking is that it really gets deep into HTTP, TCP, HTTPS, and then builds on top of those concepts so we can see how web sockets work, the TCP handshake. And this is really something you keep running into if you're a web developer.
Whenever there's an issue at the network layer and and a request fails or you need to handle an error or you have too many too much latency, this book gives you the mental models that you need not only to solve those bugs, but at the same time to pass things like system design interviews. So in a way, it's capable of going very deep and very concrete in some things, but at the same time, you understand the high level of uh the basis of the web, which is HTTP and HTTPS.
It's not an easy read. It will take you time to go through it. It took me quite a lot to read it. But every minute I put into that book was worth it. So I highly recommend, maybe you're in the front end and you want to expand your knowledge to the uh to the full stack, it's where I would start. Awesome. I can only agree with Bogdan. I have calls every day with developer settings. I talk to around 1,000 developers all around the world.
And one of the biggest gaps they have, it's actually exactly what's in this book, the basic fundamentals of networking. And I remember my own first uh three years as a self-taught developer, I was ignoring all that stuff, you know, React was shiny and interesting and fun. Whenever something happened in my network tab, you know, I was so afraid to click that because I knew whatever comes up, I have no idea. I didn't know the HTTP status codes, the caching mechanism, all that cool stuff.
So, add it to your library and go chapter by chapter, take it easy, but this stuff it's gold, especially, you know, if you want to become that full-stack engineer and not just a React developer. Cool, the next book number four it's fundamentals of software architecture. Sounds intimidating bug, especially for the junior mid-level out there that think what is software architecture? So why is this our top four today?
No matter where you are in your developer journey, you do need to have an idea of the big picture. It doesn't matter if maybe you're not in the back end, you need to know a little bit about microservices. It's a bit like, hey, you live in one part of the city. Uh, you don't need to know all the neighborhoods, but you want to be aware where they are and how to get there just in case. There's there's thousands of architecture books out there.
Uh they are written sometimes to be bigger and bigger. There's a lot of fluff. I have to be honest, they're extremely hard to read. Uh very conceptual, very theoretic, and a lot of Java examples, and if you haven't written any Java, then you will suffer, but this is one of the best. There are some core concepts in it about modularity, distributed systems. But my advice here would be, this book, just skim through it, get the top view, and then focus on the parts that are relevant for your job in the beginning.
Because if you really start to read it from uh cover to cover like I tried, you'll get stuck in some of those chapters that tend to be very tedious. See what's relevant for your job and then come back to it every once in a while, because it is heavy and it is reasonably dry, but still better than most books out there on architecture. Um, one of the things you face when you go to this system design interview, it's you don't even have the the vocabulary to express your thoughts.
And I think software architecture the fundamentals um makes a a very good uh use of language and it's it will teach you the concepts and the language that will come very useful not only when you are in an architecture meeting in your company. Which you might be or not, but in a technical interview when you have to explain uh why you built certain things in certain way, vocabulary, the words you use matter because they reflect your technical depth.
So, hey, now we're going to move on. And the last book that we're going to do in this video, it's extreme programming. You know, this book it's almost museum material. I mean, it's been around for a while, there's been other editions, Agile became kind of a mainstream cult thing. Why are we choosing extreme programming for the number five in this list book? Ah, so the reason you want to read extreme programming is because it's really the book that put the fundamentals of modern continuous integration and continuous delivery.
This is basically the pipelines to deploy our code from our code editor to the live environment or production. Everything that came after, all the DevOps books, they are based on the mental models in this book. Um, as a developer, if you add those things to your skill set, if you're able to extend pipelines or just be able to deploy, your value in the market will increase a lot because you you can get stuff done without a senior.
You can fix issues yourself, and that's one of the things I would focus again when you want to become more full stack and increase your value in the market. This book really changed the industry when it came out and it really set the fundamentals of everything that came out in the DevOps area. Awesome. As you know, being able to deliver end to end, it's part of being a senior developer. Very tiny book, again, very quick read.
You can read this just quit Netflix and chill, quit your candy cash, whatever. You can go through this stuff and it's very important because as said, this book it's about the philosophy behind CICD. Which means that actually, if you know these things, the implementation will come to you more naturally and you will be able to again, have the vocabulary explain why you do certain things. Why do we have CICD in the first place?
With that being said, we got, you know, you got some homework. You got five must read books. You can start with them. Like always, in every video I want you to do three things, number one, is there any other book that you change your perspective? About being a software engineer, drop it in the comments, maybe we've read it, we can have a nice debate over there, maybe other people can get any value out of that recommendation.
Uh the second part, it's building a free community for JavaScript developers that want to move into a confident, competent senior full stack engineer. Click link it's in the in the description of the video. Make sure you apply, we have a lot of people in the queue, but we're going to review application and if there's a fit, we're going to let you Finally, if you want Bogdan and I to mentor you, personally, into helping you fulfill your technical gaps, become that confident, competent senior developer, then there is another link below. You can book a chat with me and we can see if we could be a fit and if we could actually help you move forward and take your developer career to the next level. With that being said, Bogdan and I will see you in the next one. Take care.