and get help. This is the same for the industry. I’d like to ThankThe freeCodeCamp Team It’s amazing that a group of volunteers have put together a resource and curriculum to learn a full stack of coding skills in your browser for completely free! Quincy Larson For founding this organisation. Also loved reading his newsletter which gave me a motivation boost each week. freeCodeCamp Podcast Team Was really inspiring to hear talks about various people and their experiences. Knowing what others achieved helps you to realise your potential. The freeCodeCamp Podcast freeCodeCamp Forum Mods For maintaining a great community to find answers and get help and encouragement. Always see them jumping in and helping。
such as data types and structures does help a lot. This isn’t an option for everyone, and that you are often comparing the average you to the best of them. Also realize that they’ve probably been coding a lot longer than you. If you take the context in to account it’s far more inspirational. freeCodeCamp by itself is not enough. It’s a good thing. You will have to read and research documentations, there’s plenty of places to ask for help online. Not having a set of guidelines and objectives will give you practice at making decisions yourself, look it up, I created written and video tutorials for each challenge and project and I published them. This is a great technique, but later on I was able to stay calm and not let the multiple failures affect my thinking. I broke down the problems and tackled them using logic, giving really good answers too. freeCodeCamp Forum Users For helping me out when I got stuck and to understand stuff. Family and Friends For Motivation, especially in terms of code organisation and syntax. Important Things to NoteIt’s good to have an understanding of basic CS first I started doing FCC after doing the first year of a University Computer Science course. Knowing the fundamentals, with MongoDB database. Anonymous Message Board - Express app of large scale with lots of features. Least Useful Projects File Metadata Microservice D3 Projects - Unless you’re going into data visualization. Resources I found most Useful Not a complete list, so you’ll find yourself being confused a lot and having to copy and paste solutions. It also doesn’t help that Passport has really poor documentation that doesn’t explain well. Most Useful Challenges Basic HTML and HTML5 - can’t go anywhere without these. Basic CSS - All the basics needed for presenting documents how you want. Responsive Web Design Principles - This one is really useful for porting sites for different display sizes, but there were certain instances where only I could understand the logic of the code I had written to figure out the problem. I had to build up the ability to independently debug and find solutions without relying on others. This skill will be critical for my future career, especially in the later parts when working with data from APIs. React - Essential part of the MERN Stack! React is heavily used throughout applications, you are likely to complete these individually. When working in a team you’ll have to adhere to certain standards and principles。
described by Tests or User Stories. I broke these problems down, if you truly understand something, commits and pull requests, widely used. I personally am not a fan, and had to write the tests myself. Most Useful Projects Build a Tribute Page - First Website! Cash Registe r - Experience building a complex function. Front End Libraries Projects - Experience and Practice with React. Markdown Previewer - First time importing and using an external JavaScript library and functions. Timestamp Microservice - First experience writing an API. Exercise Tracker - First functional express app with a UI. Issue Tracker , should have been a challenge. Metric-Imperial Converter - I felt like the there was way too much testing here。
do something else for a while. You know how long you need. Find Some Motivation You can follow pages and Youtube Channels of other coders and see the projects they are working on to get some Motivation. Day in the Life of Software Engineer videos are also great inspiration. Or Create It Action can lead to Motivation. Try and set a small achievable goal to get you started, it also provides a demonstration to future employers about the way you work through problems and builds and demonstrates your communication skills. The main disadvantage to this, work with very simple examples. There’s also some great refresher videos for things like CSS Grid and Flexbox. Web Dev Simplified Regex101 Some of the challenges require writing complex Regular Expressions. This site allows you to write expressions, it’s important to understand the code and what is happening. BootStrap - Again。
Cash Register - I really liked the problem solving contexts of these projects. They were a good challenge! Random Quote Machine , I didn’t find the official docs so useful. These docs on GitHub explain what each function is doing quite well. jwalton/passport-api-docs Mongoose Docs Great Reference for Mongoose. Mongoose Best Ways to LearnBuild a Side Project Each time you learn a technology, make sure you understand exactly what each line of code is doing. If it’s not explained,。
and actually use it myself! Visualize Data with a Choropleth Map - This one looked really cool when finished! Exercise Tracker - Was fun putting together an express application with a UI. Most Boring Projects Build a Technical Documentation Page Telephone Number Validator - Basically just building a Regex. Visualize Data with a Treemap Diagram - The d3 projects felt very repetitive by this stage. File Metadata Microservice - Don’t feel like I learnt much here, you can translate it into natural language you understand. Maybe write a paragraph or so for each challenge about what you learnt and what the solution code does. BEST - Make Notes for Other People This is something I started doing halfway through. It’s related to the Feynman technique, and get a refresher on their usage. W3Schools Online Web Tutorials Mozilla Developer Network Another site for a quick reference on various data structures and functions. This one goes into a bit more detail. Web Dev Simplified I love this channel. You can see how various technologies, it would benefit me greatly to take a logical approach to solving the problems I encounter. Perseverance Throughout this course, I would have to become self-taught in a lot of frameworks without guidance or supervision, Personal Library - More experience building complete express apps, but it’s important to know it. JSON APIs and AJAX - The core concepts of dealing with APIs which you will need a lot throughout your career. Introduces you to JSON format which is used all the time for storing and exchanging information. Basic Node and Express - Essential part of the MERN Stack! This set of challenges is a nice introduction to express and setting up routes. Probably one of the most useful parts of freeCodeCamp. Challenges are explained really well here too! MongoDB and Mongoose - Essential part of MERN Stack! This is a really good。
making small changes each time, could have been done in a challenge Hardest Projects Build a Tribute Page - The image resizing part was hard! Roman Numeral Converter Javascript Calculator - It was really difficult figuring out the calculation functionality! Visualize Data with a Choropleth Map - Impossible to do with just the curriculum. Requires searching and figuring out how to work with GeoJSON and TopoJSON. Exercise Tracker Sudoku Solver - Coming up the algorithm to solve sudoku puzzles is really difficult. Stock Price Checker - This requires multiply async calls to databases and other APIs so it was difficult to make code execute in a specific order. Anonymous Message Board - Took a really long time to complete。
considering things from a user’s perspective. You are also more likely to stay motivated if it’s something you’re interested in. Understand Each Line of Code before Moving On In each challenge, the cleaner syntax and simplicity of using Models made it so much easier for a beginner. Least Useful Challenges Applied Visual Design - Useful at the start, and I’d like to talk a bit about my experience, and get explained exactly what they are trying to match. You can add in some text and it will highlight the matches. Regex101 Express Docs Pretty much everything you need for express help. Alternative Passport Docs For the passport challenges。
and also allowed me to transform easily into React Native to build mobile apps. jQuery - Used a lot in various front ends. Even if you don’t plan to use it yourself, something you’ve always wanted to do. Don’t worry about getting stuck, and this can often lead to continued work. Don’t Compare yourself to Others This is something I struggle with all the time. I see other developers on places like Twitter posting about their achievements and this makes me feel like I’m not good enough. It’s important to know that most people only post their achievements, understanding what is required, and most of the stuff taught here can be found with a quick google search. CSS Grid - Just my personal preference! I tend to use flexbox a lot more. Regular Expressions - I personally just prefer to use Google or Stack Overflow for Regex, but the syntax parts are really relevant when looking at and understanding different code. Basic and Intermediate Algorithm Scripting - These introduce us to thinking through various problems and solve them using code. These are often used for interviews. Basic Data Structures - Very Important Introduction to Arrays and Objects Functional Programming - I personally found the array stuff really useful, where you should be able to explain to other people things you have learnt. For this, I finally have my freeCodeCamp Full Stack certification. It was a long journey, since I didn’t know anyone IRL on the same course. I sought help from the forums whenever I could, since there is likely no guided course or path to learn the specific set of technologies I want. Therefore, as it holds you accountable for the information you post which requires you to ensure you have understood it fully. There’s a great essay about it here: Learn In Public: The fastest way to learn In addition to this, find examples and understand. There’s nothing stopping you doing your own research! Make your Own Notes While there are lots of well written documentations, until I eventually got the results. I know for a fact that I will be using this skill throughout my career. Firstly, Caesar’s Cipher , especially on the freeCodeCamp News and Youtube Channel. It’s important to learn about branches, had a lot of time during the summer to finish the course. Worked through roughly one course a month: August 2019 - Responsive Web Design September 2019 and October 2019 - Javascript Algorithms and Data Structures May 2020 - Front End Libraries June 2020 - Data Visualization July 2020 - APIs and Microservices August 2020 - Quality Assurance September 2020 - Information Security My Thoughts on the ChallengesMost Fun Challenges Basic Algorithm Scripting Intermediate Algorithm Scripting - Loved being able to work through various problem using logic! React and Redux - Was really fun to bring together what I learnt to build the Messaging UI Advanced Node and Express (second part) - Was really fun building a functional chat app using Socket! Most Boring Challenges CSS Grid - I remember just wanting this to end! Data Visualization with d3 - I really just wasn’t interested in charts and shapes Regular Expressions - felt really long and stretched Managing Packages with npm - Useful, the media queries was a game changer! CSS Flexbox - I love this technology so much. I almost always use it for every project because it’s easy to design centered and responsive layouts. Basic JavaScript ES6 - The extra functions aren’t so useful, not worth remembering this stuff. Sass - Don’t find myself using this much Redux - Don’t find myself using this much Data Visualization with D3 - I think this one is very specific to be useful for general web development Quality Assurance and Testing with Chai - I don’t find myself using this much either. I tend to just use JavaScript methods and operators to check things. Might actually be very important in the workplace though! My Thoughts on the ProjectsMost Fun Projects Build a Tribute Page - This was so exciting as it was the first opportunity to apply what I learned and create a product Palindrome Checker , and it was difficult to make sense of everything. Advanced Node and Express - The challenges themselves are poorly implemented and full of bugs, found the appropriate help or resources and come up with solutions (the project app/website). This ability to solve complex problems will be required throughout my career and personal life. I’ll be expected to come up with solutions either to implement features or fix bugs. In my personal life, but I would highly recommend doing something like CS50 or watching some basic CS Videos on YouTube. Javascript is quite nice because we don’t have to worry about things like memory。
just what I remember off the top of my head. W3 Schools This is a great reference for most HTML and JS Functions. You can see what different methods do, but it’s always nice to know what’s happening underneath. Take a Break It’s very difficult and inefficient to work if you’re bored or burnt out. Take a break。
Markdown Previewe r - I liked that we had the freedom to pick and choose any technologies we learnt to create these. These also felt like proper complete apps with functionality. Pomodoro Timer - Really liked the product of this, is the fact that it is time consuming. You can find the Written and Video Tutorials I made for each challenge and project from D3 onwards here: Tutorials - Ganesh H Transferrable Skills I learned on the freeCodeCamp courseProblem Solving Each Project (and some challenges) is essentially a problem。
I will need to make sure I stay resilient when debugging code. Autonomy This was one of the hardest skills to master. Most of the challenges and projects, hoping it will inspire someone! image 1515×892 41.1 KB How long did it take? About a year and two months overall, feels very short, think about where you can apply it. Practice outside the FCC course. Try and build something of your own with each technology。
and it got boring and tedious. Easiest Projects File Metadata Microservice Request Header Parser Microservice - Literally just returning data from a request header, when working in the industry。
I would have to tackle alone, such as passport。
when applying for my first job I will need to make sure I don’t give up after the first few rejections. I will use my perseverance skills to keep applying with enthusiasm until it eventually works out. Secondly, and I feel like this course has helped me practice this. In the bigger picture I think this skill will help me to become less dependent on others throughout my life. Essential Skills You Won’t Learn on freeCodeCamp Course (for now)Version Control Using Version Control software like Git and GitHub isn’t something taught on the course. But there’s plenty of articles and tutorials。
I faced many obstacles that required perseverance. It was frustrating to find the motivation to keep trying different solutions. Initially I found myself giving up temporarily, but I find myself hardly using the stuff here after learning the newer libraries, about 9 months concentrated. Worked through Responsive Web Design and Javascript from about August to late October last year. Then took a break for University classes until about May. Thanks to the lockdown。
introduction to the core concepts of MongoDB documents. I felt quite confident after this one. Also really liked the inclusion of Mongoose, and version control software is incredibly useful once you get to know it. Working in a Team Unless you collaborate with a partner on the projects, Encouragement and Support! , just not that interesting Quality Assurance and Testing with Chai - Mostly just copying and pasting changing variable names. Easiest Challenges Managing Packages with NPM Information Security with Helmet Most Difficult Challenges Basic HTML and HTML5 - These are quite tough when starting out Basic JavaScript - Again very difficult with no prior experience Object Oriented Programming - I remember really struggling with this. There was lots of information, without motivation。
