A Guide for New Web Developers - from a newbie to another

Published on Oct. 9, 2016

updated 3 years, 9 months ago

This post is for those who're looking to start web development, and don't really have a background in coding. It also applies to those who're just looking to start coding in general. It's a length post, so pick the parts you want to read based on the headers. When I was young, my dad was the first to teach me html, the (now discontinued) web publisher software Microsoft Frontpage), and how to upload files onto servers via FTP. It was all very simple and vague last time - the attention span I had as a kid would make any goldfish on the planet proud.
Websites 15 years ago - credit: Nairaland
Fast forward to today, I'm currently doing a part-time Masters in Data Analytics while holding a full-time job in a non-tech government role. After spending some time doing web development, and some general coding - I thought it'd be create to share my experience with my fellow beginners, or those who are sitting on the fence, waiting for that little nudge.

Find a persuasive reason to start

For those who are still on the fence, it is most likely because you haven't given yourself a clear objective. What do you want to achieve by learning to code websites and other things?What's your purpose?

I found my purpose by chance. A few months ago in my current job, my colleague was lamenting about the high costs of outsourcing our event webpage - it was our main event of the year and we were about to spend over US$3K to make a simple event webpage that let people register with an invitation code. At that point, I've no idea what hit my brain but I instinctively told my colleague and my boss - 'Hey, you know what, let me do it. Give me two weeks.' Bam. What did I get myself into? I started researching, learning the basics, and of course, panicking. I didn't get anything done for a good 2-3 days because I didn't know where to start, even though I kinda learnt some basic HTML, CSS, and Javascript. On the 3rd day, I told myself - 'f*** it, let's just get started.'. With that, I found myself immersed nearly 17 hours a day trying to put everything together. One thing that I soon came to realise was that I loved what I was doing - trying to make it work! I was constantly asking Google, surfing Stack Overflow, and going through the endless materials available on the web. I found myself reluctant to leave my seat when mealtimes came because I was so bent on resolving a bug. Over time, I figured out how to put everything together and managed to do up a simple event page - saving the office a few thousand bucks at the same time! Not too bad. From that point on, I knew I wanted to find out more about web development and coding. I wanted to chase that same feeling I got when I was creating the event web page. Take a minute and think about it - does the thought of being able to create something (and break it too) excite you every single day? Maybe you've always wanted to be like that particular Instagrammer you always follow, sitting in cafes all day and coding? Or simply, you've always wanted to do this but never had the balls to do it.

Finding the Right Resources

So here's the actual part about the resources I used and how I used them

With the resources available on the internet, such as Codecademy, Coursera and others, it's natural that we want to find out which ones are most worth our time. I started researching on the best ones to use - DON'T DO THIS EXCESSIVELY. This was my mistake - I spent too much time trying to decide which resource to use than ACTUALLY DOING SOME REAL LEARNING. Just pick one and get down to it, especially if you are just starting out. Once you think you've covered the basics, keep finding more information from other resources and you must remember to apply your knowledge on mini-projects and not let it rot in the dark corners of your brain.

1. List of Resources

To start off, here are the things that are important for any beginner to take note of. There are two main types of web developers: front-end and back-end developers:
  • Front-end: Does the HTML, CSS, JS. Basically the person who does everything you actually see on the website.
  • Back-end: I call these guys the unsung heroes because they are the ones that actually make the whole thing work, but the general public won't be able to easily appreciate what they do. Creating databases (blog posts like this are stored in these things!), configuring the server and actually delivering the website pages to the internet. Without them, anything on the front-end will forever only remain on your own desktop.
Some people prefer to pick one and focus on it, there's no right or wrong way but it's important to try and find what suits you best. For me, I decided to expose myself to a bit of everything - I first learnt front-end languages like HTML, CSS, and a bit of JS. Next, I picked up Python as my back-end language. This was sort of an accident mostly because I needed to pick it up for my masters, I eventually found out it was popularly used as a back-end language! Lastly, I did a bit of PostgreSQL (a type of relational database). Here are the resources I used and some remarks about them:
  • Codecademy - this was my very first go-to resource when I first started out. They provide a very good preview of the language you would like to learn. It forces you to learn by doing, and their explanations are done in a clear and concise manner. I did their HTML, CSS, JavaScript and Python tutorials.
  • W3Schools (Bootstrap) - Bootstrap is one of the most popular front-end frameworks used by developers today. W3Schools provides a wonderful tutorial about all you need to know about the framework. In general, they've great tutorials about other stuff like HTML, CSS, JavaScript, SQL, PHP etc...but don't get ahead of yourself, take it easy.
  • Python Programming - Amazing website to learn python in a hands-on way. He provides textual tutorials which are basically transcripts of his video tutorials. He has tutorials about the Flask and Django frameworks for Web Development in Python - I went with Django because it had more things set in place, while Flask is more 'naked' and light-weight and you'd have to customize it yourself.
  • Coding Entrepreneurs - Another great resource for the Django framework. He goes into more detail about the things you can do with Django.
That's basically it! Your other biggest resources are Google and StackOverflow!

2. How to Use Them

There's no secret to this - after you've picked up some of the basics, you should get down to applying the knowledge. Which begs the next big question - how do I find projects to do?

3. Finding Stuff to Do

Set up your own webpage! That's what I did - I put together whatever knowledge I had of the front-end and back-end stuff into this page. Find inspirations elsewhere - such as these: That's all for now! Feel free to drop me a line and I'll get back to you as soon as I can :)