Start to code - Part 2: Choose your full stack weapons

June 5, 2016

In the first part of the article we tried to find a good answer to the question “where should I start if I want to learn web development?”. Now it’s time to move to more advanced stuff. This second part is covering some good full stack learning options. At this point, you should prepare for a longer term commitment. Also it’s essential to enjoy what you are learning. Armed with your new HTML, CSS, and JS knowledge, it’s time to think ahead.

The next objectives:

  • be able to develop your own dynamic web applications
  • build a nice projects portfolio, which will be a very important part of your future web developer CV

You will need to take a few decisions such as:

  • which back-end language to learn?
  • which web framework?
  • should I learn also a frontend JS framework?

There are so many options to choose from, and picking one is no easy task. This is of course not a bad thing, but for a beginner looking to start somewhere, it can be overwhelming.
Here’s the good news! There are some great free online platforms. Those will guide you step by step through the full stack learning process. And once you understand well enough one language, learning another one will be much easier.

Learning platforms

As you can see, the 3 alternatives have different approaches for the back-end. Which one to choose? Well, it depends. You should consider what languages are more in demand in the area where you are leaving or planning to move. Most important, being the first language you learn, you must feel comfortable with it. You have to find it logical, approachable and like its syntax. The way you write your code is very important, but that’s a different discussion.

Try the Languages

You should spend some time reading about the languages. You will see that the opinions you find on the Internet are so different. While some people say that one language is easier to learn, other will claim it’s too slow or will be soon out of demand. Try to “compile” as much information as you can, but without losing too much time. Any of them will be a good start and a solid learning base for the future. So if you decide to give them a try, here are some resources:

  • JavaScript - if you followed the first part of the article, you already finished this step. You have the basic knowledge you need about JavaScript. You can even choose another language for your back-end study. Yet, your new acquired JS skills will be useful for the front-end part of your future projects.

  • Ruby - you can use this free course from CodeSchool as a start point. If you are not convinced and want to try more, as Odin Project recommends, follow this tutorial: Learn to Program. I recommend that at this point to skip the installation part, and use an online environment such as https://repl.it/languages/ruby, especially if you use a Windows computer.

  • Python - use the free course from CodeSchool.

Now, back to the platforms:

1. FreeCodeCamp (FCC)

FCC must be already familiar if you completed the HTML, CSS and JS paths. It is a dynamic regularly updated platform, with a huge community behind it. It generally promotes learning by doing and encourages collaboration between the students.

Stack

The term stack describes the technologies, languages, and frameworks that you are going to learn. FCC is 100% JavaScript. You will need to learn only one language, for both front-end and back-end.

Frameworks, libraries, and databases: Bootstrap, jQuery, React, Express, Node, MongoDB

Curriculum

The curriculum is often updated, so it may already have some changes by the time you will read this article. It includes in 4 certifications, with many personal projects for each of them:

  1. Front-end Certification - you continue the JS path. You learn about object-oriented, functional programming and algorithms.
  2. Data Visualization Certification - you get introduced to SASS and React.
  3. Back-end Development Certification - you learn about testing, Express, Node, Git, MongoDB, and APIs.
  4. Full Stack Certification - you will work on real projects for nonprofit organizations.

Structure

There are small exercises and personal projects at the end of a section. Each exercise teaches you about a specific subject and should not take you more than a few minutes.

Everything happens in an online interface. You do not need to install any complicated software on your computer and can use any OS (Win, OS X, or Linux). Also, you complete your personal projects in cloud environments such as codepen or cloud9.

The learning map is not only about exercises and projects. You have access to a wide range of computer science videos, or preparing for interviews.

Conclusion

FCC is a solid learning platform. The small lessons and no installations make it ideal for people with a busy schedule. Its map structure feels like a game and gives you good sense of progress. FCC encourages students to collaborate on projects and help each other. There are forums, facebook groups and forums where you can find help and news.
Yet, FCC may not be your favorite learning platform if you don’t like to write JS. In that case, check below.

2. The Odin Project (TOP)

TOP is a different kind of learning platform. Lessons are longer and need more individual study time.

It focuses on Ruby on Rails, a platform in high demanded in many places of the world. It has a quite big community of helpful people. You can join them also on facebook here: https://www.facebook.com/groups/TOPSTUDYGROUP/

Stack

Back-end language: Ruby
Web framework: Rails
Other frameworks, libraries, and databases: Bootstrap, jQuery, Angular, BackBone, Postgresql

Curriculum

TOP has a total of 7 big chapters. The first one is an introduction to web development.

You will continue with a chapter called “Web Development 101”. This is a big section that will drive you through most of the concepts that you will learn in the future chapters. You start with installations, continue with Git, front-end, back-end and frameworks.

The next chapters are an in-depth analysis of the above concepts. You begin with Ruby, then Rails and advanced HTML, CSS and JS.

Chapter 7 is a agetting hired section. You learn how to build your portfolio, how to look for jobs, apply and prepare for interviews.

Structure

TOP chapters are big, so prepare for it and don’t let that intimidate you. TOP is actually a collection of free resources from the web, combined with authors posts.

It is a serious curriculum and requires a good amount of time spent on reading articles and books. There is a big focus on required skills such as automated testing and Git.

You will need to setup your own development environment. It is much easier to follow the instructions on Linux or Mac OS X. For Windows machines, you can setup a dual boot with Ubuntu or another friendly Linux distribution. There are lots of tutorials online for that.

At the end of each section, you will have one or more exercises. TOP encourages you to push them on Github and share your solution. Those will also be part of your future portfolio, so take good care of the code you push online.

Conclusion

TOP it is an extraordinary, fully featured platform. If you will enjoy the beautiful Ruby syntax and the way Rails puts structure into your projects, then go for it!
It may not be as polished and easy to follow as FCC, but you will learn A LOT. As a personal advice, try to get involved in the community. Ask and provide help. As soon as you start to build some projects, try to collaborate with other students.

3. Bento

I didn’t follow the tracks on Bento platform. Also, I don’t use Python. So what I post for this platform is just from the description, not from personal experience.

Stack

Back-end language: Python
Web framework: Flask
Other frameworks, libraries, and databases: Bootstrap, jQuery, BackBone, Jinja, Postgresql

Curriculum

Bento has 5 tracks. It starts with Web Fundamentals. You will learn about the Internet, applications, code and much more.

You continue with the front-end sections where you also learn Git. Next, on the back-end track you go into Python, frameworks and app deployment.

The course finishes with a track dedicated to the databases.

Conclusion

Bento seems a more lightweight learning platform, compared with the other two above. This can be a positive, as it may prove to be just the thing needed to get you started with programming and web.

You’ll learn Python. It’s a very popular language in academic environments, science, but also for commercial projects.

Now it’s time to make your choice and stick to it!