Since my initial blog post on freeCodeCamp and my early explorations of web development, I’ve completed the first certification area of courses and a couple of the sample coding projects which wrap up each certification.
The sample projects take the various coding lessons you’ve learned in that respective certification area and have you combine them to produce a single page, such as a survey form. They provide an objective for the page, as well as a list of user stories (i.e. requirements). Here’s an example:
They also provide a test environment — CodePen — for you to input your code and generate the sample page. Once you think you’ve completed the assignment, you can run a test to see if you’ve met all the requirements.
Thoughts on freeCodeCamp
Working on the sample projects has been an interesting test of how much knowledge I actually retained from the lessons. The answer: not a lot. For many of the user stories, I had to go back to the respective lesson or look at the code of sample page they provided to remind myself how a certain tag or element needed to be formatted.
However, a lot of the web developers I’ve worked with in the past have told me that much of their job requires looking up how do something in the code. And, as with anything you learn, repetition is probably the key to retention.
I do have few small gripes with the sample projects.
First, sometimes the user stories include instructions that don’t match how that element was taught in the lessons. Take, for example, this requirement from the Survey Form sample project:
In the lesson about radio buttons, there was no mention about “values”:
In fact, I didn’t remember learning about values at all, so had to do some searching.
Similarly, there were some user stories that were not covered in the lessons at all, such as this one around HTML5 validation errors:
And lastly, I did run into at least one instance where the user story did not fully outline all the requirements for that element. For example, this user story on radio buttons just mentioned needing to include a name attribute:
However, when I ran the final test, I got an error telling me that the radio button tags needed a value attribute:
In general, if you are focused on just completing the bare minimum to meet the requirements, each sample coding project doesn’t take too long. However, if you are interested in really building out the CSS to make the page look nicer and add to your portfolio, you could definitely find yourself spending a few hours on each project.
Thoughts on web development
The sample coding projects — which better represent the work of a web developer — were much more of a slog to get through compared to the lessons. I’m not sure if it was the way the assignment was presented (just a bullet point of requirements) or the fact that I knew these were fake pages, but I didn’t find myself very energized by the work.
I do want to see this exploration through a little longer. I think it will be helpful to work on a real assignment to see if I’m more motivated when building something that will actually be used (like finally creating that acting website for myself that I’ve been meaning to set up for years).
However, doubt has started to creep in, and I’m wondering whether or not web development really satisfies that creative outlet I’m looking for in my work.