Last active
October 13, 2021 23:30
-
-
Save sbuggay/8959b63210472004af717c0c5fafa6bc to your computer and use it in GitHub Desktop.
Revisions
-
sbuggay revised this gist
Jun 9, 2019 . 1 changed file with 2 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 @@ -7,7 +7,7 @@ - Introduction to Algorithms - The Algorithm Design Manual - Effective Java - Concurrent Programming in Java: Design Principles and Pattern - Modern Operating Systems - Programming Pearls - Discrete Mathematics for Computer Scientists @@ -51,6 +51,7 @@ ### Read This First - The Pragmatic Programmer: From Journeyman to Master - Personal Development for Smart People: The Conscious Pursuit of Personal Growth ### Fundementals -
sbuggay revised this gist
Jun 9, 2019 . 1 changed file with 1 addition and 8 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,11 +1,4 @@ # Books ## Job Interview Prep -
sbuggay revised this gist
Jun 9, 2019 . 1 changed file with 128 additions and 118 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,168 +1,178 @@ --- title: Must Read tags: [IRC/General] created: '2019-06-09T01:02:30.882Z' modified: '2019-06-09T01:10:56.162Z' --- # Must Read ## Job Interview Prep - Cracking the Coding Interview: 189 Programming Questions and Solutions - Programming Interviews Exposed: Coding Your Way Through the Interview - Introduction to Algorithms - The Algorithm Design Manual - Effective Java - Concurrent Programming in Java: Design Principles and Pattern - Modern Operating Systems - Programming Pearls - Discrete Mathematics for Computer Scientists ## Junior Software Engineer Reading List ### Read This First - Pragmatic Thinking and Learning: Refactor Your Wetware ### Fundementals - Code Complete: A Practical Handbook of Software Construction - Software Estimation: Demystifying the Black Art - Software Engineering: A Practitioner's Approach - Refactoring: Improving the Design of Existing Code - Coder to Developer: Tools and Strategies for Delivering Your Software - Perfect Software: And Other Illusions about Testing - Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application - Understanding Professional Software Environments - Agile Software Development: The Cooperative Game - Software Project Survival Guide - The Best Software Writing I: Selected and Introduced by Joel Spolsky - Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams - Rapid Development: Taming Wild Software Schedules - Peopleware: Productive Projects and Teams ### Mentality - Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency - Against Method - The Passionate Programmer: Creating a Remarkable Career in Software Development ### History - The Mythical Man-Month: Essays on Software Engineering - Computing Calamities: Lessons Learned from Products, Projects, and Companies That Failed - The Deadline: A Novel About Project Management ## Mid Level Software Engineer Reading List ### Read This First - Personal Development for Smart People: The Conscious Pursuit of Personal Growth ### Fundementals - The Clean Coder: A Code of Conduct for Professional Programmers - Clean Code: A Handbook of Agile Software Craftsmanship - Solid Code - Code Craft: The Practice of Writing Excellent Code - Software Craftsmanship: The New Imperative - Writing Solid Code ### Software Design - Head First Design Patterns: A Brain-Friendly Guide - Design Patterns: Elements of Reusable Object-Oriented Software - Domain-Driven Design: Tackling Complexity in the Heart of Software - Domain-Driven Design Distilled - Design Patterns Explained: A New Perspective on Object-Oriented Design - Design Patterns in C# - Even though this is specific to C# the pattern can be used in any OO language. - Refactoring to Patterns ### Software Engineering Skill Sets - Building Microservices: Designing Fine-Grained Systems - Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools - NoEstimates: How To Measure Project Progress Without Estimating - Object-Oriented Software Construction - The Art of Software Testing - Release It!: Design and Deploy Production-Ready Software - Working Effectively with Legacy Code - Test Driven Development: By Example ### Databases - Database System Concepts - Database Management Systems - Foundation for Object / Relational Databases: The Third Manifesto - Refactoring Databases: Evolutionary Database Design - Data Access Patterns: Database Interactions in Object-Oriented Applications ### User Experience - Don't Make Me Think: A Common Sense Approach to Web Usability - The Design of Everyday Things - Programming Collective Intelligence: Building Smart Web 2.0 Applications - User Interface Design for Programmers - GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos ### Mentality - The Productive Programmer - Extreme Programming Explained: Embrace Change - Coders at Work: Reflections on the Craft of Programming - Facts and Fallacies of Software Engineering ### History - Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software - New Turning Omnibus: 66 Excursions in Computer Science - Hacker's Delight - The Alchemist - Masterminds of Programming: Conversations with the Creators of Major Programming Languages - The Information: A History, A Theory, A Flood ## Specialist Skills In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design. - Peter Norton's Assembly Language Book for the IBM PC - Expert C Programming: Deep C Secrets - Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming - The C++ Programming Language - Effective C++: 55 Specific Ways to Improve Your Programs and Designs - More Effective C++: 35 New Ways to Improve Your Programs and Designs - More Effective C#: 50 Specific Ways to Improve Your C# - CLR via C# - Mr. Bunny's Big Cup o' Java - Thinking in Java - JUnit in Action - Functional Programming in Scala - The Art of Prolog: Advanced Programming Techniques - The Craft of Prolog - Programming Perl: Unmatched Power for Text Processing and Scripting - Dive into Python 3 - why's (poignant) guide to Ruby ## Computer Science Grad School Reading List - All the Mathematics You Missed: But Need to Know for Graduate School - Introductory Linear Algebra: An Applied First Course - Introduction to Probability - The Structure of Scientific Revolutions - Science in Action: How to Follow Scientists and Engineers Through Society - Proofs and Refutations: The Logic of Mathematical Discovery - What Is This Thing Called Science? - The Art of Computer Programming - The Little Schemer - The Seasoned Schemer - Data Structures Using C and C++ - Algorithms + Data Structures = Programs - Structure and Interpretation of Computer Programs - Concepts, Techniques, and Models of Computer Programming - How to Design Programs: An Introduction to Programming and Computing - A Science of Operations: Machines, Logic and the Invention of Programming - Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology - The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation - The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine - Computability: An Introduction to Recursive Function Theory - How To Solve It: A New Aspect of Mathematical Method - Types and Programming Languages - Computer Algebra and Symbolic Computation: Elementary Algorithms - Computer Algebra and Symbolic Computation: Mathematical Methods - Commonsense Reasoning - Using Language - Computer Vision - Alice's Adventures in Wonderland - Gödel, Escher, Bach: An Eternal Golden Braid -
sbuggay created this gist
Jun 9, 2019 .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,168 @@ # Must Read ## Job Interview Prep Cracking the Coding Interview: 189 Programming Questions and Solutions Programming Interviews Exposed: Coding Your Way Through the Interview Introduction to Algorithms The Algorithm Design Manual Effective Java Concurrent Programming in Java: Design Principles and Pattern Modern Operating Systems Programming Pearls Discrete Mathematics for Computer Scientists ## Junior Software Engineer Reading List ### Read This First Pragmatic Thinking and Learning: Refactor Your Wetware ### Fundementals Code Complete: A Practical Handbook of Software Construction Software Estimation: Demystifying the Black Art Software Engineering: A Practitioner's Approach Refactoring: Improving the Design of Existing Code Coder to Developer: Tools and Strategies for Delivering Your Software Perfect Software: And Other Illusions about Testing Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application Understanding Professional Software Environments Agile Software Development: The Cooperative Game Software Project Survival Guide The Best Software Writing I: Selected and Introduced by Joel Spolsky Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams Rapid Development: Taming Wild Software Schedules Peopleware: Productive Projects and Teams ### Mentality Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency Against Method The Passionate Programmer: Creating a Remarkable Career in Software Development ### History The Mythical Man-Month: Essays on Software Engineering Computing Calamities: Lessons Learned from Products, Projects, and Companies That Failed The Deadline: A Novel About Project Management ## Mid Level Software Engineer Reading List ### Read This First Personal Development for Smart People: The Conscious Pursuit of Personal Growth ### Fundementals The Clean Coder: A Code of Conduct for Professional Programmers Clean Code: A Handbook of Agile Software Craftsmanship Solid Code Code Craft: The Practice of Writing Excellent Code Software Craftsmanship: The New Imperative Writing Solid Code ### Software Design Head First Design Patterns: A Brain-Friendly Guide Design Patterns: Elements of Reusable Object-Oriented Software Domain-Driven Design: Tackling Complexity in the Heart of Software Domain-Driven Design Distilled Design Patterns Explained: A New Perspective on Object-Oriented Design Design Patterns in C# - Even though this is specific to C# the pattern can be used in any OO language. Refactoring to Patterns ### Software Engineering Skill Sets Building Microservices: Designing Fine-Grained Systems Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools NoEstimates: How To Measure Project Progress Without Estimating Object-Oriented Software Construction The Art of Software Testing Release It!: Design and Deploy Production-Ready Software Working Effectively with Legacy Code Test Driven Development: By Example ### Databases Database System Concepts Database Management Systems Foundation for Object / Relational Databases: The Third Manifesto Refactoring Databases: Evolutionary Database Design Data Access Patterns: Database Interactions in Object-Oriented Applications ### User Experience Don't Make Me Think: A Common Sense Approach to Web Usability The Design of Everyday Things Programming Collective Intelligence: Building Smart Web 2.0 Applications User Interface Design for Programmers GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos ### Mentality The Productive Programmer Extreme Programming Explained: Embrace Change Coders at Work: Reflections on the Craft of Programming Facts and Fallacies of Software Engineering ### History Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software New Turning Omnibus: 66 Excursions in Computer Science Hacker's Delight The Alchemist Masterminds of Programming: Conversations with the Creators of Major Programming Languages The Information: A History, A Theory, A Flood ## Specialist Skills In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design. Peter Norton's Assembly Language Book for the IBM PC Expert C Programming: Deep C Secrets Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming The C++ Programming Language Effective C++: 55 Specific Ways to Improve Your Programs and Designs More Effective C++: 35 New Ways to Improve Your Programs and Designs More Effective C#: 50 Specific Ways to Improve Your C# CLR via C# Mr. Bunny's Big Cup o' Java Thinking in Java JUnit in Action Functional Programming in Scala The Art of Prolog: Advanced Programming Techniques The Craft of Prolog Programming Perl: Unmatched Power for Text Processing and Scripting Dive into Python 3 why's (poignant) guide to Ruby ## Computer Science Grad School Reading List All the Mathematics You Missed: But Need to Know for Graduate School Introductory Linear Algebra: An Applied First Course Introduction to Probability The Structure of Scientific Revolutions Science in Action: How to Follow Scientists and Engineers Through Society Proofs and Refutations: The Logic of Mathematical Discovery What Is This Thing Called Science? The Art of Computer Programming The Little Schemer The Seasoned Schemer Data Structures Using C and C++ Algorithms + Data Structures = Programs Structure and Interpretation of Computer Programs Concepts, Techniques, and Models of Computer Programming How to Design Programs: An Introduction to Programming and Computing A Science of Operations: Machines, Logic and the Invention of Programming Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine Computability: An Introduction to Recursive Function Theory How To Solve It: A New Aspect of Mathematical Method Types and Programming Languages Computer Algebra and Symbolic Computation: Elementary Algorithms Computer Algebra and Symbolic Computation: Mathematical Methods Commonsense Reasoning Using Language Computer Vision Alice's Adventures in Wonderland Gödel, Escher, Bach: An Eternal Golden Braid