How I Became a Programmer

I started learning programming on FreeCodeCamp on January 2019, and on July, I became a back-end developer. This maybe seems kind fast, but actually it’s just because I skipped during the course and some luck.
When I was in the middle of Data Visualization Course in FreeCodeCamp, I stopped it, and built my first static website work by mimic for job interview. The website gave me the best opportunity to learn at a very fast speed. Once I finished it, I began to look for a job, within one week, I got the back-end job offer.

So, why back-end, not front-end?
Well, it’s an coincidence. I always hope to have full-stack capability, and this is the answer I gave in every job interview when asked about career plan. And I also told them my shortcoming is that I would lose patience quickly when things get iterated. Luckily, one manager just get interested by my character and learning speed, so he seriously asked me: you don’t need to wait, I can give you the offer as back-end developer now, but you only have three months to prove to us that this is a right choice for both of us, do you want to take this? I took it. Then I’m a back-end developer now.

Don’t let the better be the enemy of good. The thing I learned from this experience is: I shouldn’t wait for the perfect moment to act, I don’t need to start next step only when I get everything prepared. When I learned programming on FCC, I always thought it as a step-by-step path, I can only start next course after I get this certificate, I can only start to build my first website when I finished the whole course, I can only start when I seem perfect. No, don’t let this be a reason to postpone to act, don’t let this learning, preparing process be the reason…

If you feel struggling, it’s ok. When learning programming, I found learning isn’t a linear line, it’s a spiral process. First, you got a problem, search it and get a strange word, struggle through complicated articles, you remember its name. Later, you encounter it again, not afraid this time, and read articles patiently, basically know the how. Then, it pops up again, maybe with some delicate make up, show you the point you miss. You study it one more time. Then it’s not a problem anymore but a toy. Seem like walking with same problem, but every time the known cycle get bigger. This is a typical pattern for me to learn programming.

I found building the website really helps me grow, it mixes css, js and so much problem I never expects. If we focus too much on the FCC tasks, and geting higher score, then we kind of learn things by memory, not exposed to the real battleground. Then it’s natural to forget what we have memorized.

The thing they really value is your learning speed and your potential, not how good you are now, for them, no matter how much you have learned on FCC, you are just a newbie who never have real experience. Compared with knowing all answers for every question during interview, it’s more important to show: 'I don’t know the answer, but it doesn’t matter, I can learn fast, it’s not a problem". Your confidence would add the chance that they bet on you.


I have a few questions. What was your programming level at that moment(front-end/back-end)? Was that the only website you had at that moment? I personally learned Javascript and React a bit of Nodejs + Express as well but it s been quite some time since I practiced in Node JS I feel more confident on React and JS atm. I also have a portfolio website and some projects in it but I don t feel confident enough to apply for jobs. I feel like I wouldn t be good enough to be hired as a developer.

Also during those months what it was like? Did they teach you stuff as well or you had to discover everything alone? I would like to find out more. Also since you said about being a back end dev at the moment, what is your current level now? Like for example: Do you know to fully implement a server on your own ?(assuming that you use Node JS).
I kinda have those issues you enumerated. I wanted to Learn JS and I did then I was like now if I want to be a webdev I should also know CSS very good. I focused on CSS and forgot about JS then I realized that I knew CSS but I forgot JS since it s been a while, then I started JS and Node JS and I kinda forgot those advanced features of CSS then I focused again on JS and React. I feel like I will never be prepared. I kinda want to be very well prepared on all of them.

I have add more info in post, and some answer for your questions:

1.At that moment, on front-end, I got fisrt three FCC certificates (Responsive Web Design to Front End Liararies), on back(PHP), basically zero.
2. Yes, only one website, but also with some work done during FCC course
3. You have been much better than me at that moment. One of the difficult in teaching youself to program is that you play with yourself, you can’t get or imagine the really important problem. We learn fast when we lead by useful problem/question. Plus, how about trying to think applying job as an opportunity to talk with developers, to get advise, to find things you miss. You lose nothing during this.
4. During the first three months in company, they give time and learning tasks (kind of like the projects in FCC), not very much real work task. Now, I can indepently develop some system, not just fix bugs.