Categories
FreeCodeCamp

My Experience Completing FreeCodeCamp’s Quality Assurance Certification

What is Quality Assurance?

In my own words I would describe it as making sure that your code works the way you intend it to. There are methods for doing this such as code review and planning, but mostly this is referring to writing tests for your code that validate the functionality and correctness of the code. This section of FreeCodeCamp covers understanding the basics of writing tests and how to use them. There are libraries such as Chai that are used to make writing tests to check your code very straight forward.

Module Section

The learning section (module section) has just 2 topics that it covers. QA testing with Chai, and Advanced Node/Express. Both sections are quite short. The QA section is good and will help you learn the basics so that you can later tackle the projects. The Advanced Node section covers some things that are valuable for working on your own personal projects but have nothing to do with the QA section or the QA projects. The topics the Advanced Section covers are essential to building your own projects down the line but in my opinion other than having these topics introduced this section it did not bring me any value and was actually super confusing as I didn’t understand the relevance of any of it at the time.

Projects

There are 5 projects to complete and all you get is a user story(list of requirements) to build them. Sorry, no tutorial or code along here. You are on your own. FCC estimates it will take 300 hours to build these projects.
It took me less but that was only because I completed this section after spending a ton of time on my own learning about back-end development. You will build the projects that include a working back-end node server and then you will also build tests to validate your code. The tests will also be for your back-end code. You will not need to create a front-end for these projects as it comes with some boilerplate(starter code) and it will serve up an html file that has the structure you need for the front end(nothing fancy). This section has changed since I completed it. It used to be QA and Information Security, but now they have split those up. They did keep 3/5 of the projects the same, so I will share those with you.

Is it worth it?

Lastly, I would like to share what I feel like I got out of this section. The projects themselves are not flashy. An employer (especially if it is someone who doesn’t code) would have a hard time understanding what they are/do. I personally don’t have these projects as my main portfolio pieces on my website. I use personal projects that I came up with on my own for that. I have these QA projects listed as side projects if someone wanted to look them up. I found the process of actually building the projects and then building the tests to go along with it valuable, and I have sometimes talked about that when I have interviewed. I also found that building my own full-stack projects is so different than working on the FCC projects that it feels (almost) worlds apart. In my experience, despite all the learning I had done, and all of the FCC projects and school I had completed, nothing came remotely close to building my skills as working on my own projects has. So the way I look at it is this: Whether I did FCC or not, I’ve still had to build my own projects and understand all of the pieces.

Here are the projects:

Metric Imperial Converter: Build the back-end for converting different units of metric to imperial units and then build the tests out.

Source Code: https://github.com/ColtonHibbert/fccmetricimpconverter

Project: https://fccmetricimpconverter.herokuapp.com/

Issue Tracker: Track and Manage Tickets. This has the basics of what is called CRUD(Create, Read, Update, Delete) for databases. You will also create the server code and all of the test code.

Source Code: https://github.com/ColtonHibbert/issue-tracker

Project: https://colt-issue-tracker.herokuapp.com/

Personal Library: Manage a list of books. You’ll need a database, the server code, and yep you guessed it… testing code as well.

Source Code: https://github.com/ColtonHibbert/fcc-library

Project: https://colt-fcc-library.herokuapp.com/

The last two projects are a Sudoku Solver and an American British Translator. I haven’t completed these projects as they were added after I finished this section, but the gist is still the same.

I hope my experience has been of some value to you. Good luck out there!