Resources

Learn to Code

There are tons of different technologies out there, each of which has its own tutorials, documentation, and community (good or bad). ADI has done the hard work of tracking down the best resources, summarizing each technology, and identify critical concepts based on goal so that the only thing standing between you and the implementation of your idea is a little bit of learning and hard work.

languages

Level: Intermediate

Level: Beginner

Eloquent Javascript, written by the venerable Marijn Haverbeke, is by far the best Javascript book out there. Although geared towards an introductory audience, it's also a great way for experienced programmers to dig deep and learn to love one of the most ubiquitous languages ever.

Level: Beginner

Level: Advanced

Monads have a reputation for being mysterious and impenetrable abstractions, which is a shame (we blame the name). In reality, as this blog post will show, monads are actually quite natural and common abstractions. Although the blog post uses Haskell syntax for its examples, minimal actual knowledge of Haskell is required.

web

Level: Intermediate

Flask, ADI's tool of choice, is a simple and lightweight web framework for Python that lets you quickly develop web applications. This 18-part tutorial starts from Hello World and takes you all the way into a production-ready web app. Requires prior knowledge of Python.

data

Level: Intermediate

Written by some of the top researchers in the field, Deep Learning is a great introduction to machine learning (with an emphasis on deep learning). It's relatively light on the mathematics compared to most other approaches, which can be a good or bad thing depending on your point of view.

Level: Intermediate

The Python Data Science Handbook is a great resource for learning Python for data science. Although it covers the basics of data science, this book is more oriented towards exploring the tools that Python provides rather than teaching data science to an introductory audience.

Level: Intermediate

One of the only books of its kind, AOSA walks you through the design and architecture of some of the most famous open source projects. Most software engineers only ever work with a handful of programs deeply, and so they never learn from the mistakes and lessons from experienced practitioners. Reading AOSA is one way of preventing that from happening to you.