Last active
February 27, 2019 22:51
-
-
Save joedotjs/2807153d0d6dcdfde00d to your computer and use it in GitHub Desktop.
Revisions
-
joedotjs revised this gist
Dec 11, 2015 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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 -
joedotjs revised this gist
Dec 11, 2015 . 1 changed file with 6 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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 -
joedotjs revised this gist
Dec 11, 2015 . 1 changed file with 16 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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. ### 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. -
joedotjs revised this gist
Dec 11, 2015 . 1 changed file with 7 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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. ### 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. -
joedotjs revised this gist
Dec 11, 2015 . 1 changed file with 32 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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 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 ### 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. -
joedotjs revised this gist
Dec 11, 2015 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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* -
joedotjs revised this gist
Dec 11, 2015 . 1 changed file with 8 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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* -
joedotjs revised this gist
Dec 11, 2015 . 1 changed file with 22 additions and 13 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,57 +1,66 @@ # Javascript ### 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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. -
joedotjs renamed this gist
Dec 11, 2015 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
joedotjs created this gist
Dec 11, 2015 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,57 @@ # Javascript ## 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* This book is my (Joe) favorite book about software. It