FreeCodeCamp

About me

When it comes to programming, I’m a self-taught. No college, no coding bootcamp… I’m just a random French guy, in his room, in front of his laptop, trying to make sense of all this. I love it. I love learning new things, I love Javascript and NodeJS.
My journey began about a year ago, and now I’m looking for a job in this industry. Programming really changed my life. It changed the way I think and see the world. It’s not just a body of knowledge, but a way of thinking.

My proudest moment in this journey so far came when I completed the three FreeCodeCamp certifications. It felt amazing to achieve such a milestone, and it taught me a lot. But the most important thing I learned is not about programming. So, let me tell you a little story about my FreeCodeCamp experience.

My FreeCodeCamp Story

FreeCodeCamp is an open source community . The concept is simple. You complete a curriculum based on Javascript. You learn to work with jQuery, NodeJS, D3, React… You complete different challenges in order to claim three certificates (Front-End, Back-End, Data Visualization).
Once you do this, you are eligible to code for nonprofits. I discovered FreeCodeCamp about 9 months ago. The curriculum is long (1200 hours) and hard. It took me a while to get all three certifications and I hit many obstacles. The FCC curriculum, in my opinion, is as much about the skills you learn as it is about the mindset you must have. Because I had some experience working with Javascript and Jquery, the first challenges were just things I already knew how to do. I wasn’t learning anything new.

Then, It started to become more complicated. And when it does, that little voice in your head becomes louder:

‘Really? You thought you were good enough for this? No degree, no prior experience, stop hurting yourself, this is not for you.’

The first few times, I was able to complete the challenges, to keep pushing. But at one point, the challenges are not just complicated because of their logic, you also need to learn a library or a framework (looking at you React). What did I do when I couldn’t prove that little voice in my head wrong? Well, I started to doubt myself. I procrastinated. I stopped doing things out of my comfort zone because I wanted to feel better about myself and my abilities.

To me, this feeling was the strongest when I was trying to complete the Game of Life challenge. You can find the challenge here. Now, I struggled for the previous React challenges, but this one was just scary to me. It looked complicated. All those cells doing things by themselves? I can’t do that. No way. It took me a while to get around this. Everything felt impossible about this challenge. From the way to display the cells to how I was supposed to make them interact with one another… How do you quiet the little voice and just move forward?

Just learn enough

The first thing I did was to learn more about React. I realized that my lack of basic understanding of the library was a real problem. So I learned a little bit more. Not too much, just enough to start playing around. I think this is important, you just have to understand enough to mess around. Don’t drown in the technical terms at first. In this case, I just needed to understand a little about props and state. It started very innocently, I just wanted to click a cell and toggle its state, from dead to alive. Just a simple click event. No big deal. Then, I added a setTimeout function. Again, nothing extraordinary. But, very few steps at a time, I completed a user story, then an other one. And one day, I looked at my browser and saw this.

Yeah, I made it. All me. Wow! Is the code perfect? I’m pretty sure it’s not. Is there a better way to show the board? I would not be shocked if it was the case. I’m a 100% sure that a few weeks or months from now, I will come back to this pen and find the code ugly. But when I completed that challenge, this is not what was on my mind.

At that moment, I just learned something way more important than React or any kind of technology the programming industry has ever invented or will ever come up with. I understood how to work around my own limitations and lack of knowledge at a given moment.

I read countless of articles about programming, saying that everybody can become a developer and you don’t need a certain kind of brain. Well, now, I know it is true. I’m not a good developer yet. I don’t write good code yet. A lot of things about React and NodeJS are mysteries to me for now.
I don’t have a programming job yet. That’s the developer I am in October 2016. This developer won’t be the same next month, next year or the next decade. But my limitations today don’t define the kind of developer or person I can become. The mindset you have and the ability to learn by yourself defines what you will become.

When is a flower perfect?

This is the main thing I got from the FreeCodeCamp curriculum. I understood a lot of technical concepts. But more importantly, I understood how to be comfortable with my own lack of knowledge and expertise. I truly believe this is worth more than any programming concept. I will end this article with a quote from ‘The Practicing Mind’ by Thomas M. Sterner that gave the title of this post:

At what point in a flower’s life, from seed to full bloom, does it reach perfection?

By now, I’m sure you can guess that the answer is:
The flower is always perfect.

So, FreeCodeCamp, Thank you for this !

As always, let me know what you think. And feel free to share.
Have a nice day.

Read more