Computer Science Degree @ Self-Taught
Several Years ago, I took a 3-month coding course that got me very interested in programming. Since that time, I began a journey to educate myself in the ways of code.
Below are some of the books / online courses I took along my journey. Enjoy.
Before we dive in...
I've divided up my self-study into several categories:
- Web Development for Beginners
- JavaScript Frameworks
- Databases
- JavaScript as a Language
- Product Management
- Testing / Web Scraping
- Cross-Platform Desktop Experiences
- Random Tools (Docker and Github)
- The Network Layer
- Computer Algorithms
WEB DEVELOPMENT FOR BEGINNERS
AngularJS, JavaScript, and jQuery All in One, Sams Teach Yourself
Brad Dayley
?99.0
Pretty good book for beginners.
It served it's purpose.
Web Design with HTML, CSS, JavaScript and jQuery Set
Jon Duckett
?130.43
A good set for the beginning of my journey - very visually appealing and beginner friendly.
Super glad I started off with resources that motivated me at the beginning.
I gave one of the used copies to my nephew that was visiting Israel for his Bar Mitzvah. He, of course, left the copy in Israel, at my Parents house - the youth don't want to study coding until they waste high-school and college studying worthless information and go into student debt, and can't afford rent.
Learning PHP, MySQL & JavaScript
Robin Nixon
?133.66
This was a great book at the beginning of my web development journey.
It focuses on practical projects, and includes briefer's on JavaScript, PHP, and MySQL Databases (which I plunged into later), which I needed at the time.
PHP & MySQL in easy steps
Mike McGrath
?49.26
I got this book later on in my coding journey. By that point, it was too simplistic.
I will probably end up repackaging and giving to a friend/relative.
JAVASCRIPT FRAMEWORKS
A Smarter Way to Learn jQuery: Learn it faster. Remember it longer. (Volume 3)
Myers, Mark
$19.95
jQuery mainstreamed the concept of "Ajax Requests" - fetching new data to the page without reloading the page.
Eventually, jQuery codebases became unmanageable due to it's flexible 'library' nature.
I have barely started reading this book, but I like the idea of my children seeing it on the shelf (even though my daughter is currently only 1 year old).
AngularJS: Up and Running: Enhanced Productivity with Structured Web Apps
Seshadri, Shyam
$26.73
This was a good book from what I remember. It's currently staying at my parents house in Jerusalem - always good to have a coding book somewhere nearby during the Sabbath.
Pro AngularJS (Expert's Voice in Web Development)
Freeman, Adam
$31.15
A great and thorough view of AngularJS.
A very fat book as well. Half-way through this book I started getting tripped up with the concepts of "Factories" - that's why my next round of Amazon Purchases included "Design Patterns", "JavaScript Closures and Fundamentals" and "Functional Programming".
You can jump into the frameworks if it keeps you motivated, but eventually you'll hit a brick wall if you don't take a step back and take a closer look at the language's quirks and features.
Learning React: Functional Web Development with React and Redux
Banks, Alex
$40.54
Great intro to React and ES6 (the latest version of JavaScript).
Also includes some of the design decisions behind mainstream React Apps - and a breifer on Functional Programming.
DATABASES
Databases let you store information in an organized way, and retrieve it in a meaningful fashion. It is a big part of web applications, and can prove immediate business value.
Storing your data in this way can also help you save years of your life, as opposed chasing down old data within dispersed excel spreadsheets!
a) MySQL: Developer's Library
Paul Dubois
?141.48
Ordered: July 19, 2017
Great Reference Manual. Very Thorough and Authoritative text that covers many of the dimensions of the MySQL database.
MySQL has been a very popular database, popularized by Larry Ellison of Oracle.
It also works great alongside Data Visualization Tools, like Metabase (check out my tutorial series on Metabase here)
b) MongoDB: The Definitive Guide: Powerful and Scalable Data Storage
Chodorow, Kristina
$21.13
MongoDB is a very popular choice amongst Israeli startups. It's also very popular amongst companies using a JavaScript Server - known as NodeJS.
C) Elasticsearch: The Definitive Guide: A Distributed Real-Time Search and Analytics Engine
Gormley, Clinton
$42.86
Looking back, you have to be very careful about which topics you choose to study. You only have a limited amount of time!
ElasticSearch is more common for big-time companies that need to monitor things like server-responsiveness, or companies like Amazon that need to offer lightning-fast Search and Retrieve Features from HUGE datasets.
I haven't had any practical use for ElasticSearch, as of this writing.
Redis Cookbook: Practical Techniques for Fast Data Manipulation
Macedo, Tiago
$19.45
This book is skinny as hell! I should have read the number of pages on the Amazon page.
I think O'Reilly needs to set a minimum for the number of pages per published book. It's simply misleading.
Again, Redis is a caching technology that's used by bigger apps, which I haven't seen the need for as of yet. I think I wanted to get it because of a video I saw: "How Twitter Uses Redis to Scale" or something like that. Should have focused on technologies I may have a need for, as opposed to buzzwords.
PRODUCT MANAGEMENT
Trump, Donald J.
$10.45
An important book to understand the Art of Motivation, Persuasion and Negotiation.
Doesn't matter what you think of Trump as President. Frankly, as an ex-American, currently-Israeli citizen, I haven't heard a peep about Trump in 4 years.
This book was entertaining and well-written (it follows trump from his teen years and first career years to his mid-40's or so)
Hooked: How to Build Habit-Forming Products
Eyal, Nir
$21.39
This was the first book I got about Product Management.
It was interesting, but the downside is that it makes "viral softwhere" seem easy to build.
It gives lots of examples of the psychology behind the Social Networks like Facebook and Instagram.
It does provide a good framework for planning product features, and how to 'hook and reel' users in.
Schmidt, Eric
$12.91
A somewhat "self-applauding" work-biography of Google's CEO and VP of Product.
This book made some good points about Google's Product Management Culture - dominate and monopolize.
I read 3/4's and then bookmarked it.
Product Leadership: How Top Product Managers Launch Awesome Products and Build Successful Teams
Banfield, Richard
$22.53
Too academic. Reads like a car with it's breaks malfunctioning (i.e. auto-stopping)
They try to grab tidbits from many different Product Managers in the industry. I appreciate that, because the way they patched together quotes feel academic and not entertaining - which is an important element for soft-skills and strategy-oriented books.
TESTING / WEB SCRAPING
Mining the Social Web: Data Mining Facebook, Twitter, LinkedIn, Google+, GitHub, and More
Russell, Matthew A.
$26.81
This was a good book. I read the first couple chapters, and also played with the Jupyter Notebooks in the online codebase.
It's written in Python (pretty similar to JavaScript with slight syntax differences).
I gave it away to a friend, who I know is passionate about this subject - enjoy buddy ??
Selenium WebDriver Practical Guide
Satya Avasarala
?130.73
Dry Read. Good Intro to the Selenium API and capabilities - for lack of better resources.
Test Automation Using Selenium Webdriver with Java
MR Navneesh Garg
?179.89
Somewhat of a dry read.
But, still, a pretty approachable introduction to the Selenium API - a good technology for testing and web scraping.
CROSS-PLATFORM DESKTOP EXPERIENCES
Building Cross-Platform Desktop Applications with Electron
Jasim Muhammed
?178.32
A very interesting technology - Electron allows you to use JavaScript to build cross-platform applications for Mac, Windows, and/or Linux.
You'll have to research whether it's relevant for your needs - but it could be a lifesaver for some tech companies.
Programming Chrome Apps: Develop Cross-Platform Apps for Chrome
Rochkind, Marc
$24.61
I got this book because I was interested in Chrome Extensions (especially web scraping with Chrome Extensions).
Chrome Apps have a lot of shared API's to Chrome Extensions, but some minor differences, and added Desktop/FileSystem functionality as well.
Currently getting through it, but probably wouldn't buy it again.
P.S. It appears that there are no good books on Chrome Extensions on Amazon. That's why I made a video tutorial series on the Basics of Chrome Extensions.
JavaScript Patterns: Build Better Applications with Coding and Design Patterns
Stefanov, Stoyan
$18.76
FUNCTIONAL PROGRAMMING
Atencio, Luis
$44.66
Functional JavaScript: Introducing Functional Programming with Underscore.js
Fogus, Michael
$16.72
JavaScript with Promises: Managing Asynchronous Code
Parker, Daniel
$18.25
Skinny as hell book! Don't buy.
O'Reilly, you got set a minimum
ALGORITHMS
Grokking Algorithms: An illustrated guide for programmers and other curious people
Bhargava, Aditya
$18.27
Man, this book was an AWESOME introduction to Algorithms - super approachable to beginners to the subject - and entertaining, as well.
Once Upon an Algorithm: How Stories Explain Computing (The MIT Press)
Erwig, Martin
$21.20
Thus far, this book has been a total waste of money. I thought the cover was cool.
It is theoretical and impractical as hell (written by a Computer Science Professor). The target audience is Literature Professors that want to study Computer Science at age 80, and Deans of Computer Science Programs that want to put students to sleep.
RANDOM TOOLS (DOCKER AND GITHUB)
Docker Containers
Christopher Negus
?103.20
Several years ago, I interviewed at a place that asked me about Docker. They were building new integrations around it, and wanted someone with familiarity with the topic. Since then, it's been largely irrelevant for my line of work - marketing and customer journey data analysis with heavy use of Databases and Data Visualization Tools ??
Docker: Up & Running
Karl Matthias
?100.00
Again, this book had little relevance to me. In any case, I recommend reading Linux and Networking books as a precursor to this topic.
Jumping in over your head won't allow you to appreciate the beauty of these technologies because you'll be confused as hell!
Version Control with Git: Powerful tools and techniques for collaborative software development
Loeliger, Jon
$26.33
Github is an awesome tool! It's also incredibly useful - it's used for version control of large codebases.
When you're working in a big team, managing versions of the app can help you develop new features in isolation and then "merge" these versions into a new whole (without breaking older features).
I can also see this being useful to writers that want to track old versions of manuscripts.
When learning to code, it's best to focus on one language - so you can feel somewhat competent and build cool stuff! Kyle Simpsons' "You Don't Know JS" is a great series for understanding the intricacies of JavaScript - but, be warned, it's not good for utter beginners.
You need to have some of the "Coding for Beginners" books under your belt first. Simpson is a great writer though, and meditating on his examples was a surreal experience at times.
You Don't Know JS: Scope & Closures
Simpson, Kyle
$17.09
What's a scope? What's a closure? Pretty boring stuff - but these elements will appear all over the place - and most places won't explain them properly.
Taking the time to understand these concepts help me appreciate other JavaScript books (and frameworks) much more.
You Don't Know JS: ES6 & Beyond
Simpson, Kyle
$20.89
ES6 is the latest version of JavaScript. This was an interesting book, and made it much easier to understand the ReactJS Framework when I got to it!
You Don't Know JS: Async & Performance
Simpson, Kyle
$13.67
Asynchronous (non-sequential) operations commonly pop up in JavaScript programming.
The book explained all sorts of patterns for dealing with Asynchronous operations - including Promises, and ES6 Features.
Not as scary when you look it in the face.
You Don't Know JS: this & Object Prototypes
Simpson, Kyle
$12.11
Objects are at the heart of JavScript! Even a function has an Object structure underneath.
Once you understand objects and the prototype chain, you'll have a new appreciation for the how the language is put together.
THE NETWORK LAYER
The Network Layer is really cool! It makes the internet run.
It's study is divided amongst understanding Basic Linux Commands, and new tools like Docker.
Unix and Linux System Administration Handbook
Evi Nemeth
?169.98
This is a nice book to have on the shelf. Every once in a while I need to look something up regarding servers or how the internet works. This book is good as a manual but very hard to read in one-sitting seeing as it's think as hell.
The Linux Command Line
Williams E. Shotts
?109.64
Brilliant book. Teaches you the basics of the Linux Command Line. Almost all of the internet consists of Linux Operating Systems communicating with one another. You'll need Linux/Command Line skills if you want to manage / debug servers.
Northcutt, Stephen
$12.58
This may be more practical if I go deep into hacking one day.
Building Linux Virtual Private Networks (VPNs)
Kolesnikov, Oleg
$11.13
This may prove useful one day. I haven't had the time to dig deep into it yet.
Duane Wessels
$9.73
Squid is a proxy server - I got this book for a job that I was fired from soon after getting hired. The company had a "hire fast", "fire fast" company.