Web Developer

Update: freeCodeCamp & Web Dev

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:


Instructions for sample coding project

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.

Codepen testing environment

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:

Survey form coding project requirement for adding checkboxes

In the lesson about radio buttons, there was no mention about “values”:

survey form checkboxes html code

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:

Survery coding project requirement for HTML validation error

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:

Survey form coding project requirement for adding radio buttons

However, when I ran the final test, I got an error telling me that the radio button tags needed a value attribute:

Error message for the survey form coding project

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.

Web Developer

Initial Thoughts: freeCodeCamp

The first career I’ve decided to explore is web development. Aside from acting, it’s the career on my list that I have the most experience with. As I mentioned in my previous post, I taught myself HTML a while back and have had an opportunity to actually use it a bit in my jobs.

Luckily, there are a lot of resources available to learn web development. For the last week and a half, I’ve been going through the lessons on freeCodeCamp. True to its name, this website offers thousands of small coding lessons 100% free.

The curriculum

Free Code Camp offers six overarching areas of study, or certification topics:

Certifications or areas of study on Free Code Camp
Six areas of study (or certifications) are available.

Each area of study is broken down into units:

Certifications on Free Code Camp are broken down into units
The number of units range from 2 to 9 for each certification topic.

 

The units can have as few as five lessons to upward of 60 lessons. Now, that may seem overwhelming, but the lessons are really short and just focus on one piece of code. For example, using the u tag to underline text is one single lesson and took 1-2 minutes to complete.

The final unit in each area of study is a list of projects.

The lessons

As I noted above, each lesson focuses on one small concept or piece of code, so they are really quick to get through. The lessons include an explanation of the code, and an interactive exercise.

Sample lesson - ordered lists
Directions for the exercise are included at the bottom of each lesson. You complete the exercise in the code editor in the middle and see the effects on the sample web page on the right.

Initial thoughts

I am about halfway through the first area of study, Responsive Web Design. Even though I already knew basic HTML, I still started from the very beginning, which was actually pretty helpful because I learned some HTML5 concepts that I didn’t know about previously.

I really like how the lessons are broken down, each focusing on one simple concept. It’s also helpful to have the interactive exercise for each lesson. Typing out the code (or in some cases, copying and pasting) and seeing how it functions, helps cement the concept a little better than just reading about it.

One thing I will note, however, is that the exercises are so prescriptive that you can get through them even if you don’t 100% understand the concept. So, for example, I’m still not completely clear how a bezier curve works, but it was easy enough to follow the directions of the exercise and copy and paste the code in order to pass the lesson. However, if I needed to create a specific speed and path of an animated movement using a bezier curve, I don’t think I’d know where to start. So for some lessons, I may need to do outside research to really understand the concept

Sample lesson - bezier curves
Huh? Some lessons include concepts that are a little more difficult to understand, but the exercises are still easy to complete.

 

The lessons and exercises are pretty easy to get through, but I have questioned whether or not I’ve actually retained the information in a way that I could complete a full project which requires the use of multiple concepts combined together. That’s why I’m glad each area of study ends with a unit of sample projects. I’m looking forward to getting to that section.

I would definitely recommend freeCodeCamp for anyone who is looking to just get a little taste of web development. It’s free and easy to get through, so the only cost is time.

Reflections

I’ve enjoyed going through these lessons, but I think it’ll take completing a full web project or two to determine whether or not I’d find this type of work fulfilling. So far, I really enjoyed the CSS unit and things to do with styling, which I guess speaks to my artistic background.

I can’t wait to get a good baseline of knowledge and test out my skills with a real project. Maybe I’ll finally set up my acting website …

I’ll report back when I’ve gotten through all the freeCodeCamp curriculum.