professional-programming/training/web-dev
2021-01-29 19:11:31 +01:00
..
README.md Starting web dev training 2021-01-29 19:11:31 +01:00

Table of Contents

Learning web development

Goal of this training

This training provides an opinionated ramp-up program for web developers.

Prerequisites

Not much, just general knowledge about computer and the Internet.

Principles

  • Focus on the main stuff. A lot of things have to be learnt on the job anyway.
  • For aspiring professionals. Programming is not only about raw knowledge, it's also about best practices.
  • Go wide.
  • We learn by doing, so this training includes lots of exercises.
  • A lot of videos are included, since they provide hands-on experiences.

Roadmap

  1. Start with a programming language.
  2. Do a first pass at the web development components: DB, HTTP API, etc.
  3. Write a full-fledged exercise, get it reviewed.
  4. Go deeper in the topics above.

Meta: learning about learning

Feel free to checkout some of the articles about Learning and memorizing

Topics

Pick a powerful text editor and learn its ins and outs

VSCode is a strong pick nowadays (I use and obviously prefer Vim :).

Make sure to spend a lot of time in your text editor, watch tutorials about advanced features, install extensions, learn all the main keyboard shortcuts, subscribe to mailing lists about it, etc.

You will spend most of your time within your text editor. Turn it into your ally!

Learn the ins and outs of a programming language

A developer's main tool being the programming language, it is important to achieve high proficiency in at least one of them.

I'd recommend starting with Python or TypeScript.

For Python, you can have a look at my repo charlax/python-education.

To ensure you have good command of the language, you should try out some of those exercises:

Learn how to handle:

If you have time, learn more programming languages, starting with some that are very different from your main one:

  • Haskell
  • Clojure
  • Kotlin
  • Rust
  • Assembly

Learn the topics of web development

Note: this is just a short selection of stuff listed in charlax/professional-programming.

Start your career the right way with this article: Ten Principles for Growth as an Engineer

Architecture

Best practices, attitude

Read one of those:

Read of the resources listed under Must-read articles.

DB and SQL

Dev environment, command line and Linux

Distributed systems

Network, protocols, HTTP

Project management

Checkout this section on charlax/engineering-management

Security

  • Learn about the OWASP Top 10

Version control (git)

Other lists