What if I had to learn web development again? What would be my journey?
Tags: webdev, programming, roadmap
Published: 2023-06-17 17:11:58

When I was starting to learn coding I didn't have goals to become a Web developer but I found myself becoming one anyway. 

If you ask me today whether the journey has been smooth or deliberate. Absolute, Not would be my answer.

You see there are many advantages that come with being a self-taught web developer. Who doesn't want to decide what they'll learn, when, where and how?

In as much as being in total control of our choices feels magical, it doesn't always bring out the best in us.

How many times, did I skip learning because it sounded difficult? Uncountable. Did it help, of course it did but it also left with undesirable knowledge gaps.

I'm here thinking to myself what if I were to learn Web Development afresh(start to finish), how could I go about it?

In this post, am going to talk about the programming languages, tools, skills to develop in the exact order I would have gone about them.

Let's dive straight away.

### ⓪① Foundation

Unlike some other developers, I grew up in a household without electricity, computers, internet, or phones. Furthermore, none of the elderly spoke English or any other foreign language. Our information came from a neighbor and an FM radio.

I recall hearing the phrase "computer" for the first time in elementary school. The notion I had at the time was that a computer was some kind of terminator-like robot.

When I got the chance to touch the computer for the first time, I was about 13 years or so.

For that reason if I was to learn Web development, I would be deliberate and focus on gaining much knowledge about how computers work, why were they invented, how does the computer store and transfer information in different components? 

Can one or more computers communicate, is this something I can test out practically to gain a clear understanding of Networks and related knowledge such as the internet?

What is an Operating System? How to obtain an Operating system, set it up, troubleshoot and secure it?

What is software? What's the general process of creating apps?

Is there a computer fundamentals certificate I can pursue to prove that I am a qualified professional computer user?

At this point, I would focus on honing my social media, research, and touch typing abilities.

The ultimate goal would be, to be a professional and comfortable computer user that is able to pick up learning an advanced computer skill.

### ⓪② HTML

I will learn HTML because it's the fundamental language for developing websites and web applications, in fact, it comes second to none. Despite HTML, being so powerful it is very simple to learn. So this is where I would start after in the coding journey.

HTML, Stands for HyperText Markup Language.

It is a markup language that is used to create web pages and web applications. It is made up of a series of elements, represented by tags, that define a document's structure and content. It also works with attributes to perform special behaviours.

### ⓪③ Terminal/CLI

The software lets you interact with your computer's operating system via a text-based interface. It enables to control the computer by allowing you to input commands and receive response in form of text as output.

It would help my progress if I learnt some commands earlier especially after or before learning HTML. Being comfortable to work with the Terminal app on macOS and Linux and the Command Prompt on Windows.

Additionally, grasping how to work with commands like ping, hostname, nslookup, sudo, apt-get, passwd, ls, cd, mv, cp, nano, vi, grep, and cat etc would be so helpful going forward.

### ⓪④ (a). Design and CSS

Let me explain.

To begin with, CSS stands for Cascading Style Sheet. It is a stylesheet language used to describe the appearance and formatting of HTML elements in a webpage.

CSS is about understanding the general syntax which will include but not a selector, curly brackets, properties and values.

What makeup is to us is what CSS is to HTML. How is that not amazing?

On top of grasping how to use CSS to change the color, text size, or background etc of something, you could learn some and hone design skills. There are many apps you can use to design the interfaces of web applications though I find Figma easier, so I highly recommend it.

### ⓪④ (b). SASS

SASS (Syntactically Awesome Style Sheets) is a CSS preprocessor, which is a scripting language that extends CSS functionality. It enables you to write more organized and maintainable CSS code by utilizing features such as variables, mixins, and functions.

### ⓪⑤ TailwindCSS

It is a utility-first CSS framework for creating custom user interfaces quickly.
It provides a set of utility CSS classes that allow you to apply styles directly to HTML elements using class attributes.

This makes it easy to style HTML without writing custom CSS.

TailwindCSS is intended to be adaptable, modular, and simple to integrate with your existing design system.

### ⓪⑥ Writing

Working to develop writing habits is useful to a developer as it enables them to enhance communication skills, document code and thoughts, and establish a professional online presence.

→ Tools to help in your in-writing journey

1. Notion
2. Grammarly
3. Notes app

### ⓪⑦ Marketing and Self-promotion

It is the act of promoting oneself, skills and accomplishments to others. It is important for developers as it may assist them in developing a personal brand, networking with other professionals, and increasing their opportunities for career advancement.

If you're to promote yours learn how to;-
1. You need to be working experience in a skill, in this case Code
2. You need Write
3. Publish content on WhatsApp, Twitter, Instagram, TikTok, YouTube, LinkedIn, your blog and other platforms.

### ⓪⑧ Selling HTML Templates

Did you know that HTML templates can be created and sold? These are custom, professional website designs that clients can use to establish their online presence. It's a great way to put your HTML skills to use and earn some extra money!

You can publish HTML Templates to popular platforms such as:-

1. ThemeForest
2. TemplateMonster
3. Creative Market
4. Personal Website
5. Gumroad

### ⓪⑨ (a). Why Learn Git

1) It makes it possible for us to collaborate on computer projects while maintaining a record of all the changes we make.

2) It's a useful skill for working on projects with others.

3) It can give you an advantage in job searches since it is widely used.

### ⓪⑨ (b). GitHub

Git repositories can be hosted and managed on GitHub. It enables developers to track changes, share and work together on code, and create software projects more quickly.

Many developers use it as a really helpful tool to make their work easier.

### ①⓪ Deploying Webpages

A webpage is deployed when it is published online for public viewing. We can save webpages and share them with the world just like we can save images on our computers!

You can earn money by setting up websites for customers.

### ①① JavaScript

Learning JavaScript can open up a world of possibilities for you as a developer, including building interactive web applications, creating games, and automating tasks for customers or your business.
Understanding JavaScript helps start learning JS Frameworks.

①② (a). React.js

React is a popular JavaScript library for building user interfaces, especially for web applications. Learning React can help developers create fast, efficient, and scalable front-end applications.

### ①② (b).Vue.js

Vue is a lightweight JavaScript framework for building web applications. It's easy to learn and use, and offers a smooth and intuitive developer experience. Additionally, it's flexible and can be used in a variety of projects.

It is known that the Popular JavaScript libraries for creating web applications include React and Vue.

Vue is a good option because it is lightweight and simple to learn, whereas React is great for bigger projects and has a robust ecosystem.

### ①③ Building Apps

Developers can turn their ideas into reality, solve problems, and add value to companies or organizations by using their coding skills to build apps. It's a highly prized skill that creates countless opportunities for innovation and personal development.

## The End

⓪① HTML
⓪② Terminal/CLI
⓪③ CSS + SASS
⓪④ TailwindCSS
⓪⑤ Writing
⓪⑥ Self-promotion
⓪⑦ Selling HTML Templates
⓪⑧ Git + GitHub
⓪⑨ Deploying Webpages
①⓪ JavaScript
①① React.js or Vue.js
①② Building Apps