On The Road To Professional Web Development | Table Of Contents

Alexander S. Augenstein
7 min readApr 19, 2020

--

Original artwork, inspired by photography of Matt Duncan on Unsplash

*
Update
Thanks readers! You’ve been great.
While I don’t intend to update this blog series, I intend to refine my strategy and continue to contribute technical content. From a content-creator perspective, there are a few takeaways (from the data) worth noting:
The number of posts generated have been an excellent resume builder. With only the information in this series, I’ve attracted the attention of several prestigious tech firms (this was a key objective from my perspective as a content author). Where this blog artificially ends is where my story as a dev really begins. With that in mind, hopefully this gives you an idea of what tech firms (anecdotally, in my experience) are looking for from new recruits (like myself).
Each story had less than a hundred reads. Traffic was driven primarily by Medium, rarely through external search engines. Click-through from post to post was limited, and click-through via this Table of Contents was negligible. Compared to uncurated posts at an average approx 66% read-to-view ratio, curated posts generated 10x additional traffic with an approx. 33% read-to-view ratio. View counts maxed out when first posted, died down to only several daily views within a week, and maintained extremely long tails.
Since the total view count was low, click-through was low, and reads-to-views were high, I suspect that quality content attracted readers but the overall design of the series was lacking. This applies to the conventions I selected for the cover art and titles, as well as the way I presented links to navigate between each of my posts. I’ll redesign future content to be more friendly and accessible, but hopefully someone somewhere out there (maybe you :) find this information and this archived series insightful. Personally, I had a blast and learned a lot while writing it (and still learning!).
Thanks again for reading. If you’d like to see my latest work, check out my GitHub Pages site asa55(dot)github(dot)io! Hope to see you there.
*

Starting On The Shoulders Of Giants

Want to learn how to be a web developer? Me too. This post serves as the table of contents for a series documenting each topic studied as I follow this developer roadmap toward our goal. If you have a moment, open the roadmap in a separate tab and side-by-side it with this post. It’s an insightful flow-chart that goes hand-in-hand with this post. The roadmap was contributed by pros (kamranahmedse and others, not me) who continue to spend a great deal of effort illuminating an optimal path towards professional web development for the rest of us.

The latest and greatest version of the roadmap can be found here:

Another resource you won’t want to miss is the official website, roadmap.sh:

Can You Trust The Roadmap?

W3Schools trusts the roadmap enough to use it as training material on their website. I’ve learned a lot from them and trust the learning resources they endorse.

Can You Trust Me?

I am not a professional developer. My technical background includes 5 years’ experience as an engineer in industry with a MS in ECE and a thesis on machine learning. I claim no expertise but continually strive to become a better technical contributor. My underlying objective is to secure a remote-enabled career, which is why I will ensure this series remains laser-focused on the elements necessary to excel during a technical interview.

Table Of Contents

Table Of Contents | Intro

*All entries in this table will be linked to separate posts. The next post (JavaScript) is in active development. Check back soon for more!*

Required For Any Path

Table Of Contents | Front-end

Internet

HTML

CSS

JavaScript

  • Syntax & Basic Constructs
  • Learn DOM Manipulation
  • Learn Fetch API / AJAX (XHR)
  • ES6+ & Modular JavaScript
  • Hosting / Event Bubbling / Scope / Prototype / Shadow DOM / Strict

Version Control Systems

Web Security Knowledge

  • HTTPS
  • CORS
  • Content Security Policy
  • OWASP Security Risks

Package Managers

  • NPM
  • Yarn

CSS Architecture

CSS Preprocessors

  • SASS
  • PostCSS
  • LESS

Build Tools

Task Runners

  • NPM Scripts
  • Gulp

Linters & Formatters

  • Prettier
  • ESLint
  • StandardJS

Module Bundlers

  • Webpack
  • Rollup
  • Parcel

Pick A Framework

React.JS

  • Redux
  • MobX

Angular

  • RxJS
  • NgRx

Vue.JS

  • VueX

Modern CSS

  • Styled Component
  • CSS Module
  • Styled JSX
  • Emotion
  • Radium
  • Glamorou

Web Components

  • HTML Templates
  • Custom Elements
  • Shadow DOM

Testing Your Apps

  • Jest
  • react-testing-library
  • Cypress
  • Enzyme
  • Mocha
  • Chai
  • Ava
  • Jasmine

Type Checkers

  • TypeScript
  • Flow

Progressive Web Apps

Web APIs Used In PWAs

  • Storage
  • Web Sockets
  • Service Workers
  • Location
  • Notifications
  • Device Orientation
  • Payments
  • Credentials

Calculating, Measuring & Improving Performance

  • PRPL Pattern
  • RAIL Model
  • Performance Metrics
  • Using Lighthouse
  • Using DevTools

Server Side Rendering (SSR)

React.JS

  • Next.JS
  • After.JS

Angular

  • Universal

Vue.JS

  • Nuxt.JS

GraphQL

  • Apollo
  • Relay Modern

Static Site Generators

  • Next.JS
  • GatsbyJS
  • Nuxt.JS
  • Vuepress
  • Jekyll
  • Hugo
  • Gridsome

Mobile Applications

  • React Native
  • NativeScript
  • Flutter
  • Ionic

Desktop Applications

  • Electron
  • Carlo
  • Proton Native

Web Assembly

  • Learn The Basics

Table Of Contents | Backend

Internet

Basic Frontend Knowledge

OS & General Knowledge

Learn A Language

  • Java
  • C#
  • PHP
  • JavaScript
  • Python
  • Ruby

Version Control Systems

Relational Databases

  • PostgreSQL
  • MySQL
  • MariaDB
  • MS SQL
  • Oracle

More About Databases

  • ORMs
  • ACID
  • Transactions
  • N+1 Problem
  • Database Normalization
  • How Indexes Work
  • Data Replication
  • Sharding Strategies
  • CAP Theorem

NoSQL Databases

  • MongoDB
  • RethinkDB
  • CouchDB
  • DynamoDB

Learn About APIs

  • HATEOAS
  • Open API Spec & Swagger
  • Authentication
  • REST
  • JSON APIs
  • SOAP
  • gRPC

Caching

  • CDN
  • Server Side
  • Client Side

Web Security Knowledge

  • MD5
  • SHA Family
  • scrypt
  • bcrypt
  • HTTPS
  • CORS
  • Content Security Policy
  • SSL / TLS
  • OWASP Security Risks

Testing

  • Integration Testing
  • Unit Testing
  • Functional Testing

CI / CD

  • Learn The Basics

Design & Development Principles

Architectural Patterns

  • Monolithic Apps
  • Microservices
  • SOA
  • CQRS & Event Sourcing
  • Serverless

Search Engines

  • Elasticsearch
  • Solr

Message Brokers

  • RabbitMQ
  • Kafka

Containerization vs. Virtualization

  • Docker
  • rkt
  • LXC

GraphQL

  • Apollo
  • Relay Modern

Graph Databases

  • Neo4j

WebSockets

  • Learn The Basics

Web Servers

  • Nginx
  • Apache
  • Caddy
  • MS IIS

Building For Scale

  • Mitigation Strategies
  • The Difference Between Instrumentation, Monitoring & Telemetry
  • Migration Strategies
  • Horizontal vs. Vertical Scaling
  • Building With Observability In Mind

Table Of Contents | DevOps

Learn A Programming Language

  • Python
  • Ruby
  • Node.JS (JavaScript)
  • Go
  • Rust
  • C
  • C++

Understand OS Concepts

  • Process Management
  • Threads & Concurrency
  • Sockets
  • POSIX Basics
  • Networking Basics
  • Startup Management
  • Service Management
  • I/O Management
  • Virtualization
  • Memory / Storage
  • File Systems

Learn About Managing Servers

Linux Operating Systems

  • SUSE Linux
  • Debian
  • Fedora
  • Ubuntu
  • CentOS
  • RHEL

Unix Operating Systems

  • FreeBSD
  • OpenBSD
  • NetBSD

Windows Operating Systems

  • Learn The Basics

Learn To Live In Terminal

  • Terminal Multiplexers
  • Text Manipulation Tools
  • Process Monitoring
  • Network
  • Learn Bash Scripting
  • Vim / Nano / PowerShell / Emacs
  • Compiling Apps From Source
  • System Performance
  • Others

Networking, Security & Protocols

Learn These Concepts And How To Set Them Up

  • Reverse Proxy
  • Forward Proxy
  • Caching Server
  • Load Balancer
  • Firewall

Web Servers

  • IIS
  • Nginx
  • Apache
  • Tomcat
  • Caddy

Learn Infrastructure As Code

Containers

  • Docker
  • LXC

Configuration Management

  • Ansible
  • Chef
  • Salt
  • Puppet

Container Orchestration

  • Kubernetes
  • Docker Swarm
  • Mesos
  • Nomad

Infrastructure Provisioning

  • Terraform
  • CloudFormation
  • Pulumi

Service Mesh

  • Istio
  • Envoy
  • Linkerd
  • Consul

Learn A CI / CD Tool

  • GitLab CI
  • GitHub Actions
  • Bamboo
  • Azure DevOps
  • Jenkins
  • Travis CI
  • TeamCity
  • Circle CI

Learn How To Monitor Software & Infrastructure

Logs Management

  • Elastic Stack
  • Greylog
  • Splunk
  • Papertrail

Infrastructure Monitoring

  • Prometheus
  • Nagios
  • Grafana
  • Zabbix
  • Monit
  • Datadog

Application Monitoring

  • Jaeger
  • AppDynamics
  • New Relic
  • Instana
  • OpenTracing

Cloud Providers

  • AWS
  • Google Cloud
  • Azure
  • Heroku
  • Alibaba Cloud
  • Digital Ocean
  • Linode
  • Vultr

Cloud Design Patterns

  • Availability
  • Data Management
  • Design & Implementation
  • Management & Monitoring

Closing Remarks

Special thanks to kamranahmeds et al. for creating and sharing their excellent web development roadmap. This post was published with permission.

--

--