/ JavaScript

How To Start Web Development?

So you've finally decided to learn about web development. Great! There is so much to explore and learn on the web end. I've been developing numerous apps, games, extensions, plugins, APIs, servers, etc. on the web from last 5 years and I'm still learning new things.

In this post I'm going to cover what and how you've to do things to actually enter the world of web (mainly JavaScript). I'm assuming that you've no prior experience with JavaScript whatsoever. But the post still applies if you're a little into the game.

Prerequesites

None

Notes

Before starting, realize a few things:

  1. It takes time to achieve everything. Motivation will initiate you but determination will keep you going. Do not start if you are not determined yet.
  2. Never hesitate to take help. But always hesitate to take help before attempting to solve your own problems. Things do not always work at one go, they never do. That's how you learn.
  3. Try to spend time on a problem. In my case, some of my little problems eventually taught me some very critical concepts of JavaScript and best practices.

You will find haters

You'll find tons of people discouraging you on the way with articles like:
JS Sucks
and
JS Sucks
and the memes like
memes

Heck! I am not a blind fan, but I truly believe these people want to program in a language which throws empires down if you put 2 semicolons instead of 1 somewhere (C is that you?)
Total respect for these haters, and after going through a lot of such articles, what I've realized is, JavaScript is as good as for you as good as you are. Take a minute to realize that.

You will suck

Your coding practices will suck! You'll make global variables almost all the times! You will make code that runs slow! You'll crash your browser tab with infinite loops (I still do that sometimes, lol)!
You will code those snippets which the haters above will use to prove their point! But remember! An enterprise developer does not code the way you did! Appreciate that and keep learning with the correct belief that you are heading towards that person.
It all happens! You have to be patient enough to learn things and go beyond this phase.
Remember, the more you practice, the better it becomes. Are you ready for the real meat? Lets start!

How to start?

The first step, is, join stackoverflow community. For those who are not familiar with stackoverflow, it is basically a community where you'll find all kinds of people from all kinds of programming languages, the strongest community being the JavaScript-ers. Joining this site is a must!
Once you do that, feel proud! You're a developer </> now!

Start with HTML/CSS

I've seen people starting off with REACT framework without even understanding how to create a proper and scemantically valid HTML5 document! Lets call this person Bill. Don't be Bill. You'll end up wasting a lot of time learing that you shouldn't be learning this way.

Meet John. He read this article and knows that if he's not good in HTML/CSS, he first has to master, or at least get a sense of confidence in it before attacking JavaScript.

Be like John.
meme

Literally, you can achieve so much just with HTML5/CSS3 at your hands! CSS3 makes it possible to achieve dynamic things (like animations) without JS touched at all!
Try to touch on all those aspects (though you won't find yourself animating stuff all the time, unless you want to be a UI/UX designer)

Once you're comfortable with HTML/CSS basics, move over to the bad boy JS.

A lot of resources are waiting for you at the bottom of this post! Don't miss them out ;)

Meet JavaScript

One thing you'll have to understand, is, web as of now is mostly JavaScript. With JavaScript being implemented and used almost everywhere now, from web to servers (NodeJS) to desktop applications (electronJS) to mobile applications (React Native), it becomes extremely important that you have a good knowledge of JavaScript in order to program on the web.
Therefore, if this is your first time reading the keyword "JavaScript", I'll suggest spend a few hours on researching and getting familiar about the history and all that stuff about this dude.

Java is to JavaScript what car is to carpet (i.e. there is no relation between Java and JavaScript apart from both being programming languages)

Start doing!

Pick up something and start doing! I still remember how I started off learning jQuery (a simple JS library). I made a tic-tac-toe game using jQuery on web.
It sucked. UI, UX, JS. Everything. But it was fun! And that's what matter in learning! It was fun to code, and I learned quite some stuff while building that! And it was fun too!
Pay attention why I am repeating learning and fun so much! There is so much to do that if you're not enjoying doing it, you will eventually back off. Your determination will fail. WILL FAIL.
I gurantee you that. Unless you have a very strong reason to learn JS (like getting a job in 3 months or you're going bankrupt), you WILL give up if you don't enjoy the process.
The only way to not give up and to not not enjoy the process is to build something you like with some something you're learning. Works 10/10.

Answer Questions

The fastest way to learn web development is hop on to stackoverflow.com and see what others are asking. See if you can answer the questions there. If yest, great! You're on your way. If no, wait for a while and let others post their answers. Then analyze how they answered the question.
A little discussion in comments with the people won't hurt either.

Read Some Books

Practical knowledge is important. I believe 1000% on that fact. However, books can help you to speed up things if you combine books + practice. With that being said, I'd like you to introduce you to one of my books on ECMAScript 2017 which is essentially ES8.

This book dives deep into JavaScript and new things introduced in ES2017 like SharedArrayBuffer, atomics, async/await, etc.

Go ahead and purchase one or get it for free!!

Final Words

The take away from this article should be, if you're beginning, find as many small projects as you can and start coding them by yourself. Doing it yourself teaches so many things! You'll make so many mistakes and that is the only way to teach yourself. Good luck!

Some Resources

Here are some resources for you to begin with JavaScript:

  1. MDN (HTML/CSS): https://developer.mozilla.org/en-US/docs/Web/HTML and https://developer.mozilla.org/en-US/docs/Web/CSS
  2. My Book (JS): https://www.packtpub.com/web-development/learn-ecmascript-second-edition
  3. MDN (JS): https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics
  4. codedamn videos of course (JS) ;) https://www.youtube.com/watch?v=xi1fV0ACavc&list=PLYxzS__5yYQlwfMje_MxQPb18tXtCJbfR
  5. codedamn mobile app: coming soon!