Skip to content

Instantly share code, notes, and snippets.

@glebec
Forked from joedotjs/gist:2807153d0d6dcdfde00d
Last active December 6, 2021 04:09
Show Gist options
  • Select an option

  • Save glebec/c8139b51feb86005504810b8f58a696c to your computer and use it in GitHub Desktop.

Select an option

Save glebec/c8139b51feb86005504810b8f58a696c to your computer and use it in GitHub Desktop.

Revisions

  1. glebec revised this gist Jun 22, 2018. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,5 @@
    # Books

    # JavaScript in General

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />
  2. glebec revised this gist Dec 17, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion books.md
    Original file line number Diff line number Diff line change
    @@ -136,7 +136,7 @@ The ultimate point and goal of this book is to distinguish what skills and knowl

    #### Harold Abelson et al | Advanced

    Another legend, often referred to simply as SICP. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.
    Another legend, often referred to simply as SICP. Based on the LISP dialect Scheme, but with many language-agnostic lessons. This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51F6Lwyq5JL._SX348_BO1,204,203,200_.jpg" />

  3. glebec revised this gist Apr 25, 2017. 1 changed file with 17 additions and 1 deletion.
    18 changes: 17 additions & 1 deletion books.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    # JavaScript
    # JavaScript in General

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />

    @@ -78,6 +78,8 @@ A fun read! Takes a problem and solves in a variety of different ways as if the

    Don't let the title fool you — while this is a self-published gitbook, it goes far beyond "adequate." Lonsdorf guides any knowledgeable JavaScripter through using the language in ever more abstract, algebraic, functional patterns — transforming the way you will think about processing information and structuring applications. Best paired with his quirky (and free) Egghead video course, [Professor Frisby Introduces Composable Functional JavaScript](https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript).

    ---

    # React & Redux

    <img align="right" height="100px" src="http://www.pro-react.com/images/book.jpg" />
    @@ -114,6 +116,8 @@ This book starts off simple and moves quickly into advanced concepts of MongoDB

    Not about Javascript, Node or MongoDB, but a classic software book about strict ideas of architecture which are very relevant to back-end programming and database theory. Not for the faint of heart, but an excellent read for those ready to learn about the importance of application architecture at scale.

    ---

    # Generic Programming

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/515iO%2B-PRUL._SX408_BO1,204,203,200_.jpg" />
    @@ -168,6 +172,16 @@ A classic known as the "Gang of Four" or just "GoF" for its four authors, this b

    A terrific and approachable book which can be enjoyed by readers with zero or significant coding experience alike. "Code" walks the reader through first principles — signals, information, encodings, telegraphs — all the way up through transistors, logic gates, integrated circuits, machine language, assembly, graphics, and more. Great for anyone who wants a concise and easy introduction to everything lower-level than a typical programming language.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SX415_BO1,204,203,200_.jpg" />

    ### [Seven Languages in Seven Weeks](https://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X)

    #### Bruce Tate | Beginner

    In this book you'll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you'll broaden your perspective of programming by examining these languages side-by-side.

    ---

    # Industry/Interpersonal

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._SX396_BO1,204,203,200_.jpg" />
    @@ -200,6 +214,8 @@ More job search advice, focusing on the process, but also including coding examp

    A famous perspective on how software engineering projects scale (or rather, don't), and the management strategies intended to cope with the effects of many people working on large systems. Geared heavily towards leadership roles, but even new programmers can benefit from considering these challenges.

    ---

    # Angular.js

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920033486/cat.gif" />
  4. glebec revised this gist Apr 11, 2017. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -192,6 +192,14 @@ This book is does not instruct on programming at all: it is about the industry,

    More job search advice, focusing on the process, but also including coding examples in C, C++, C# and Java.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51XnDL5KC%2BL._SX334_BO1,204,203,200_.jpg" />

    ### [The Mythical Man-Month](https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959)

    #### Frederick P. Brooks Jr.

    A famous perspective on how software engineering projects scale (or rather, don't), and the management strategies intended to cope with the effects of many people working on large systems. Geared heavily towards leadership roles, but even new programmers can benefit from considering these challenges.

    # Angular.js

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920033486/cat.gif" />
  5. glebec revised this gist Apr 10, 2017. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -70,6 +70,14 @@ Broken into 68 different concepts and "did-you-knows" about Javascript, easy to

    A fun read! Takes a problem and solves in a variety of different ways as if the solutions had been written in the style of famous authors, including, as you might expect, Ernest Hemingway. Interesting to see the different ways a single problem could be solved as well as what a "different style" of programming could possibly look like.

    <img align="right" height="100px" src="https://drboolean.gitbooks.io/mostly-adequate-guide/content/images/cover.png" />

    ### [Professor Frisby's Mostly Adequate Guide to Functional Programming](https://www.gitbook.com/book/drboolean/mostly-adequate-guide/details)

    #### Brian Lonsdorf, aka Professor Frisby | Beginner/Intermediate/Advanced

    Don't let the title fool you — while this is a self-published gitbook, it goes far beyond "adequate." Lonsdorf guides any knowledgeable JavaScripter through using the language in ever more abstract, algebraic, functional patterns — transforming the way you will think about processing information and structuring applications. Best paired with his quirky (and free) Egghead video course, [Professor Frisby Introduces Composable Functional JavaScript](https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript).

    # React & Redux

    <img align="right" height="100px" src="http://www.pro-react.com/images/book.jpg" />
  6. glebec revised this gist Apr 8, 2017. 1 changed file with 14 additions and 10 deletions.
    24 changes: 14 additions & 10 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -86,23 +86,23 @@ The book teaches you how to use React completely, and learn best practices for c

    ### [Node.js the Right Way](https://pragprog.com/book/jwnode/node-js-the-right-way)

    #### Beginner/Intermediate
    #### Jim R. Wilson | Beginner/Intermediate

    A short but dense book, goes over the concepts of Node, what makes it different from other platforms, and its basics like CommonJS, building servers, using TCP sockets. Recommended for review and some new concepts.

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920028031/cat.gif" />

    ### [MongoDB: The Definitive Guide: Edition 2](http://shop.oreilly.com/product/0636920028031.do)

    #### Beginner/Intermediate/Advanced
    #### Kristina Chodorow | Beginner/Intermediate/Advanced

    This book starts off simple and moves quickly into advanced concepts of MongoDB like indexing, sharding, scaling. Good for those interested in why MongoDB is used, advanced concepts and how it differs from other database systems.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51sZW87slRL._SX375_BO1,204,203,200_.jpg" />

    ### [Domain-Driven Design: Tackling Complexity in the Heart of Software](https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215)

    #### Advanced
    #### Eric Evans | Advanced

    Not about Javascript, Node or MongoDB, but a classic software book about strict ideas of architecture which are very relevant to back-end programming and database theory. Not for the faint of heart, but an excellent read for those ready to learn about the importance of application architecture at scale.

    @@ -112,7 +112,7 @@ Not about Javascript, Node or MongoDB, but a classic software book about strict

    ### [Code Complete 2nd Edition](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)

    #### Advanced
    #### Steve McConnell | Advanced

    A legendary book, my (Joe's) favorite book about software (Gabriel likes it too). It is not Javascript specific—in fact, at one point, it literally calls Javascript a toy language, which is okay because the book is fairly old. It addresses almost EVERYTHING relevant to programming, including how to think about software, name variables, create modules, communicate with other programmers, communicate with non-programmers about software, write a function, you name it.

    @@ -122,15 +122,15 @@ The ultimate point and goal of this book is to distinguish what skills and knowl

    ### [Structure and Interpretation of Computer Programs](http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871)

    #### Advanced
    #### Harold Abelson et al | Advanced

    Another legend, often referred to simply as SICP. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51F6Lwyq5JL._SX348_BO1,204,203,200_.jpg" />

    ### [Cracking the Coding Interview: 150 Programming Questions and Solutions](https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/)

    #### Intermediate
    #### Gayle Laakmann McDowell | Intermediate

    An instant classic, reviews common whiteboarding problems used in industry interviews. Great for data structures and algorithms practice, good preparation and companion with REACTO in senior phase.

    @@ -148,7 +148,7 @@ Alternatively, [CLRS](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Pre

    ### [Design Patterns: Elements of Reusable Object-Oriented Software](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/)

    #### Intermediate/Advanced
    #### Erich Gamma et al | Intermediate/Advanced

    A classic known as the "Gang of Four" or just "GoF" for its four authors, this book has long served as an example of thinking in terms of architecture and information flow. The focus is (as the title suggests) on OOP techniques, and parts of it are beginning to feel dated, but GoF is still quoted and referred to frequently due to the many timeless solutions codified within.

    @@ -166,12 +166,16 @@ A terrific and approachable book which can be enjoyed by readers with zero or si

    ### [The Pragmatic Programmer: From Journeyman to Master](http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X)

    #### Andrew Hunt et al

    Another legend. Once again, not Javascript specific, this book is concerned moreso with how programmers communicate with their peers and others -- through what they write and what they say. Much shorter than the above, and the writing is loose and funny. Once again, the goal is to explore and teach how to be an effective programmer as opposed to a programmer that simply gets things to work.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51qMMe-3o5L._SX346_BO1,204,203,200_.jpg" />

    ### [Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams](http://www.amazon.com/Managing-Unmanageable-Insights-Software-People/dp/032182203X)

    #### Mickey W. Mantle et al

    This book is does not instruct on programming at all: it is about the industry, a programmer's day-to-day, how effective programming teams function and how to be a good manager of software teams. Even if you are not planning to be a manager, this advice will apply to your understanding of YOUR manager/lead developer and the dynamics of the team around you, as well as give you interpersonal tips for your job search.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5180w1hSjAL._SX392_BO1,204,203,200_.jpg" />
    @@ -184,16 +188,16 @@ More job search advice, focusing on the process, but also including coding examp

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920033486/cat.gif" />

    ### [AngularJS Up and Running by O'Reilly](http://shop.oreilly.com/product/0636920033486.do)
    ### [AngularJS Up and Running](http://shop.oreilly.com/product/0636920033486.do)

    #### Beginner/Intermediate
    #### Shyam Seshadri et al | Beginner/Intermediate

    More of an introduction to Angular, goes over the basics you would expect. Written by some of the core Angular team.

    <img align="right" height="100px" src="https://www.ng-book.com/images/flatbook-ngbook-small.png" />

    ### [ng-book](https://www.ng-book.com/)

    #### Intermediate/Advanced
    #### Ari Lerner | Intermediate/Advanced

    The most commonly recommended book on Angular, is very thorough about a bunch of different concepts, including advanced topics of bootstrapping, how directives work under the hood, etc.. Can sometimes make assumptions about reader's knowledge and is usually better read by hopping around chapters.
  7. glebec revised this gist Apr 8, 2017. 1 changed file with 39 additions and 63 deletions.
    102 changes: 39 additions & 63 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -2,222 +2,198 @@

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />

    ### JavaScript: The Good Parts
    ### [JavaScript: The Good Parts](http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742)

    #### Douglas Crockford | Beginner/Intermediate

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51%2BSiphz7AL._SX377_BO1,204,203,200_.jpg" />

    ### JavaScript Patterns
    ### [JavaScript Patterns](http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752)

    #### Stoyan Stefanov | Intermediate

    http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752

    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies. Beginning to feel a little dated however.

    <img align="right" height="100px" src="https://addyosmani.com/resources/essentialjsdesignpatterns/cover/cover.jpg" />

    ### Learning JavaScript Design Patterns
    ### [Learning JavaScript Design Patterns](https://addyosmani.com/resources/essentialjsdesignpatterns/book/)

    #### Addy Osmani | Intermediate

    https://addyosmani.com/resources/essentialjsdesignpatterns/book/

    Is there an echo in here? Having déjà vu? Another O'Reilly book on JS patterns, this one is free online and covers many more generic programming patterns as applied to JS (instead of patterns specific to JS). It takes some inspiration from the "Gang of Four" book (see Design Patterns elsewhere in this list).

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920026327/cat.gif" />

    ### You Don't Know JS Series
    ### [You Don't Know JS Series](https://github.com/getify/You-Dont-Know-JS)

    #### Kyle Simpson | Intermediate/Advanced

    https://github.com/getify/You-Dont-Know-JS

    A review of the Javascript's basic features, but in a very deep and different way. Will give you insight into how a Javascript engine thinks about the language, parses text, etc. Will be recommended to you again and again -- it is a more complex read but extremely insightful.

    ### Human Javascript
    ### [Human Javascript](http://read.humanjavascript.com/)

    #### Henrik Joreteg | Intermediate

    http://read.humanjavascript.com/

    This book is moreso about writing Javascript that not only works, but is elegant and maintainable by yourself and your collaborators. It will not dwell on how Javascript itself works or its features, but moreso on patterns to be used for solving problems in sane, controllable ways. A good read for someone looking to understand these problems and start exploring the **craft** of writing good code.

    <img align="right" height="100px" src="https://images.manning.com/255/340/resize/book/b/72b6dbb-4eb6-4bbd-9078-b47f0393a1bb/Resig-JSN-2ed-HI.png" />

    ### Secrets of the Javascript Ninja, 2nd Ed.
    ### [Secrets of the Javascript Ninja, 2nd Ed.](https://www.manning.com/books/secrets-of-the-javascript-ninja-second-edition)

    #### John Resig | Beginner/Intermediate

    https://www.manning.com/books/secrets-of-the-javascript-ninja-second-edition

    A fairly large book, and lots about cross-browser DOM differences. Addresses a large range of concepts from Javascript features, how Regex is used, how the DOM is wrangled.

    <img align="right" height="100px" src="https://s3.amazonaws.com/titlepages.leanpub.com/javascriptallongesix/hero?1486865080" />

    ### Javascript Allongé, the "Six" Edition
    ### [Javascript Allongé, the "Six" Edition](https://leanpub.com/javascriptallongesix)

    #### Reg Braithwaite | Advanced

    https://leanpub.com/javascriptallongesix

    A heavy, fast-paced book about Javascript and design pattern concepts. The writing is complex, a bit unforgiving at times, but brilliant. Addresses different strategies for object composition, building different constructs and code clarity/reusability.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51t8vT-IvqL._SX382_BO1,204,203,200_.jpg" />

    ### Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript
    ### [Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript](http://www.amazon.com/Effective-JavaScript-Specific-Software-Development/dp/0321812182)

    #### David Herman | Beginner/Intermediate

    http://www.amazon.com/Effective-JavaScript-Specific-Software-Development/dp/0321812182

    Broken into 68 different concepts and "did-you-knows" about Javascript, easy to pick up and read for 10 minutes and put down again. Very well-written and exposes a lot of different quirks of Javascript.

    <img align="right" height="100px" src="https://www.nostarch.com/sites/default/files/styles/uc_product/public/Hemingway_cover-front-FINAL-new.png?itok=WOS7npbo" />

    ### If Hemingway Wrote JavaScript
    ### [If Hemingway Wrote JavaScript](https://www.nostarch.com/hemingway)

    #### Angus Croll | Beginner/Intermediate

    https://www.nostarch.com/hemingway

    A fun read! Takes a problem and solves in a variety of different ways as if the solutions had been written in the style of famous authors, including, as you might expect, Ernest Hemingway. Interesting to see the different ways a single problem could be solved as well as what a "different style" of programming could possibly look like.

    # React & Redux

    <img align="right" height="100px" src="http://www.pro-react.com/images/book.jpg" />

    ### Pro React
    ### [Pro React](http://www.pro-react.com/)

    #### Cássio de Souza Antonio | Beginner/Intermediate

    http://www.pro-react.com/

    The book teaches you how to use React completely, and learn best practices for creating interfaces in a composable way. Additionally, It also covers tools and libraries in the React ecosystem (such as React Router and Flux/Redux architectures). Each topic is covered clearly and concisely and is packed with the details you need to learn to be truly effective.

    # Node/Back-end Programming

    <img align="right" height="100px" src="https://d3by36x8sj6cra.cloudfront.net/assets/images/book/lrg/9781/9377/9781937785734.jpg" />

    ### Node.js the Right Way*Beginner/Intermediate*
    ### [Node.js the Right Way](https://pragprog.com/book/jwnode/node-js-the-right-way)

    https://pragprog.com/book/jwnode/node-js-the-right-way
    #### Beginner/Intermediate

    A short but dense book, goes over the concepts of Node, what makes it different from other platforms, and its basics like CommonJS, building servers, using TCP sockets. Recommended for review and some new concepts.

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920028031/cat.gif" />

    ### MongoDB: The Definitive Guide: Edition 2*Beginner/Intermediate/Advanced*
    ### [MongoDB: The Definitive Guide: Edition 2](http://shop.oreilly.com/product/0636920028031.do)

    http://shop.oreilly.com/product/0636920028031.do
    #### Beginner/Intermediate/Advanced

    This book starts off simple and moves quickly into advanced concepts of MongoDB like indexing, sharding, scaling. Good for those interested in why MongoDB is used, advanced concepts and how it differs from other database systems.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51sZW87slRL._SX375_BO1,204,203,200_.jpg" />

    ### Domain-Driven Design: Tackling Complexity in the Heart of Software*Advanced*
    ### [Domain-Driven Design: Tackling Complexity in the Heart of Software](https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215)

    https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
    #### Advanced

    Not about Javascript, Node or MongoDB, but a classic software book about strict ideas of architecture which are very relevant to back-end programming and database theory. Not for the faint of heart, but an excellent read for those ready to learn about the importance of application architecture at scale.

    # Generic Programming

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/515iO%2B-PRUL._SX408_BO1,204,203,200_.jpg" />

    ### Code Complete 2nd Edition*Advanced*
    ### [Code Complete 2nd Edition](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)

    https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670
    #### Advanced

    A legendary book, my (Joe's) favorite book about software (Gabriel likes it too). It is not Javascript specific—in fact, at one point, it literally calls Javascript a toy language, which is okay because the book is fairly old. It addresses almost EVERYTHING relevant to programming, including how to think about software, name variables, create modules, communicate with other programmers, communicate with non-programmers about software, write a function, you name it.

    The ultimate point and goal of this book is to distinguish what skills and knowledge allow programs to **work** and what makes those programs **good**. Not for the faint of heart: It is MASSIVE, the writing is very dry and your ambition should not be to read it cover-to-cover. But it is a fantastic book with tons of insight and will make you a better programmer one day.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51H17R%2BbW8L._SX331_BO1,204,203,200_.jpg" />

    ### Structure and Interpretation of Computer Programs*Advanced*
    ### [Structure and Interpretation of Computer Programs](http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871)

    http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871
    #### Advanced

    Another legend. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.
    Another legend, often referred to simply as SICP. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51F6Lwyq5JL._SX348_BO1,204,203,200_.jpg" />

    ### Cracking the Coding Interview: 150 Programming Questions and Solutions*Intermediate*
    ### [Cracking the Coding Interview: 150 Programming Questions and Solutions](https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/)

    https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/
    #### Intermediate

    An instant classic, reviews common whiteboarding problems used in industry interviews. Great for data structures and algorithms practice, good preparation and companion with REACTO in senior phase.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5186uqUuDUL._SX376_BO1,204,203,200_.jpg" />

    ### The Algorithm Design Manual — Steven Skiena — Intermediate/Advanced
    ### [The Algorithm Design Manual](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202)

    #### Steven Skiena | Intermediate/Advanced

    http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202
    No JS, but a very clearly-written and enjoyable reference for diving deeper into data structures and algorithms. Examples are in pseudocode / simple C but are not too challenging to follow. A large book that will take a long time to finish but will definitely improve your understanding of fundamental computer science topics.

    No JS, but a very clearly-written and enjoyable reference for diving deeper into data structures and algorithms. Examples are in pseudocode / simple C but are not too challenging to follow. A large book that will take a long time to finish but will definitely improve your understanding of fundamental computer science topics. Alternatively, [Cormen et al](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844) is a rigorous and advanced CS text with a focus on mathematical proofs, and is considered the ultimate reference on this topic.
    Alternatively, [CLRS](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844) is a rigorous and advanced CS text with a focus on mathematical proofs, and is considered the ultimate reference on this topic.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51szD9HC9pL._SX395_BO1,204,203,200_.jpg" />

    ### Design Patterns: Elements of Reusable Object-Oriented Software — Intermediate / Advanced
    ### [Design Patterns: Elements of Reusable Object-Oriented Software](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/)

    https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/
    #### Intermediate/Advanced

    A classic known as the "Gang of Four" or just "GoF" for its four authors, this book has long served as an example of thinking in terms of architecture and information flow. The focus is (as the title suggests) on OOP techniques, and parts of it are beginning to feel dated, but GoF is still quoted and referred to frequently due to the many timeless solutions codified within.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/712VBS23ZRL._SX312_BO1,204,203,200_.gif" />

    ### Code: The Hidden Language of Computer Hardware and Software — Charles Petzold — Beginner
    ### [Code: The Hidden Language of Computer Hardware and Software](https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/073560505X)

    https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/073560505X
    #### Charles Petzold | Beginner

    A terrific and approachable book which can be enjoyed by readers with zero or significant coding experience alike. "Code" walks the reader through first principles — signals, information, encodings, telegraphs — all the way up through transistors, logic gates, integrated circuits, machine language, assembly, graphics, and more. Great for anyone who wants a concise and easy introduction to everything lower-level than a typical programming language.

    # Industry/Interpersonal

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._SX396_BO1,204,203,200_.jpg" />

    ### The Pragmatic Programmer: From Journeyman to Master

    http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X
    ### [The Pragmatic Programmer: From Journeyman to Master](http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X)

    Another legend. Once again, not Javascript specific, this book is concerned moreso with how programmers communicate with their peers and others -- through what they write and what they say. Much shorter than the above, and the writing is loose and funny. Once again, the goal is to explore and teach how to be an effective programmer as opposed to a programmer that simply gets things to work.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51qMMe-3o5L._SX346_BO1,204,203,200_.jpg" />

    ### Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams

    http://www.amazon.com/Managing-Unmanageable-Insights-Software-People/dp/032182203X
    ### [Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams](http://www.amazon.com/Managing-Unmanageable-Insights-Software-People/dp/032182203X)

    This book is does not instruct on programming at all: it is about the industry, a programmer's day-to-day, how effective programming teams function and how to be a good manager of software teams. Even if you are not planning to be a manager, this advice will apply to your understanding of YOUR manager/lead developer and the dynamics of the team around you, as well as give you interpersonal tips for your job search.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5180w1hSjAL._SX392_BO1,204,203,200_.jpg" />

    ### Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition

    https://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364
    ### [Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition](https://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364)

    More job search advice, focusing on the process, but also including coding examples in C, C++, C# and Java.

    # Angular.js

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920033486/cat.gif" />

    ### AngularJS Up and Running by O'Reilly*Beginner/Intermediate*
    ### [AngularJS Up and Running by O'Reilly](http://shop.oreilly.com/product/0636920033486.do)

    http://shop.oreilly.com/product/0636920033486.do
    #### Beginner/Intermediate

    More of an introduction to Angular, goes over the basics you would expect. Written by some of the core Angular team.

    <img align="right" height="100px" src="https://www.ng-book.com/images/flatbook-ngbook-small.png" />

    ### ng-book*Intermediate/Advanced*
    ### [ng-book](https://www.ng-book.com/)

    https://www.ng-book.com/
    #### Intermediate/Advanced

    The most commonly recommended book on Angular, is very thorough about a bunch of different concepts, including advanced topics of bootstrapping, how directives work under the hood, etc.. Can sometimes make assumptions about reader's knowledge and is usually better read by hopping around chapters.
  8. glebec revised this gist Apr 8, 2017. 1 changed file with 39 additions and 11 deletions.
    50 changes: 39 additions & 11 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -1,62 +1,88 @@
    # Javascript
    # JavaScript

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />

    ### Javascript: The Good Parts — *Beginner/Intermediate*
    ### JavaScript: The Good Parts

    #### Douglas Crockford | Beginner/Intermediate

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51%2BSiphz7AL._SX377_BO1,204,203,200_.jpg" />

    ### Javascript Design Patterns (Stoyan Stefanov) — *Intermediate*
    ### JavaScript Patterns

    #### Stoyan Stefanov | Intermediate

    http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752

    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies.
    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies. Beginning to feel a little dated however.

    <img align="right" height="100px" src="https://addyosmani.com/resources/essentialjsdesignpatterns/cover/cover.jpg" />

    ### Learning JavaScript Design Patterns

    #### Addy Osmani | Intermediate

    https://addyosmani.com/resources/essentialjsdesignpatterns/book/

    Is there an echo in here? Having déjà vu? Another O'Reilly book on JS patterns, this one is free online and covers many more generic programming patterns as applied to JS (instead of patterns specific to JS). It takes some inspiration from the "Gang of Four" book (see Design Patterns elsewhere in this list).

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920026327/cat.gif" />

    ### You Don't Know JS Series — *Intermediate/Advanced*
    ### You Don't Know JS Series

    #### Kyle Simpson | Intermediate/Advanced

    https://github.com/getify/You-Dont-Know-JS

    A review of the Javascript's basic features, but in a very deep and different way. Will give you insight into how a Javascript engine thinks about the language, parses text, etc. Will be recommended to you again and again -- it is a more complex read but extremely insightful.

    ### Human Javascript — *Intermediate*
    ### Human Javascript

    #### Henrik Joreteg | Intermediate

    http://read.humanjavascript.com/

    This book is moreso about writing Javascript that not only works, but is elegant and maintainable by yourself and your collaborators. It will not dwell on how Javascript itself works or its features, but moreso on patterns to be used for solving problems in sane, controllable ways. A good read for someone looking to understand these problems and start exploring the **craft** of writing good code.

    <img align="right" height="100px" src="https://images.manning.com/255/340/resize/book/b/72b6dbb-4eb6-4bbd-9078-b47f0393a1bb/Resig-JSN-2ed-HI.png" />

    ### Secrets of the Javascript Ninja, 2nd Ed. — *Beginner/Intermediate*
    ### Secrets of the Javascript Ninja, 2nd Ed.

    #### John Resig | Beginner/Intermediate

    https://www.manning.com/books/secrets-of-the-javascript-ninja-second-edition

    A fairly large book, and lots about cross-browser DOM differences. Addresses a large range of concepts from Javascript features, how Regex is used, how the DOM is wrangled.

    <img align="right" height="100px" src="https://s3.amazonaws.com/titlepages.leanpub.com/javascriptallongesix/hero?1486865080" />

    ### Javascript Allongé, the "Six" Edition — *Advanced*
    ### Javascript Allongé, the "Six" Edition

    #### Reg Braithwaite | Advanced

    https://leanpub.com/javascriptallongesix

    A heavy, fast-paced book about Javascript and design pattern concepts. The writing is complex, a bit unforgiving at times, but brilliant. Addresses different strategies for object composition, building different constructs and code clarity/reusability.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51t8vT-IvqL._SX382_BO1,204,203,200_.jpg" />

    ### Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript — *Beginner/Intermediate*
    ### Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript

    #### David Herman | Beginner/Intermediate

    http://www.amazon.com/Effective-JavaScript-Specific-Software-Development/dp/0321812182

    Broken into 68 different concepts and "did-you-knows" about Javascript, easy to pick up and read for 10 minutes and put down again. Very well-written and exposes a lot of different quirks of Javascript.

    <img align="right" height="100px" src="https://www.nostarch.com/sites/default/files/styles/uc_product/public/Hemingway_cover-front-FINAL-new.png?itok=WOS7npbo" />

    ### If Hemingway Wrote JavaScript — *Beginner/Intermediate*
    ### If Hemingway Wrote JavaScript

    #### Angus Croll | Beginner/Intermediate

    https://www.nostarch.com/hemingway

    @@ -66,7 +92,9 @@ A fun read! Takes a problem and solves in a variety of different ways as if the

    <img align="right" height="100px" src="http://www.pro-react.com/images/book.jpg" />

    ### Pro React — Cássio de Souza Antonio
    ### Pro React

    #### Cássio de Souza Antonio | Beginner/Intermediate

    http://www.pro-react.com/

  9. glebec revised this gist Apr 7, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion books.md
    Original file line number Diff line number Diff line change
    @@ -66,7 +66,7 @@ A fun read! Takes a problem and solves in a variety of different ways as if the

    <img align="right" height="100px" src="http://www.pro-react.com/images/book.jpg" />

    ### Pro React — Cássio
    ### Pro React — Cássio de Souza Antonio

    http://www.pro-react.com/

  10. glebec revised this gist Apr 7, 2017. 1 changed file with 7 additions and 1 deletion.
    8 changes: 7 additions & 1 deletion books.md
    Original file line number Diff line number Diff line change
    @@ -64,7 +64,13 @@ A fun read! Takes a problem and solves in a variety of different ways as if the

    # React & Redux

    ...
    <img align="right" height="100px" src="http://www.pro-react.com/images/book.jpg" />

    ### Pro React — Cássio

    http://www.pro-react.com/

    The book teaches you how to use React completely, and learn best practices for creating interfaces in a composable way. Additionally, It also covers tools and libraries in the React ecosystem (such as React Router and Flux/Redux architectures). Each topic is covered clearly and concisely and is packed with the details you need to learn to be truly effective.

    # Node/Back-end Programming

  11. glebec revised this gist Apr 7, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion books.md
    Original file line number Diff line number Diff line change
    @@ -126,7 +126,7 @@ An instant classic, reviews common whiteboarding problems used in industry inter

    http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202

    No JS, but a very clearly-written and enjoyable reference for diving deeper into data structures and algorithms. Examples are in pseudocode / simple C but are not too challenging to follow. A large book that will take a long time to finish but will definitely improve your understanding of fundamental computer science topics.
    No JS, but a very clearly-written and enjoyable reference for diving deeper into data structures and algorithms. Examples are in pseudocode / simple C but are not too challenging to follow. A large book that will take a long time to finish but will definitely improve your understanding of fundamental computer science topics. Alternatively, [Cormen et al](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844) is a rigorous and advanced CS text with a focus on mathematical proofs, and is considered the ultimate reference on this topic.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51szD9HC9pL._SX395_BO1,204,203,200_.jpg" />

  12. glebec revised this gist Apr 7, 2017. 1 changed file with 9 additions and 1 deletion.
    10 changes: 9 additions & 1 deletion books.md
    Original file line number Diff line number Diff line change
    @@ -130,12 +130,20 @@ No JS, but a very clearly-written and enjoyable reference for diving deeper into

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51szD9HC9pL._SX395_BO1,204,203,200_.jpg" />

    ### Design Patterns: Elements of Reusable Object-Oriented Software
    ### Design Patterns: Elements of Reusable Object-Oriented Software — Intermediate / Advanced

    https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/

    A classic known as the "Gang of Four" or just "GoF" for its four authors, this book has long served as an example of thinking in terms of architecture and information flow. The focus is (as the title suggests) on OOP techniques, and parts of it are beginning to feel dated, but GoF is still quoted and referred to frequently due to the many timeless solutions codified within.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/712VBS23ZRL._SX312_BO1,204,203,200_.gif" />

    ### Code: The Hidden Language of Computer Hardware and Software — Charles Petzold — Beginner

    https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/073560505X

    A terrific and approachable book which can be enjoyed by readers with zero or significant coding experience alike. "Code" walks the reader through first principles — signals, information, encodings, telegraphs — all the way up through transistors, logic gates, integrated circuits, machine language, assembly, graphics, and more. Great for anyone who wants a concise and easy introduction to everything lower-level than a typical programming language.

    # Industry/Interpersonal

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._SX396_BO1,204,203,200_.jpg" />
  13. glebec revised this gist Apr 7, 2017. 1 changed file with 9 additions and 1 deletion.
    10 changes: 9 additions & 1 deletion books.md
    Original file line number Diff line number Diff line change
    @@ -68,7 +68,7 @@ A fun read! Takes a problem and solves in a variety of different ways as if the

    # Node/Back-end Programming

    <img align="right" height="100px" src="https://imagery.pragprog.com/products/351/jwnode_xlargecover.jpg?1381944730" />
    <img align="right" height="100px" src="https://d3by36x8sj6cra.cloudfront.net/assets/images/book/lrg/9781/9377/9781937785734.jpg" />

    ### Node.js the Right Way — *Beginner/Intermediate*

    @@ -128,6 +128,14 @@ http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202

    No JS, but a very clearly-written and enjoyable reference for diving deeper into data structures and algorithms. Examples are in pseudocode / simple C but are not too challenging to follow. A large book that will take a long time to finish but will definitely improve your understanding of fundamental computer science topics.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51szD9HC9pL._SX395_BO1,204,203,200_.jpg" />

    ### Design Patterns: Elements of Reusable Object-Oriented Software

    https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/

    A classic known as the "Gang of Four" or just "GoF" for its four authors, this book has long served as an example of thinking in terms of architecture and information flow. The focus is (as the title suggests) on OOP techniques, and parts of it are beginning to feel dated, but GoF is still quoted and referred to frequently due to the many timeless solutions codified within.

    # Industry/Interpersonal

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._SX396_BO1,204,203,200_.jpg" />
  14. glebec revised this gist Apr 7, 2017. 1 changed file with 19 additions and 0 deletions.
    19 changes: 19 additions & 0 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -1,20 +1,23 @@
    # Javascript

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />

    ### Javascript: The Good Parts — *Beginner/Intermediate*

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51%2BSiphz7AL._SX377_BO1,204,203,200_.jpg" />

    ### Javascript Design Patterns (Stoyan Stefanov) — *Intermediate*

    http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752

    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies.

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920026327/cat.gif" />

    ### You Don't Know JS Series — *Intermediate/Advanced*

    https://github.com/getify/You-Dont-Know-JS
    @@ -28,27 +31,31 @@ http://read.humanjavascript.com/
    This book is moreso about writing Javascript that not only works, but is elegant and maintainable by yourself and your collaborators. It will not dwell on how Javascript itself works or its features, but moreso on patterns to be used for solving problems in sane, controllable ways. A good read for someone looking to understand these problems and start exploring the **craft** of writing good code.

    <img align="right" height="100px" src="https://images.manning.com/255/340/resize/book/b/72b6dbb-4eb6-4bbd-9078-b47f0393a1bb/Resig-JSN-2ed-HI.png" />

    ### Secrets of the Javascript Ninja, 2nd Ed. — *Beginner/Intermediate*

    https://www.manning.com/books/secrets-of-the-javascript-ninja-second-edition

    A fairly large book, and lots about cross-browser DOM differences. Addresses a large range of concepts from Javascript features, how Regex is used, how the DOM is wrangled.

    <img align="right" height="100px" src="https://s3.amazonaws.com/titlepages.leanpub.com/javascriptallongesix/hero?1486865080" />

    ### Javascript Allongé, the "Six" Edition — *Advanced*

    https://leanpub.com/javascriptallongesix

    A heavy, fast-paced book about Javascript and design pattern concepts. The writing is complex, a bit unforgiving at times, but brilliant. Addresses different strategies for object composition, building different constructs and code clarity/reusability.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51t8vT-IvqL._SX382_BO1,204,203,200_.jpg" />

    ### Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript — *Beginner/Intermediate*

    http://www.amazon.com/Effective-JavaScript-Specific-Software-Development/dp/0321812182

    Broken into 68 different concepts and "did-you-knows" about Javascript, easy to pick up and read for 10 minutes and put down again. Very well-written and exposes a lot of different quirks of Javascript.

    <img align="right" height="100px" src="https://www.nostarch.com/sites/default/files/styles/uc_product/public/Hemingway_cover-front-FINAL-new.png?itok=WOS7npbo" />

    ### If Hemingway Wrote JavaScript — *Beginner/Intermediate*

    https://www.nostarch.com/hemingway
    @@ -62,20 +69,23 @@ A fun read! Takes a problem and solves in a variety of different ways as if the
    # Node/Back-end Programming

    <img align="right" height="100px" src="https://imagery.pragprog.com/products/351/jwnode_xlargecover.jpg?1381944730" />

    ### Node.js the Right Way — *Beginner/Intermediate*

    https://pragprog.com/book/jwnode/node-js-the-right-way

    A short but dense book, goes over the concepts of Node, what makes it different from other platforms, and its basics like CommonJS, building servers, using TCP sockets. Recommended for review and some new concepts.

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920028031/cat.gif" />

    ### MongoDB: The Definitive Guide: Edition 2 — *Beginner/Intermediate/Advanced*

    http://shop.oreilly.com/product/0636920028031.do

    This book starts off simple and moves quickly into advanced concepts of MongoDB like indexing, sharding, scaling. Good for those interested in why MongoDB is used, advanced concepts and how it differs from other database systems.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51sZW87slRL._SX375_BO1,204,203,200_.jpg" />

    ### Domain-Driven Design: Tackling Complexity in the Heart of Software — *Advanced*

    https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
    @@ -85,6 +95,7 @@ Not about Javascript, Node or MongoDB, but a classic software book about strict
    # Generic Programming

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/515iO%2B-PRUL._SX408_BO1,204,203,200_.jpg" />

    ### Code Complete 2nd Edition — *Advanced*

    https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670
    @@ -94,20 +105,23 @@ A legendary book, my (Joe's) favorite book about software (Gabriel likes it too)
    The ultimate point and goal of this book is to distinguish what skills and knowledge allow programs to **work** and what makes those programs **good**. Not for the faint of heart: It is MASSIVE, the writing is very dry and your ambition should not be to read it cover-to-cover. But it is a fantastic book with tons of insight and will make you a better programmer one day.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51H17R%2BbW8L._SX331_BO1,204,203,200_.jpg" />

    ### Structure and Interpretation of Computer Programs — *Advanced*

    http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871

    Another legend. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51F6Lwyq5JL._SX348_BO1,204,203,200_.jpg" />

    ### Cracking the Coding Interview: 150 Programming Questions and Solutions — *Intermediate*

    https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/

    An instant classic, reviews common whiteboarding problems used in industry interviews. Great for data structures and algorithms practice, good preparation and companion with REACTO in senior phase.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5186uqUuDUL._SX376_BO1,204,203,200_.jpg" />

    ### The Algorithm Design Manual — Steven Skiena — Intermediate/Advanced

    http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202
    @@ -117,20 +131,23 @@ No JS, but a very clearly-written and enjoyable reference for diving deeper into
    # Industry/Interpersonal

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._SX396_BO1,204,203,200_.jpg" />

    ### The Pragmatic Programmer: From Journeyman to Master

    http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X

    Another legend. Once again, not Javascript specific, this book is concerned moreso with how programmers communicate with their peers and others -- through what they write and what they say. Much shorter than the above, and the writing is loose and funny. Once again, the goal is to explore and teach how to be an effective programmer as opposed to a programmer that simply gets things to work.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51qMMe-3o5L._SX346_BO1,204,203,200_.jpg" />

    ### Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams

    http://www.amazon.com/Managing-Unmanageable-Insights-Software-People/dp/032182203X

    This book is does not instruct on programming at all: it is about the industry, a programmer's day-to-day, how effective programming teams function and how to be a good manager of software teams. Even if you are not planning to be a manager, this advice will apply to your understanding of YOUR manager/lead developer and the dynamics of the team around you, as well as give you interpersonal tips for your job search.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5180w1hSjAL._SX392_BO1,204,203,200_.jpg" />

    ### Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition

    https://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364
    @@ -140,13 +157,15 @@ More job search advice, focusing on the process, but also including coding examp
    # Angular.js

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920033486/cat.gif" />

    ### AngularJS Up and Running by O'Reilly — *Beginner/Intermediate*

    http://shop.oreilly.com/product/0636920033486.do

    More of an introduction to Angular, goes over the basics you would expect. Written by some of the core Angular team.

    <img align="right" height="100px" src="https://www.ng-book.com/images/flatbook-ngbook-small.png" />

    ### ng-book — *Intermediate/Advanced*

    https://www.ng-book.com/
  15. glebec revised this gist Apr 7, 2017. 1 changed file with 48 additions and 28 deletions.
    76 changes: 48 additions & 28 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -1,116 +1,113 @@
    # Javascript

    ### Javascript: The Good Parts — *Beginner/Intermediate*

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />
    ### Javascript: The Good Parts — *Beginner/Intermediate*

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).

    ### Javascript Design Patterns (Stoyan Stefanov) — *Intermediate*

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51%2BSiphz7AL._SX377_BO1,204,203,200_.jpg" />
    ### Javascript Design Patterns (Stoyan Stefanov) — *Intermediate*

    http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752

    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies.

    ### You Don't Know JS Series — *Intermediate/Advanced*

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920026327/cat.gif" />
    ### You Don't Know JS Series — *Intermediate/Advanced*

    https://github.com/getify/You-Dont-Know-JS

    A review of the Javascript's basic features, but in a very deep and different way. Will give you insight into how a Javascript engine thinks about the language, parses text, etc. Will be recommended to you again and again -- it is a more complex read but extremely insightful.
    </div>

    ### Human Javascript — *Intermediate*

    http://read.humanjavascript.com/

    This book is moreso about writing Javascript that not only works, but is elegant and maintainable by yourself and your collaborators. It will not dwell on how Javascript itself works or its features, but moreso on patterns to be used for solving problems in sane, controllable ways. A good read for someone looking to understand these problems and start exploring the **craft** of writing good code.

    ### Secrets of the Javascript Ninja — *Beginner/Intermediate*
    <img align="right" height="100px" src="https://images.manning.com/255/340/resize/book/b/72b6dbb-4eb6-4bbd-9078-b47f0393a1bb/Resig-JSN-2ed-HI.png" />
    ### Secrets of the Javascript Ninja, 2nd Ed. — *Beginner/Intermediate*

    https://www.manning.com/books/secrets-of-the-javascript-ninja
    https://www.manning.com/books/secrets-of-the-javascript-ninja-second-edition

    A fairly large book, and lots about cross-browser DOM differences. Addresses a large range of concepts from Javascript features, how Regex is used, how the DOM is wrangled.

    ### Javascript Allongé — *Advanced*
    <img align="right" height="100px" src="https://s3.amazonaws.com/titlepages.leanpub.com/javascriptallongesix/hero?1486865080" />
    ### Javascript Allongé, the "Six" Edition — *Advanced*

    https://leanpub.com/javascript-allonge
    https://leanpub.com/javascriptallongesix

    A heavy, fast-paced book about Javascript and design pattern concepts. The writing is complex, a bit unforgiving at times, but brilliant. Addresses different strategies for object composition, building different constructs and code clarity/reusability.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51t8vT-IvqL._SX382_BO1,204,203,200_.jpg" />
    ### Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript — *Beginner/Intermediate*

    http://www.amazon.com/Effective-JavaScript-Specific-Software-Development/dp/0321812182

    Broken into 68 different concepts and "did-you-knows" about Javascript, easy to pick up and read for 10 minutes and put down again. Very well-written and exposes a lot of different quirks of Javascript.

    <img align="right" height="100px" src="https://www.nostarch.com/sites/default/files/styles/uc_product/public/Hemingway_cover-front-FINAL-new.png?itok=WOS7npbo" />
    ### If Hemingway Wrote JavaScript — *Beginner/Intermediate*

    https://www.nostarch.com/hemingway

    A fun read! Takes a problem and solves in a variety of different ways as if the solutions had been written in the style of famous authors, including, as you might expect, Ernest Hemingway. Interesting to see the different ways a single problem could be solved as well as what a "different style" of programming could possibly look like.

    # Angular.js
    # React & Redux

    ### AngularJS Up and Running by O'Reilly — *Beginner/Intermediate*

    http://shop.oreilly.com/product/0636920033486.do

    More of an introduction to Angular, goes over the basics you would expect. Written by some of the core Angular team.

    ### ng-book — *Intermediate/Advanced*

    https://www.ng-book.com/

    The most commonly recommended book on Angular, is very thorough about a bunch of different concepts, including advanced topics of bootstrapping, how directives work under the hood, etc.. Can sometimes make assumptions about reader's knowledge and is usually better read by hopping around chapters.
    ...

    # Node/Back-end Programming

    <img align="right" height="100px" src="https://imagery.pragprog.com/products/351/jwnode_xlargecover.jpg?1381944730" />
    ### Node.js the Right Way — *Beginner/Intermediate*

    https://pragprog.com/book/jwnode/node-js-the-right-way

    A short but dense book, goes over the concepts of Node, what makes it different from other platforms, and its basics like CommonJS, building servers, using TCP sockets. Recommended for review and some new concepts.

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920028031/cat.gif" />
    ### MongoDB: The Definitive Guide: Edition 2 — *Beginner/Intermediate/Advanced*

    http://shop.oreilly.com/product/0636920028031.do

    This book starts off simple and moves quickly into advanced concepts of MongoDB like indexing, sharding, scaling. Good for those interested in why MongoDB is used, advanced concepts and how it differs from other database systems.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51sZW87slRL._SX375_BO1,204,203,200_.jpg" />
    ### Domain-Driven Design: Tackling Complexity in the Heart of Software — *Advanced*

    http://digitalsoftocean.com/product/domain-driven-design-tackling-complexity-in-the-heart-of-software/?gclid=CJHrjeqp1MkCFQEnHwodbOkOrA
    https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215

    Not about Javascript, Node or MongoDB, but a classic software book about strict ideas of architecture which are very relevant to back-end programming and database theory. Not for the faint of heart, but an excellent read for those ready to learn about the importance of application architecture at scale.

    # Generic Programming

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/515iO%2B-PRUL._SX408_BO1,204,203,200_.jpg" />
    ### Code Complete 2nd Edition — *Advanced*

    http://cc2e.com/
    https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670

    A legendary book, my (Joe's) favorite book about software. It is not Javascript specific--in fact, at one point, it literally calls Javascript a toy language, which is okay because the book is fairly old. It addresses almost EVERYTHING relevant to programming, including how to think about software, name variables, create modules, communicate with other programmers, communicate with non-programmers about software, write a function, you name it.
    A legendary book, my (Joe's) favorite book about software (Gabriel likes it too). It is not Javascript specificin fact, at one point, it literally calls Javascript a toy language, which is okay because the book is fairly old. It addresses almost EVERYTHING relevant to programming, including how to think about software, name variables, create modules, communicate with other programmers, communicate with non-programmers about software, write a function, you name it.

    The ultimate point and goal of this book is to distinguish what skills and knowledge allow programs to **work** and what makes those programs **good**. Not for the faint of heart: It is MASSIVE, the writing is very dry and your ambition should not be to read it cover-to-cover. But it is a fantastic book with tons of insight and will make you a better programmer one day.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51H17R%2BbW8L._SX331_BO1,204,203,200_.jpg" />
    ### Structure and Interpretation of Computer Programs — *Advanced*

    http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871

    Another legend. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51F6Lwyq5JL._SX348_BO1,204,203,200_.jpg" />
    ### Cracking the Coding Interview: 150 Programming Questions and Solutions — *Intermediate*

    http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X
    https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/

    An instant classic, reviews common whiteboarding problems used in industry interviews. Great for data structures and algorithms practice, good preparation and companion with REACTO in senior phase.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5186uqUuDUL._SX376_BO1,204,203,200_.jpg" />
    ### The Algorithm Design Manual — Steven Skiena — Intermediate/Advanced

    http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202
    @@ -119,16 +116,39 @@ No JS, but a very clearly-written and enjoyable reference for diving deeper into

    # Industry/Interpersonal

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._SX396_BO1,204,203,200_.jpg" />
    ### The Pragmatic Programmer: From Journeyman to Master

    http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X

    Another legend. Once again, not Javascript specific, this book is concerned moreso with how programmers communicate with their peers and others -- through what they write and what they say. Much shorter than the above, and the writing is loose and funny. Once again, the goal is to explore and teach how to be an effective programmer as opposed to a programmer that simply gets things to work.

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51qMMe-3o5L._SX346_BO1,204,203,200_.jpg" />
    ### Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams

    http://www.amazon.com/Managing-Unmanageable-Insights-Software-People/dp/032182203X

    This book is does not instruct on programming at all: it is about the industry, a programmer's day-to-day, how effective programming teams function and how to be a good manager of software teams. Even if you are not planning to be a manager, this advice will apply to your understanding of YOUR manager/lead developer and the dynamics of the team around you, as well as give you interpersonal tips for your job search.

    ### Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition
    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5180w1hSjAL._SX392_BO1,204,203,200_.jpg" />
    ### Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition

    https://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364

    More job search advice, focusing on the process, but also including coding examples in C, C++, C# and Java.

    # Angular.js

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920033486/cat.gif" />
    ### AngularJS Up and Running by O'Reilly — *Beginner/Intermediate*

    http://shop.oreilly.com/product/0636920033486.do

    More of an introduction to Angular, goes over the basics you would expect. Written by some of the core Angular team.

    <img align="right" height="100px" src="https://www.ng-book.com/images/flatbook-ngbook-small.png" />
    ### ng-book — *Intermediate/Advanced*

    https://www.ng-book.com/

    The most commonly recommended book on Angular, is very thorough about a bunch of different concepts, including advanced topics of bootstrapping, how directives work under the hood, etc.. Can sometimes make assumptions about reader's knowledge and is usually better read by hopping around chapters.
  16. glebec revised this gist Apr 7, 2017. 1 changed file with 6 additions and 11 deletions.
    17 changes: 6 additions & 11 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -1,30 +1,25 @@
    # Javascript

    <div>
    <img align="left" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />

    ### Javascript: The Good Parts — *Beginner/Intermediate*

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).
    </div>

    <div>
    <img align="left" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51%2BSiphz7AL._SX377_BO1,204,203,200_.jpg" />

    ### Javascript Design Patterns (Stoyan Stefanov) — *Intermediate*

    <img align="right" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51%2BSiphz7AL._SX377_BO1,204,203,200_.jpg" />

    http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752

    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies.
    </div>

    <div>
    <img align="left" height="100px" src="https://github.com/getify/You-Dont-Know-JS/raw/master/up%20%26%20going/cover.jpg" />

    ### You Don't Know JS Series — *Intermediate/Advanced*

    <img align="right" height="100px" src="http://akamaicovers.oreilly.com/images/0636920026327/cat.gif" />

    https://github.com/getify/You-Dont-Know-JS

    A review of the Javascript's basic features, but in a very deep and different way. Will give you insight into how a Javascript engine thinks about the language, parses text, etc. Will be recommended to you again and again -- it is a more complex read but extremely insightful.
  17. glebec revised this gist Apr 7, 2017. 1 changed file with 9 additions and 2 deletions.
    11 changes: 9 additions & 2 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    # Javascript

    <div>
    <img align="left" height="200px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />
    <img align="left" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />

    ### Javascript: The Good Parts — *Beginner/Intermediate*

    @@ -10,18 +10,25 @@ http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742
    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).
    </div>

    ### Javascript Design Patterns (Stoyan Stefanov) -- *Intermediate*
    <div>
    <img align="left" height="100px" src="https://images-na.ssl-images-amazon.com/images/I/51%2BSiphz7AL._SX377_BO1,204,203,200_.jpg" />

    ### Javascript Design Patterns (Stoyan Stefanov) — *Intermediate*

    http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752

    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies.
    </div>

    <div>
    <img align="left" height="100px" src="https://github.com/getify/You-Dont-Know-JS/raw/master/up%20%26%20going/cover.jpg" />

    ### You Don't Know JS Series — *Intermediate/Advanced*

    https://github.com/getify/You-Dont-Know-JS

    A review of the Javascript's basic features, but in a very deep and different way. Will give you insight into how a Javascript engine thinks about the language, parses text, etc. Will be recommended to you again and again -- it is a more complex read but extremely insightful.
    </div>

    ### Human Javascript — *Intermediate*

  18. glebec revised this gist Apr 7, 2017. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -1,12 +1,14 @@
    # Javascript

    ### Javascript: The Good Parts — *Beginner/Intermediate*

    <div>
    <img align="left" height="200px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />

    ### Javascript: The Good Parts — *Beginner/Intermediate*

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).
    </div>

    ### Javascript Design Patterns (Stoyan Stefanov) -- *Intermediate*

  19. glebec revised this gist Apr 7, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion books.md
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@

    ### Javascript: The Good Parts — *Beginner/Intermediate*

    [![Cover](https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg)](http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742)
    <img align="left" height="200px" src="https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg" />

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

  20. glebec revised this gist Apr 7, 2017. No changes.
  21. glebec revised this gist Apr 7, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions books.md
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,8 @@

    ### Javascript: The Good Parts — *Beginner/Intermediate*

    [![Cover](https://images-na.ssl-images-amazon.com/images/I/5166ztxOm9L._SX381_BO1,204,203,200_.jpg)](http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742)

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).
  22. glebec renamed this gist Apr 7, 2017. 1 changed file with 16 additions and 16 deletions.
    32 changes: 16 additions & 16 deletions gistfile1.md → books.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    # Javascript

    ### Javascript: The Good Parts -- *Beginner/Intermediate*
    ### Javascript: The Good Parts *Beginner/Intermediate*

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    @@ -13,99 +13,99 @@ http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752
    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies.


    ### You Don't Know JS Series -- *Intermediate/Advanced*
    ### You Don't Know JS Series *Intermediate/Advanced*

    https://github.com/getify/You-Dont-Know-JS

    A review of the Javascript's basic features, but in a very deep and different way. Will give you insight into how a Javascript engine thinks about the language, parses text, etc. Will be recommended to you again and again -- it is a more complex read but extremely insightful.

    ### Human Javascript -- *Intermediate*
    ### Human Javascript *Intermediate*

    http://read.humanjavascript.com/

    This book is moreso about writing Javascript that not only works, but is elegant and maintainable by yourself and your collaborators. It will not dwell on how Javascript itself works or its features, but moreso on patterns to be used for solving problems in sane, controllable ways. A good read for someone looking to understand these problems and start exploring the **craft** of writing good code.

    ### Secrets of the Javascript Ninja -- *Beginner/Intermediate*
    ### Secrets of the Javascript Ninja *Beginner/Intermediate*

    https://www.manning.com/books/secrets-of-the-javascript-ninja

    A fairly large book, and lots about cross-browser DOM differences. Addresses a large range of concepts from Javascript features, how Regex is used, how the DOM is wrangled.

    ### Javascript Allongé -- *Advanced*
    ### Javascript Allongé *Advanced*

    https://leanpub.com/javascript-allonge

    A heavy, fast-paced book about Javascript and design pattern concepts. The writing is complex, a bit unforgiving at times, but brilliant. Addresses different strategies for object composition, building different constructs and code clarity/reusability.

    ### Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript -- *Beginner/Intermediate*
    ### Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript *Beginner/Intermediate*

    http://www.amazon.com/Effective-JavaScript-Specific-Software-Development/dp/0321812182

    Broken into 68 different concepts and "did-you-knows" about Javascript, easy to pick up and read for 10 minutes and put down again. Very well-written and exposes a lot of different quirks of Javascript.

    ### If Hemingway Wrote JavaScript -- *Beginner/Intermediate*
    ### If Hemingway Wrote JavaScript *Beginner/Intermediate*

    https://www.nostarch.com/hemingway

    A fun read! Takes a problem and solves in a variety of different ways as if the solutions had been written in the style of famous authors, including, as you might expect, Ernest Hemingway. Interesting to see the different ways a single problem could be solved as well as what a "different style" of programming could possibly look like.

    # Angular.js

    ### AngularJS Up and Running by O'Reilly -- *Beginner/Intermediate*
    ### AngularJS Up and Running by O'Reilly *Beginner/Intermediate*

    http://shop.oreilly.com/product/0636920033486.do

    More of an introduction to Angular, goes over the basics you would expect. Written by some of the core Angular team.

    ### ng-book -- *Intermediate/Advanced*
    ### ng-book *Intermediate/Advanced*

    https://www.ng-book.com/

    The most commonly recommended book on Angular, is very thorough about a bunch of different concepts, including advanced topics of bootstrapping, how directives work under the hood, etc.. Can sometimes make assumptions about reader's knowledge and is usually better read by hopping around chapters.

    # Node/Back-end Programming

    ### Node.js the Right Way -- *Beginner/Intermediate*
    ### Node.js the Right Way *Beginner/Intermediate*

    https://pragprog.com/book/jwnode/node-js-the-right-way

    A short but dense book, goes over the concepts of Node, what makes it different from other platforms, and its basics like CommonJS, building servers, using TCP sockets. Recommended for review and some new concepts.

    ### MongoDB: The Definitive Guide: Edition 2 -- *Beginner/Intermediate/Advanced*
    ### MongoDB: The Definitive Guide: Edition 2 *Beginner/Intermediate/Advanced*

    http://shop.oreilly.com/product/0636920028031.do

    This book starts off simple and moves quickly into advanced concepts of MongoDB like indexing, sharding, scaling. Good for those interested in why MongoDB is used, advanced concepts and how it differs from other database systems.

    ### Domain-Driven Design: Tackling Complexity in the Heart of Software -- *Advanced*
    ### Domain-Driven Design: Tackling Complexity in the Heart of Software *Advanced*

    http://digitalsoftocean.com/product/domain-driven-design-tackling-complexity-in-the-heart-of-software/?gclid=CJHrjeqp1MkCFQEnHwodbOkOrA

    Not about Javascript, Node or MongoDB, but a classic software book about strict ideas of architecture which are very relevant to back-end programming and database theory. Not for the faint of heart, but an excellent read for those ready to learn about the importance of application architecture at scale.

    # Generic Programming

    ### Code Complete 2nd Edition -- *Advanced*
    ### Code Complete 2nd Edition *Advanced*

    http://cc2e.com/

    A legendary book, my (Joe's) favorite book about software. It is not Javascript specific--in fact, at one point, it literally calls Javascript a toy language, which is okay because the book is fairly old. It addresses almost EVERYTHING relevant to programming, including how to think about software, name variables, create modules, communicate with other programmers, communicate with non-programmers about software, write a function, you name it.

    The ultimate point and goal of this book is to distinguish what skills and knowledge allow programs to **work** and what makes those programs **good**. Not for the faint of heart: It is MASSIVE, the writing is very dry and your ambition should not be to read it cover-to-cover. But it is a fantastic book with tons of insight and will make you a better programmer one day.

    ### Structure and Interpretation of Computer Programs -- *Advanced*
    ### Structure and Interpretation of Computer Programs *Advanced*

    http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871

    Another legend. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.

    ### Cracking the Coding Interview: 150 Programming Questions and Solutions --- *Intermediate*
    ### Cracking the Coding Interview: 150 Programming Questions and Solutions *Intermediate*

    http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X

    An instant classic, reviews common whiteboarding problems used in industry interviews. Great for data structures and algorithms practice, good preparation and companion with REACTO in senior phase.

    ### The Algorithm Design Manual — Steven Skiena -- Intermediate/Advanced
    ### The Algorithm Design Manual — Steven Skiena Intermediate/Advanced

    http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202

  23. @joedotjs joedotjs revised this gist Dec 11, 2015. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -125,3 +125,4 @@ http://www.amazon.com/Managing-Unmanageable-Insights-Software-People/dp/03218220

    This book is does not instruct on programming at all: it is about the industry, a programmer's day-to-day, how effective programming teams function and how to be a good manager of software teams. Even if you are not planning to be a manager, this advice will apply to your understanding of YOUR manager/lead developer and the dynamics of the team around you, as well as give you interpersonal tips for your job search.

    ### Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition
  24. @joedotjs joedotjs revised this gist Dec 11, 2015. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -105,6 +105,12 @@ http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782

    An instant classic, reviews common whiteboarding problems used in industry interviews. Great for data structures and algorithms practice, good preparation and companion with REACTO in senior phase.

    ### The Algorithm Design Manual — Steven Skiena -- Intermediate/Advanced

    http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202

    No JS, but a very clearly-written and enjoyable reference for diving deeper into data structures and algorithms. Examples are in pseudocode / simple C but are not too challenging to follow. A large book that will take a long time to finish but will definitely improve your understanding of fundamental computer science topics.

    # Industry/Interpersonal

    ### The Pragmatic Programmer: From Journeyman to Master
  25. @joedotjs joedotjs revised this gist Dec 11, 2015. 1 changed file with 16 additions and 7 deletions.
    23 changes: 16 additions & 7 deletions gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -93,20 +93,29 @@ A legendary book, my (Joe's) favorite book about software. It is not Javascript

    The ultimate point and goal of this book is to distinguish what skills and knowledge allow programs to **work** and what makes those programs **good**. Not for the faint of heart: It is MASSIVE, the writing is very dry and your ambition should not be to read it cover-to-cover. But it is a fantastic book with tons of insight and will make you a better programmer one day.

    ### The Pragmatic Programmer: From Journeyman to Master -- *Intermediate/Advanced*

    http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X

    Another legend. Once again, not Javascript specific, this book is concerned moreso with how programmers communicate with their peers and others -- through what they write and what they say. Much shorter than the above, and the writing is loose and funny. Once again, the goal is to explore and teach how to be an effective programmer as opposed to a programmer that simply gets things to work.

    ### Structure and Interpretation of Computer Programs -- *Advanced*

    http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871

    Another legend. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.

    ### Cracking the Coding Interview: 150 Programming Questions and Solutions --- *Intermediate*

    http://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X

    An instant classic, reviews common whiteboarding problems used in industry interviews. Great for data structures and algorithms practice, good preparation and companion with REACTO in senior phase.

    # Industry/Interpersonal

    ### The Pragmatic Programmer: From Journeyman to Master

    http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X

    Another legend. Once again, not Javascript specific, this book is concerned moreso with how programmers communicate with their peers and others -- through what they write and what they say. Much shorter than the above, and the writing is loose and funny. Once again, the goal is to explore and teach how to be an effective programmer as opposed to a programmer that simply gets things to work.

    ### Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams

    http://www.amazon.com/Managing-Unmanageable-Insights-Software-People/dp/032182203X

    This book is does not instruct on programming at all: it is about the industry, a programmer's day-to-day, how effective programming teams function and how to be a good manager of software teams. Even if you are not planning to be a manager, this advice will apply to your understanding of YOUR manager/lead developer and the dynamics of the team around you, as well as give you interpersonal tips for your job search.
    This book is does not instruct on programming at all: it is about the industry, a programmer's day-to-day, how effective programming teams function and how to be a good manager of software teams. Even if you are not planning to be a manager, this advice will apply to your understanding of YOUR manager/lead developer and the dynamics of the team around you, as well as give you interpersonal tips for your job search.

  26. @joedotjs joedotjs revised this gist Dec 11, 2015. 1 changed file with 7 additions and 1 deletion.
    8 changes: 7 additions & 1 deletion gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -103,4 +103,10 @@ Another legend. Once again, not Javascript specific, this book is concerned more

    http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871

    Another legend. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.
    Another legend. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.

    ### Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams

    http://www.amazon.com/Managing-Unmanageable-Insights-Software-People/dp/032182203X

    This book is does not instruct on programming at all: it is about the industry, a programmer's day-to-day, how effective programming teams function and how to be a good manager of software teams. Even if you are not planning to be a manager, this advice will apply to your understanding of YOUR manager/lead developer and the dynamics of the team around you, as well as give you interpersonal tips for your job search.
  27. @joedotjs joedotjs revised this gist Dec 11, 2015. 1 changed file with 32 additions and 2 deletions.
    34 changes: 32 additions & 2 deletions gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -8,69 +8,99 @@ Legendary book, a must-read for any Javascript programmer at least once. Goes in

    ### Javascript Design Patterns (Stoyan Stefanov) -- *Intermediate*

    http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752

    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies.


    ### You Don't Know JS Series -- *Intermediate/Advanced*

    https://github.com/getify/You-Dont-Know-JS

    A review of the Javascript's basic features, but in a very deep and different way. Will give you insight into how a Javascript engine thinks about the language, parses text, etc. Will be recommended to you again and again -- it is a more complex read but extremely insightful.

    ### Human Javascript -- *Intermediate*

    http://read.humanjavascript.com/

    This book is moreso about writing Javascript that not only works, but is elegant and maintainable by yourself and your collaborators. It will not dwell on how Javascript itself works or its features, but moreso on patterns to be used for solving problems in sane, controllable ways. A good read for someone looking to understand these problems and start exploring the **craft** of writing good code.

    ### Secrets of the Javascript Ninja -- *Beginner/Intermediate*

    https://www.manning.com/books/secrets-of-the-javascript-ninja

    A fairly large book, and lots about cross-browser DOM differences. Addresses a large range of concepts from Javascript features, how Regex is used, how the DOM is wrangled.

    ### Javascript Allongé -- *Advanced*

    https://leanpub.com/javascript-allonge

    A heavy, fast-paced book about Javascript and design pattern concepts. The writing is complex, a bit unforgiving at times, but brilliant. Addresses different strategies for object composition, building different constructs and code clarity/reusability.

    ### Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript -- *Beginner/Intermediate*

    http://www.amazon.com/Effective-JavaScript-Specific-Software-Development/dp/0321812182

    Broken into 68 different concepts and "did-you-knows" about Javascript, easy to pick up and read for 10 minutes and put down again. Very well-written and exposes a lot of different quirks of Javascript.

    ### If Hemingway Wrote JavaScript -- *Beginner/Intermediate*

    https://www.nostarch.com/hemingway

    A fun read! Takes a problem and solves in a variety of different ways as if the solutions had been written in the style of famous authors, including, as you might expect, Ernest Hemingway. Interesting to see the different ways a single problem could be solved as well as what a "different style" of programming could possibly look like.

    # Angular.js

    ### AngularJS by O'Reilly -- *Beginner/Intermediate*
    ### AngularJS Up and Running by O'Reilly -- *Beginner/Intermediate*

    http://shop.oreilly.com/product/0636920033486.do

    More of an introduction to Angular, goes over the basics you would expect. Written by some of the core Angular team.

    ### ng-book -- *Intermediate/Advanced*
    ### ng-book -- *Intermediate/Advanced*

    https://www.ng-book.com/

    The most commonly recommended book on Angular, is very thorough about a bunch of different concepts, including advanced topics of bootstrapping, how directives work under the hood, etc.. Can sometimes make assumptions about reader's knowledge and is usually better read by hopping around chapters.

    # Node/Back-end Programming

    ### Node.js the Right Way -- *Beginner/Intermediate*

    https://pragprog.com/book/jwnode/node-js-the-right-way

    A short but dense book, goes over the concepts of Node, what makes it different from other platforms, and its basics like CommonJS, building servers, using TCP sockets. Recommended for review and some new concepts.

    ### MongoDB: The Definitive Guide: Edition 2 -- *Beginner/Intermediate/Advanced*

    http://shop.oreilly.com/product/0636920028031.do

    This book starts off simple and moves quickly into advanced concepts of MongoDB like indexing, sharding, scaling. Good for those interested in why MongoDB is used, advanced concepts and how it differs from other database systems.

    ### Domain-Driven Design: Tackling Complexity in the Heart of Software -- *Advanced*

    http://digitalsoftocean.com/product/domain-driven-design-tackling-complexity-in-the-heart-of-software/?gclid=CJHrjeqp1MkCFQEnHwodbOkOrA

    Not about Javascript, Node or MongoDB, but a classic software book about strict ideas of architecture which are very relevant to back-end programming and database theory. Not for the faint of heart, but an excellent read for those ready to learn about the importance of application architecture at scale.

    # Generic Programming

    ### Code Complete 2nd Edition -- *Advanced*

    http://cc2e.com/

    A legendary book, my (Joe's) favorite book about software. It is not Javascript specific--in fact, at one point, it literally calls Javascript a toy language, which is okay because the book is fairly old. It addresses almost EVERYTHING relevant to programming, including how to think about software, name variables, create modules, communicate with other programmers, communicate with non-programmers about software, write a function, you name it.

    The ultimate point and goal of this book is to distinguish what skills and knowledge allow programs to **work** and what makes those programs **good**. Not for the faint of heart: It is MASSIVE, the writing is very dry and your ambition should not be to read it cover-to-cover. But it is a fantastic book with tons of insight and will make you a better programmer one day.

    ### The Pragmatic Programmer: From Journeyman to Master -- *Intermediate/Advanced*

    http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X

    Another legend. Once again, not Javascript specific, this book is concerned moreso with how programmers communicate with their peers and others -- through what they write and what they say. Much shorter than the above, and the writing is loose and funny. Once again, the goal is to explore and teach how to be an effective programmer as opposed to a programmer that simply gets things to work.

    ### Structure and Interpretation of Computer Programs -- *Advanced*

    http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871

    Another legend. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.
  28. @joedotjs joedotjs revised this gist Dec 11, 2015. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,8 @@

    ### Javascript: The Good Parts -- *Beginner/Intermediate*

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).

    ### Javascript Design Patterns (Stoyan Stefanov) -- *Intermediate*
  29. @joedotjs joedotjs revised this gist Dec 11, 2015. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -25,6 +25,14 @@ A fairly large book, and lots about cross-browser DOM differences. Addresses a l

    A heavy, fast-paced book about Javascript and design pattern concepts. The writing is complex, a bit unforgiving at times, but brilliant. Addresses different strategies for object composition, building different constructs and code clarity/reusability.

    ### Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript -- *Beginner/Intermediate*

    Broken into 68 different concepts and "did-you-knows" about Javascript, easy to pick up and read for 10 minutes and put down again. Very well-written and exposes a lot of different quirks of Javascript.

    ### If Hemingway Wrote JavaScript -- *Beginner/Intermediate*

    A fun read! Takes a problem and solves in a variety of different ways as if the solutions had been written in the style of famous authors, including, as you might expect, Ernest Hemingway. Interesting to see the different ways a single problem could be solved as well as what a "different style" of programming could possibly look like.

    # Angular.js

    ### AngularJS by O'Reilly -- *Beginner/Intermediate*
  30. @joedotjs joedotjs revised this gist Dec 11, 2015. 1 changed file with 22 additions and 13 deletions.
    35 changes: 22 additions & 13 deletions gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -1,57 +1,66 @@
    # Javascript

    ## Javascript: The Good Parts -- *Beginner/Intermediate*
    ### Javascript: The Good Parts -- *Beginner/Intermediate*

    Legendary book, a must-read for any Javascript programmer at least once. Goes into the basics of Javascript with the assumption that the reader is an experienced programmer already, coming from another language or already understands a fair bit about Javascript itself. Very good review of basics and more advanced concepts (like scope/closure, functions as first class objects, etc).

    ## Javascript Design Patterns (Stoyan Stefanov) -- *Intermediate*
    ### Javascript Design Patterns (Stoyan Stefanov) -- *Intermediate*

    A fairly small book about what design patterns are and how to implement/make use of them in Javascript. Lots of practical use of closures, IIFEs and other advanced strategies.


    ## You Don't Know JS Series -- *Intermediate/Advanced*
    ### You Don't Know JS Series -- *Intermediate/Advanced*

    A review of the Javascript's basic features, but in a very deep and different way. Will give you insight into how a Javascript engine thinks about the language, parses text, etc. Will be recommended to you again and again -- it is a more complex read but extremely insightful.

    ## Human Javascript -- *Intermediate*
    ### Human Javascript -- *Intermediate*

    This book is moreso about writing Javascript that not only works, but is elegant and maintainable by yourself and your collaborators. It will not dwell on how Javascript itself works or its features, but moreso on patterns to be used for solving problems in sane, controllable ways. A good read for someone looking to understand these problems and start exploring the **craft** of writing good code.

    ## Secrets of the Javascript Ninja -- *Beginner/Intermediate*
    ### Secrets of the Javascript Ninja -- *Beginner/Intermediate*

    A fairly large book, and lots about cross-browser DOM differences. Addresses a large range of concepts from Javascript features, how Regex is used, how the DOM is wrangled.

    ## Javascript Allongé -- *Advanced*
    ### Javascript Allongé -- *Advanced*

    A heavy, fast-paced book about Javascript and design pattern concepts. The writing is complex, a bit unforgiving at times, but brilliant. Addresses different strategies for object composition, building different constructs and code clarity/reusability.

    # Angular.js

    ## AngularJS by O'Reilly -- *Beginner/Intermediate*
    ### AngularJS by O'Reilly -- *Beginner/Intermediate*

    More of an introduction to Angular, goes over the basics you would expect. Written by some of the core Angular team.

    ## ng-book -- *Intermediate/Advanced*
    ### ng-book -- *Intermediate/Advanced*

    The most commonly recommended book on Angular, is very thorough about a bunch of different concepts, including advanced topics of bootstrapping, how directives work under the hood, etc.. Can sometimes make assumptions about reader's knowledge and is usually better read by hopping around chapters.

    # Node/Back-end Programming

    ## Node.js the Right Way -- *Beginner/Intermediate*
    ### Node.js the Right Way -- *Beginner/Intermediate*

    A short but dense book, goes over the concepts of Node, what makes it different from other platforms, and its basics like CommonJS, building servers, using TCP sockets. Recommended for review and some new concepts.

    ## MongoDB: The Definitive Guide: Edition 2 -- *Beginner/Intermediate/Advanced*
    ### MongoDB: The Definitive Guide: Edition 2 -- *Beginner/Intermediate/Advanced*

    This book starts off simple and moves quickly into advanced concepts of MongoDB like indexing, sharding, scaling. Good for those interested in why MongoDB is used, advanced concepts and how it differs from other database systems.

    ## Domain-Driven Design: Tackling Complexity in the Heart of Software -- *Advanced*
    ### Domain-Driven Design: Tackling Complexity in the Heart of Software -- *Advanced*

    Not about Javascript, Node or MongoDB, but a classic software book about strict ideas of architecture which are very relevant to back-end programming and database theory. Not for the faint of heart, but an excellent read for those ready to learn about the importance of application architecture at scale.

    # Generic Programming

    ## Code Complete 2nd Edition -- *Advanced*
    ### Code Complete 2nd Edition -- *Advanced*

    This book is my (Joe) favorite book about software. It
    A legendary book, my (Joe's) favorite book about software. It is not Javascript specific--in fact, at one point, it literally calls Javascript a toy language, which is okay because the book is fairly old. It addresses almost EVERYTHING relevant to programming, including how to think about software, name variables, create modules, communicate with other programmers, communicate with non-programmers about software, write a function, you name it.

    The ultimate point and goal of this book is to distinguish what skills and knowledge allow programs to **work** and what makes those programs **good**. Not for the faint of heart: It is MASSIVE, the writing is very dry and your ambition should not be to read it cover-to-cover. But it is a fantastic book with tons of insight and will make you a better programmer one day.

    ### The Pragmatic Programmer: From Journeyman to Master -- *Intermediate/Advanced*

    Another legend. Once again, not Javascript specific, this book is concerned moreso with how programmers communicate with their peers and others -- through what they write and what they say. Much shorter than the above, and the writing is loose and funny. Once again, the goal is to explore and teach how to be an effective programmer as opposed to a programmer that simply gets things to work.

    ### Structure and Interpretation of Computer Programs -- *Advanced*

    Another legend. Not Javascript specific (implements its examples in Perl, mostly). This book addresses effective ways to **think** about software, specifically the mental models necessary to understand the organization and operations of software, including abstraction, code flow and composition.