How to learn code in the most efficiency way?

Hi guys, I’m a newbie to code. After my friend introduced me to FCC, I’ve been study pretty much every day. But I got to the last test of the 1st section i realized that i can not code without instructions like in the lesson. So i want to ask how you guys learned and practiced ? Should i keep re-do all the lessons or writing notes? Or put more comments in the lessons, or maybe try to build a similar website based on the lesson?

Please give me advice. Wish you all have a good weekend.


Hello there @willq.

Learning to code takes a lot of effort as long as you want to get better at it. In programming, there’s no single answer to a problem and this in my opinion makes learning to code flexible and somewhat encouraging.

Sometimes going through a course or curriculum twice or thrice is a good approach but don’t stop there, take a step further and grab those same projects you built following instructions and now build it in your own way. It’s fine if you get stuck as you can always seek help from other developers or reference the previous projects you built.

To “constantly” get better at coding you need to consistently PRACTICE! One way to do this which I can advice is taking the #100daysofcode challenge. While doing this, you’d be doing something new everyday, learning something everyday and also keep yourself in check. You can find out about this on twitter or Instagram and you’d see how many devs (including seniors) are constantly doing this just to stay up-to-date with their stack.

Another step would be checking out sites that provide real world challenges like Frontend Mentor | Front-end coding challenges using a real-life workflow or hackerrank, pick a challenge/project and then start building and like I said it’s okay to get stuck and struggle.

To get better at solving some issues, research about it using your favorite search engine. You’d definitely someone who had the same issue and shared their thinking process or you might find some hints from their solutions and from that you’re gradually building your own thinking process.

If ever you get stuck or burnt out, take a break, hangout with friends, grab a drink or coffee, watch a movie trust me when your brain is more relaxed you’ll find an answer or something close.

Lastly, PRACTICE, PRACTICE and PRACTICE. Every developer is a constant work in progress.

Happy Coding :+1:!


Thank you for your answer, i will definitely follow this guideline.


Hi @willq

I had the same problem like you. Enough knowledge to code simple tasks but not enough to start a project alone from scratch.

What i think really worked for me was combining FCC with other sources such as codewars . You can start with the 8 level challenges and work your way through more difficult ones. I felt it really worked for me when i was at the level of not being able to come up or take on a project on my own but i was able to code some simple tasks if they were clearly asked. I worked with codewars until i felt ready for leetcode and then I applied for software engineer jobs and I actually got one from the first try. FCC+ codewars + leetcode and a bunch of YouTube did it for me.

Wish you lots of good luck and motivation🤞


Hi @onemaria
Thank you for helping me out, I looked at the “codewar” it seems i need to study more with FCC to be able to get in the side. But thanks a lot
Have a great weekend

I’d be careful leaning too much into Codewars and Leetcode - they focus on gymmic coding instead of skills used on the job by software developers every day. Unfortunately, many interview processes use gymmic problems, which is why some people focus on these gymmic problems to the exclusion of working on more representative projects that build their on-the-job skills. You should do some gymmic problem practice, but doing realistic projects is more important.


Hi @JeremyLT
Thank your for giving me a advice.
At this point, my skill is still fresh, i don’t know what 's “gymmic” yet. Im still learning the basic of HTML and CSS, since i just started to learn about 20+ days. But i will keep that in mind for the future.
Wish the best for you.

I consider “learning by doing” to be one of the more efficient ways, in the sense you’ll learn the most practical and relevant skills in the shortest amount of time, mainly due to the nature of using what you learned and having to deal with what comes up as it comes up.

So for example, if you’re learning HTML and CSS, you can do the projects, but can also build your own that are of similar ideas/concepts. Maybe mix in some smaller improvements here and there using what you learned, while getting to play around with anything new you might have learned more recently, or want to learn next.

By “learning by doing” you’ll have to review and use what you learned. Odds are you will have to review a few things, debug and solve problems you run into. Its this process is where you’ll gain that “experience”. It’s one thing to learn about what you can do, and how you can do it through tutorials, and guides. It’s another to take that, and try to use it in a “realistic scenario”. You’ll get to run into problems and solve them with more “open ended” solutions. It’s that experience, that builds “experience”.

This approach is more open ended, but that can allow for some creative freedom as well.

Good luck, keep learning, keep building :+1:


Thank you for the advice. I will keep learning and practicing.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.