Resources

There's always more to learn!


The lists below contain the resources I used to help me on my professional journey. They include books, websites, and videos. All work listed is the copyright of the respective owners. I do not have any professional or business affiliation with any of the authors, organizations, or individual works listed.

Software Engineering

Team Treehouse
Online programming courses for absolute beginners

Great website with easy to follow courses consisting of bite-sized videos, and follow-along coding practice.

Treehouse

Automate the Boring Stuff with Python
Book by Al Sweigart

Excellent book for beginners to learn the Python programming language, with practical applications for non-programmers. I haven't read this book, but it's used internally by Uber's non-tech employees and has great reviews from other readers.

Automate the Boring Stuff with Python

Cracking the Coding Interview
Book by Gayle Laakmann McDowell

This book provides valuable insight into how software engineering interviews work and what you can expect. It also provides many practice problems covering many different programming concepts and algorithms.

Cracking the Coding Interview

Grokking Algorithms
Book by Aditya Bhargava and Jed Limke

Great introduction to algorithms for beginners. Very easy to understand, with illustrations and practice problems to help break down how each algorithm works.

Grokking Algorithms

Designing Data-Intensive Applications
Book by Martin Kleppmann

Intermediate level book covering high-level distributed system design concepts, recommended by multiple engineers at Uber. Beginner-level resources teach you how to write code; this book teaches you how to build software. Although there is no coding involved for this book, it is very technical and lengthy (over 500 pages!). I've read it once, and need to read it at least 1-2 more times to fully grasp all of the topics covered. Don't let this intimidate you, though! This book is an amazing resource and will help take your software engineering skills to the next level.

Designing Data-Intensive Applications

The Go Programming Language
Book by Alan A. A. Donovan and Brian W. Kernighan

Intermediate level book providing an in-depth overview of the Go langauge, aka Golang. This book, and learning Go in general, was recommended to me by multiple engineers at Uber, and personally co-signed by Uber's former CTO, Thuan Pham. I believe Golang will be a top programming language and Go engineers will be in high demand in the near future. I recommend reading "Desiging Data Intensive Applications" before starting this book in order to fully understand the concepts discussed in this book.

The Go Programming Language

Code Complete: A Practical Handbook of Software Construction
Book by Steven C. McConnell

Code Complete is a HUGE book covering the principles of software construction. It is an essential guide to software engineering.

Code Complete: A Practical Handbook of Software Construction

LeetCode
Coding practice and mock interview problems

LeetCode is great resource to practice writing code and solving problems at different difficulty levels.

LeetCode Blind's Top 75 LeetCode Problems

On Writing Tests as an Induction Proof of System Correctness
Medium article by Patrick Wilson

Testing isn't my favorite part of building applications, but it's a critical aspect and it's importance has been repeatedly emphasized to me by my mentors. This article covers an inductive approach to testing software, which has greatly helped in my work.

On Writing Tests as an Induction Proof of System Correctness

Personal Growth

The Alchemist
Book by Paulo Coelho

The Alchemist is a very entertaining fantasy story that will inspire you to pursue your dreams and live life to the fullest.

The Alchemist

Think and Grow Rich
Book by Napoleon Hill

Be warned, this book gets pretty weird, and the author heavily focuses on the idea that in order to be rich, money must be the most important focus of your life (probably true). However, the author's ideas can be applied to other aspects of life, and the main idea can be summarized by one of Napoleon Hill's famous quotes: "Whatever the mind can conceive and believe, the mind can achieve."

The Alchemist

Finance

The Investment Answer
Book by Daniel C. Goldie and Gordon S. Murray

Great introduction to the principles of investing. This book is a quick read and is great for anyone without a background in Finance and would like to start learning about investing.

The Investment Answer

Health and Fitness

How Not to Die
Book by Michael Greger, M.D.

This book doesn't provide the key to immortality, but it does provide valuable guidance, along with recipes, for eating healthy and maintaining your wellbeing.

How Not to Die

The New Encyclopedia of Modern Bodybuilding
Book by Arnold Schwarzenegger

A healthy mind requires a healthy body, and this book by my former Governor provides an in-depth guide to improving and maintaining your physical fitness by illustrating proper weight lifting techniques.

The New Encyclopedia of Modern Bodybuilding






Copyright © Gilberto Garcia 2022 · All Rights Reserved