My Story

I started with experimenting creating websites through FreeWebs way back in 2006. Those experiments, really just playing around with existing tools, led to watching free tutorials, browsing forums, downloading existing free sites and playing with them on my own.

Eventually I had enough knowledge to freelance and get small clients through forums or Craigslist. I would post on these mediums offering cheap development services and sometimes for free to get experience and also to use as portfolio.

My source of learning was pure trial and error and anything online I could find for free. Fast forward a few years later; proving out my skills via a portfolio landed me a job.


  • When you type in a website in the browser, hit enter and the page loads, what you see is the frontend – a collection of web ‘languages’ that translate code into a nice view.
  • The brief loading phase while you hit enter, is the server – think of a hard drive that lives somewhere for anyone across the world to access, that holds the website.
  • Once you’re on the website, the functionality is powered by the backend – a collection of web ‘languages’ that empower the frontend to do things. Updating the status on Facebook, uploading a video to YouTube, or calculating some math on WolframAlpha; frontend allows you to interact and give commands to the website, while backend actually executes it (typing in a Facebook status versus Facebook actually saving it and sharing with your friends).

Path to learn

There are lots of pieces to connect and the development world can seem very large. The way to approach this is segmenting a few key components, and in the process you’ll learn how to connect it all.

What worked for me was learning these components;

  • HTML & CSS (frontend)
  • JavaScript (frontend)
  • NodeJS (backend – uses JavaScript language but for the backend)

Dig deep and cover as many resources as you can and naturally you’ll learn to connect the dots. There are lots of resources available for free for learning web development. YouTube has some great content and places like CodeAcademy or freeCodeCamp are amazing resources that provide interactive tutorials all for free.

Here are some resources I’d recommend:

CodeAcademy Courses (Interactive Tutorials)

  1. HTML/CSS course
  2. JavaScript course

YouTube Crash Courses

  1. HTML Crash Course For Absolute Beginners
  2. CSS Crash Course For Absolute Beginners
  3. JavaScript Fundamentals For Beginners
  4. Build An HTML5 Website With A Responsive Layout

Software to Download & Tutorial

  1. Brackets by Adobe (HTML and CSS Tutorial for beginners)

Things to explore after above learnings

  1. Agile Development
  2. Software development lifecycle
  3. StackOverFlow
  4. Databases (MySQL)
  5. Bootstrap Framework
  6. Angular JS
  7. Python (course on CodeAcademy)
  8. GitHub

Navigating the industry

Say you’re at a point where you can comfortably make websites, here’s where to explore next. Tech industry appreciates people with different backgrounds and a degree in Computer Science isn’t always necessary (depending on employers), often times proving your worth through showcasing your abilities does the job.

The trick to figuring out next steps is determining where your curiosity stands. As you learn these components, pay attention to which you like more and which you find yourself wanting to learn more about. Junior or entry level jobs are relevant to both frontend or backend roles.

Here are two paths available:

  1. Portfolio
    Say you’re going for an entry level frontend development job, what you need to prove is your ability to craft good frontend code. Take what you learned and build something of your own. Most tutorials will walk you through a functional application like a 5 day weather page, think of something applicable to you and build the project. Build as much as you can and take your time.

    Once you have these for showcase, go to tech and web development networking events you can find via or if a events page exists for your city (most major US cities are there). Leverage the networking, ask people for their advice on how to get into the roles and apply to these jobs via as an example. Take the applications you built as your resume portfolio.

  2. Accredited Certification
    There are many accredited institutions that offer courses specifically focused on beginners. They also provide networking opportunities and add some official weight to your resume credibility than just building projects on your own. One popular vendor is General Assembly. Research their competitors and prices and determine if this is the correct route for you. This should not be a replacement for #1 rather complimentary.

    For those who need exactly down to the detail path on what to learn, these courses are a good option.

Closing thoughts

Feel free to ping me on LinkedIn for any questions. Tap into your curiosity as there are endless resources available to learn web development, and for free. It’s also a giant web and things may not make sense in the beginning, but leverage forums and different sources for same topic to build context and have patience!