There are tons of great resources all over the internet. I’ve bookmarked hundreds of URLs and this page is my categorized collection of the references and free tools I’ve found to be helpful. If you’re reading this and have something to add or find a dead link please send me a note. I’m continuing to add to this over time.

Business Intelligence | Career Management | Computer Science | Data Science | Datasets | Data Storage | Data Visualization | MarTech | Programming | Software Development | Web Application Frameworks | Web Services | Website Tools

Business Intelligence

OLAP Cubes

A nice intro guide on what these are and why they are used.

Transactional vs. Analytical Processing

Good cross-comparison between OLTP and OLAP systems.

Career Management

3 Data Career Paths Decoded

Helpful article that compares and contrasts the role of a data analyst vs. data scientist vs. data engineer.

CodeFights - Practice for Technical Interviews

Technical interviews are tough. CodeFights, which is best known as a competitive coding and skill-based recruiting platform, helps developers practice for these interviews through a free platform that offers study topics and practice questions.

Git Showcase

Free portfolio site that allows developers to easily feature projects from their GitHub repositories.

Google Cloud Certification - Data Engineer

A Google Certified Professional - Data Engineer enables data-driven decision making by collecting, transforming, and visualizing data. To earn this certification you must pass the in-person exam. This webpage offers a collection of useful training resources and reference materials aimed at achieving this certification.

IBM Certified Data Engineer - Big Data

This certification is intended for big data engineers. Big data engineers focus on collecting, parsing, managing and analyzing large data sets, in order to provide the right data sets and visual tools for analysis to data scientists. They understand the complexity of data and can handle different data variety (structured, semi-structured, unstructured), volume, velocity (including stream processing), and veracity. They also address the information governance and security challenges associated with the data. They have a good background in software engineering and extensive programming and scripting experience. To attain IBM Certified Big Data Engineer status, candidates must pass one test.

Learn To Code

Programming and computer science are becoming more popular than ever. As a result, there are an increasingly huge number of resources and tutorials being produced for beginners who want to learn to code, ranging from books to online tutorials to interactive websites to massive open online courses (MOOCS). This can be overwhelming for beginners – there are almost too many resources available, and it’s difficult to figure out where to start. This page offers a curated list of resources for both new developers and developers looking to advance their skills and learn a new language/framework.

Skills Index

Undoubtedly you’ve heard about the skills gap challenges in the U.S. economy. Using select data from LinkedIn and Strayer@Work’s proprietary analysis, the Strayer@Work Skills Index takes a look at supply vs. demand around specific skill sets across top industries and provides actionable recommendations for getting up to speed.


This site aggregates information around upcoming data-related Meetups and also gives users the ability to browse for slides, code, and video from Meetup tech groups around the world.

Computer Science

Big-O Notation Cheat Sheet

This webpage covers the space and time Big-O complexities of common algorithms used in Computer Science.

Data Science

Beginner’s Guide to Big Data Terminology

Walkthrough on some of the common lingo of data science, such as DaaS and Neural Networking.

Best Practices for ML Engineering

This guide is intended to help those with a basic knowledge of machine learning get the benefit of best practices in machine learning. If you have taken a class in machine learning, built, or worked on a machine-learned model, then you have the necessary background to read this document.

Data Mining in Python: A Guide

Data mining is the process of discovering predictive information from the analysis of large databases. This guide provides an example-filled introduction to data mining using Python, one of the most widely used data mining tools - from cleaning and data organization to applying machine learning algorithms.

Handy Python Libraries for Formatting and Cleaning Data

Data scientists spend a lot of time cleaning messy data. This is a list of Python libraries that help make data more orderly and legible - from styling DataFrames to anonymizing datasets.


Offers a means of learning data science through both public and private competitions.


This website looks like its design hasn’t changed since the 90s, but it is home to lots of great content on business analytics, big data, data mining, and data science.

R or Python for Data Science?

This is a nice blog post on that digs into the differences/advantages of using either R or Python for performing data science tasks.


Regular expressions are extremely useful in extracting information from text such as code, log files, spreadsheets, or even documents. This site offers an interactive tutorial and practice exercises to help you learn them.


Open source R packages that allow access to data repositories and provide programmatic access to a variety of scientific data and other real-time metrics of scholarly impact.


Crowdflower: Data for Everyone

Collection of free, downloadable, and categorized datasets that have gone through the Crowdflower platform.

Data.World: The Social Network for Data People

Discover and share cool data, connect with interesting people, and work together to solve problems faster. Users can find and use a vast array of high-quality open data.

Google’s My Activity Page

This portal reveals everything Google knows about you - every search you’ve made, the apps you’ve used, the videos you’ve watched, and everything in between. Visit to see how your data is being collected, modify activity settings, and delete data that you prefer not retained.

Data Storage

7 Steps to Understanding NoSQL Databases

The term NoSQL has come to be synonymous with schema-less, non-relational data storage schemes. NoSQL is an umbrella term, one which encompasses a number of different technologies. This article provides newcomers an overview of NoSQL technologies and architectures it includes.

What Is ETL?

ETL is shorthand for the extraction, transformation, and loading process used in most data movement operations. This article provides a nice overview for those wanting to understand the basics around these phases.

Data Visualization

Google Charts

Google Charts is a JavaScript-based tool that lets people easily create a chart from some data and embed it in a web page. It’s free and has a solid library of interactive charts and data tools available for use.

Google Data Studio

Free product lets you connect to all your marketing data and turn that data into beautiful, informative reports that are easy to understand, share, and fully customizable.


Google Analytics Demo Account

If you’re like me, you learn by doing. This fully functional Google Analytics account is a great way to look at real business data and experiment with Google Analytics features. The data is from the Google Merchandise Store, a real ecommerce store, and it’s typical of what you would see for an ecommerce website.

The Definitive Glossary of Programmatic Advertising

Programmatic advertising is about using automated systems (technology) and data to make media buying decisions without humans. This is a helpful glossary of terms associated with this concept.

Real Story Group

This firm specializes in evaluating vendors in the MarTech space to help you find the right provider among a glut of offerings.



A curated collection of tutorials and free learning resources for learning to code in new languages.


Free site lets you share your code with others in CodeEnv online environments. Good for teaching, prototyping, and sharing fiddles.

CodeProject: Diving in OOP

Comprehensive article that covers almost every OOP (object-oriented programming) concept in detail with C# examples.

Offers sandbox environments for developers to play around with and modify live sample code for all kinds of languages. It’s also easy to share or demonstrate solutions to problems.

Google’s Go Language

This article represents a nice primer on the differentiating features of Google’s Go language (Golang) and its tools, including its extremely lightweight concurrency.

Python Challenge

Python Challenge is a game in which each level can be solved by a bit of (Python) programming. It’s a good way to practice through solving riddles.

Python Tutor

This is a free tool that helps people overcome a fundamental barrier to learning programming: understanding what happens as the computer runs each line of source code. With it, you can write Python, Java, JavaScript, TypeScript, Ruby, C, and C++ code in your web browser and visualize what the computer is doing step-by-step as it runs your code.


Topcoder is a company that administers contests in computer programming, through which prize money can be won. Competition aside, this site also offers regular challenges and matches through which you can learn new skills and hone skills you already have.

Understanding Go Pointers

This post is for programmers coming to Go who are unfamiliar with the idea of pointers or a pointer type in Go. It also digs deeper into the concept of computer memory (RAM) and how memory location is accessed through your code.


A huge selection of cheat sheets for almost any current programming language and other technologies.

Software Development

30 Best Practices for Software Development and Testing

Some good suggested software engineering principles and testing best practices that might help save you time and headaches.

50 Tips for Improving Your Software Development Game

This post compiles the most illustrative advice and recurring tips from blogs/forums around the topic of being a great programmer. These are organized into five themes that emerged. A great reference for developers looking for ideas around self-improvement. is free online diagram software for making flowcharts, process diagrams, org charts, UML, ER and network diagrams.

Git Branching Model

This post outlines a development model for git branching strategy and release management.


This page tries to collect the libraries for the queueing systems (job, messaging, etc.) that are widely popular and have a successful record of running on (big) production systems.


StackShare provides online software for displaying and sharing your technology stack, which is made up of the software that you use. It’s an online community that features comparisons, ratings, reviews, recommendations, and discussions of the best software tools and software infrastructure services.

The Twelve-Factor App

In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service (SaaS). The twelve-factor app is a methodology for building SaaS apps that can be applied to apps written in any programming language, and which use any combination of backing services (database, queue, memory cache, etc).

Web Application Frameworks

The Djanjo Book

Free online book offers comprehensive Python Django Tutorials, easy to understand Django documentation, the Model-View-Controller (MVC) design pattern, and more.

Python Web Frameworks

This report surveys 30 Python web frameworks that have more than 1,000 monthly downloads and provides a deeper look into six of the most widely used. Also provides general overview of web application frameworks and what they do.

Web Services

Google Analytics Query Explorer

This tool lets you play with the Core Reporting API by building queries to get data from your Google Analytics views (profiles). You can use these queries with any of the client libraries to build your own tools.


API for accessing current weather data for any location including over 200,000 cities.


This free Chrome extension allows developers to explore, test, and build APIs using a powerful collaborative testing and development suite.

RESTful Architecture

Technical documentation for RESTful web services with references and language-specific examples.

What is a REST API?

Thorough overview on what REST APIs are and how to use them.

Website Tools


Enter the URL of a website and quickly find a list of the technologies used to support that site including email services, nameserver providers, JavaScript libraries, widgets, server information, and more.

Google Design: Resizer

An interactive viewer to see and test how digital products respond to material design breakpoints across desktop, mobile, and tablet.

How To Use GitHub Pages To Make Websites

Step-by-step tutorial to getting started with building a website hosted on Github Pages.

How to Host Your Static Site with HTTPS on GitHub Pages and CloudFlare

While GitHub offers free static website hosting and custom domain support, it is currently not possible to configure HTTPS for custom domains directly through GitHub Pages. This is where CloudFlare comes in.

Mobile Website Speed Testing Tool

Another great Google product. Find out how well your site works across mobile and desktop devices by simply entering the URL.

Static Site Generators

A leaderboard of the top open-source static site generators based on Github stars.

Website Grader

Free online tool that grades any website against key metrics such as performance, mobile readiness, SEO, and security.

Who Is Hosting This

Allows a user to simply enter the domain name of any site and instantly uncover the identity of the company that is hosting the site.