---
title: "First steps to learning Web Development"
author: "Yaroslav Shmarov"
date: "2022-05-14"
canonical_url: "https://blog.superails.com/how-to-start-web-development"
markdown_url: "https://blog.superails.com/how-to-start-web-development.md"
description: "If I was going to start learning Web development today, this would be my roadmap: English - you won't get far without it."
tags: ["thoughts","web-development"]
license: "GNU AGPL v3. Credit Yaroslav Shmarov and link the canonical URL."
---

# First steps to learning Web Development

If I was going to start learning Web development today, this would be my roadmap:

### 1. Frontend development

* **English** - you won't get far without it.
* **HTML** - the foundation of WEB development. What the browser displays.
* **Git** - save & store your code.
* **CSS** - style your HTML.
* **Javascript** - programming language embedded in a web browser.

At this point you can create a static website. Without relying on any $$$ proprietary tools!

Surely, instead of learning all that you can become a professional in WordPress/Drupal/Wix or another website builder, but that way you are bound to a specific proprietary tool. And this niche skill would not pay much ;)

To polish the above skills of developing static websites, you can learn:

* **CSS Frameworks** (BootstrapCSS, TailwindCSS)
* **JS Framework** - StimulusJS is a lightweight option to start with

Congratulations! You are now a frontend web developer!

### 2. Backend development

That's means:
* having a database to store, read and write data
* communicating with the database via HTTPS requests
* dynamically generating different data on web pages
* adding "business logic"

This all can be handled by a framework like Ruby on Rails.

First steps to learn Rails:
* Ruby programming language
* Basic database architecture - storing, reading, writing data
* Rails MVC (Model-View-Controller) + Routes
* Integrating a gem (devise, pagy, ransack)
* Bulding a hobby app

### A long journey

It's not easy.

Learning programming takes a lot of time, discipline and focus.

Select one tech stack and don't get destracted along the way.

Just as it takes years to get a university degree, it takes time to learn programming on a level to be eligible for the job market.

Millions of people "try programming" and ditch it a few months later.

Perserverance > Talent.
