My Story On How I Became a Self-Taught Developer with No Experience
It was exactly two months ago, on August 5th of 2021, that I signed up for an online web developer course at TeamTreehouse to start learning how to become a programmer.
Back in August I basically knew nothing about web development. I did learn how to create websites through WordPress templates back in college, and have learned how to set up Shopify and WooCommerce stores, but that was the extent of what I knew about web development.
I had heard of HTML and CSS, but the terms were vague to me and if you’d ask me to explain what they are in simple terms, I really couldn’t have.
Terms like ‘Front End/Back End, Full Stack, Javascript, Java, React, Bootstrap, PHP and Python’ were all unknown and uncharted territory as it is for every beginner starting their web dev journey.
Since then my views on programming completely done a 180 degrees.
And in this post I’m going to try to explain what I’ve learned so far to my two-month younger self who is a complete ‘noob’ to the web dev world.
This will simultaneously be aimed at any beginners looking to start their web dev journey and get a job as a developer.
Where to start as a web developer?
New web developers can find it daunting to learn coding, programming and all the languages that come with it. What I have learned from the past two months is that the best way to approach web development learning is to not learn everything at once.
Dabbling between learning everything that you should learn about web development will definitely feel daunting. My advice is to recognize the languages that you need to learn first then learn them one at a time.
You could ask most web developers and they will tell you that any new beginner should start learning three coding ‘languages’:
- HTML
- CSS
- Javascript
These three are the core languages that are widely used in creating websites or applications, which makes them the ones to start learning first.
What is HTML?
HTML stands for Hyper Text Mark-up Language. This is the coding language that is used to write and structure the content of a webpage. It allows you to divide webpages into sections such as paragraphs, headings, forms, header and footer, etc.
The HTML is content on your page that is not yet styled. It doesn’t allow for you to add colors or any other styling to the webpage. But nonetheless it is very important as you refer to your HTML later when you are coding CSS and Javascript.
So, what is CSS?
CSS stands for Cascading Style Sheet. This is a coding language that allows for you to add colors, change placement, change fonts, and much more to your page.
It is basically a sheet(like a sheet of paper), where you write your styling code that cascades from the top down. The cascading-part is important to recognize because your code that is higher up on the sheet can be overwritten by something you write below. And for those who aren’t familiar with this can spent a lot of hours scratching their head wondering why their code isn’t working they way they want to.
So, as mentioned there is the pure content-language of a webpage, the HTML, and the styling-language, the CSS, what more do you need?
Shouldn’t that be enough for a webpage?
For most of the time the answer to this is: no.
You will also want your site to be interactive. You want to click on stuff to generate a reaction. This is where Javascript comes in.
What is Javascript?
Javascript makes the webpage, or web app, interactive. It allows you to customize what happens when you click something, hover over a piece of content, scroll, type in a piece of text, etc.
Comparatively to HTML and basic CSS, Javascript can be somewhat more complicated to learn and takes longer to fully grasp the concepts. The important part is to learn the terms and concepts first.
Terms that are essential to understanding and writing JS code are:
- Variables, Constants
- Comments
- Strings
- Numbers
- Arrays
- Boolean statements
There are more, but these are some of the first to learn. The terms are not complicated, but learning these early on will make the JS learning process much easier.
Then, learn what functions and methods are. Functions let you define code to execute the action you want it to do. Functions are used in many languages and learning this will help you learn other languages more quickly.
Javascript uses a model that is called the Document Object Model(DOM). At a glance, this may seem difficult to understand, but broken down to its concept, it is quite understandable. The DOM lets you attach a reaction to an action performed. For example the DOM lets you define what happens if you click a button on your webpage, like changing the color or size of something. It is a hugely important part of Javascript.
Front End Developer vs Back End Developer?
So these three are the first languages that are the most important to learn if you want to be a front en developer.
The front end devs work on the stuff that you do see on a web page, while the back end developer works on all the stuff that happens ‘behind the scenes’ of a page(or an app).
Front End = What you see visually on a page/app.
Back End = The programming you don’t see. Sort of like the brains of a page/app.
Back end developers usually have some experience in HTML, CSS and JS, but they typically work with other programming languages like PHP, Python, Java(which is not the same as Javascript), C# and work with data management tools like mySQL, SQL, mySQLi.
The back end works with servers and databases allowing for web pages/apps to collect and store user data and other information in databases and be connected to servers that allows for the projects to run properly.
‘Full Stack’ just means working with a mixture of both Front End and Back End.
Where to Start as a New Web Developer?
What is so great about starting learning independently from a college or a university in 2021 is that there is a multitude of resources available online.
On August 5th, I started with TeamTreeHouse, a learning platform for web devs, for the first two weeks and found a beginners course at StudioWeb. I would start with the beginners web dev at StudioWeb. I found their teaching methods to be very effective for beginners. I am unaffiliated with any of these.
Look up CS50 on YouTube and you will get a bunch of free and very solid beginners lectures on a multitude of web dev subjects.
I also would look at Youtubers such as Web Dev Simplified, Kevin Powell, freeCodeCamp.org.
And as a final tip to you is to code as frequently as you can. Try coding navigation bars, forms, play around with placement of things, get things to work through JS codes, etc. Get things to work then break them and try to understand why they break.