Thanks for creating Free Code Camp. How did such an amazing idea come to your mind and what motivated you to build it? I also have one more question. How to motivate people with disabilities to get into coding?
Hi Fernando! Like most good ideas, the idea for Free Code Camp came out of a multi-year fascination with the problem: we have so much technology around us but so few people are able to truly use it in productive ways.
Even though people have been able to learn to code on their own for free for decades, not enough people were doing so. So it was really a problem of accessibility. So my goal was to remove as many excuses as possible.
Socioeconomic excuses: it's free.
Time constraint excuses (especially important for parents): it's completely self-paced
Hardware constraint excuses: Free Code Camp can be completed on any device with a browser from the last 10 years.
After figuring out what the solution needed to look like, I just needed to figure out a way to implement it. I didn't want to take VC funding (who knows what values VCs would ultimately force us to compromise) or take government funding (takes too long and is too complicated). Open source was a risky but promising option, and in retrospect, it was the smartest decision we've made. Now a majority of the improvements to Free Code Camp's curriculum and codebase are made by skilled volunteers from our community. Our staff (me, Berkeley Martinez and Michael Johnson) can focus on support, strategy, devops, and overseeing nonprofit projects.
As for getting more people with disabilities into coding, the most important step is reassuring them that they can succeed in software development: https://www.quora.com/Can-anyone-learn-how-to-code/answer/Quincy-Larson
What new features are you planning to implement sooner and later in Free Code Camp?
We're moving all of FreeCodeCamp.com over to React. Berkeley Martinez (https://twitter.com/berkeleytrue) has been working on this for a couple months, and it's already live at http://beta.freecodecamp.com - check it out and if you discover any new bugs, create a GitHub issue and add the "beta" tag 😄
In the medium term, we are adding a multi-file editor. This is basically a simplified version of CodePen running right in our challenge framework. So you'll be able to build your projects right on FreeCodeCamp.com
And in the long term, we want to implement live pair programming on challenges, and a system that matches you with another camper in real time so you can pair program.
We are still early days (we just launched 21 months ago). There are so many things we will do with Free Code Camp.
What technologies should I be familiar with if I want to contribute to the development of Free Code Camp?
Ideally, you'll want to get Free Code Camp running locally on your computer, which doesn't require so much understanding of Node/Express as it requires an ability to carefully follow directions (and our project is not unique in this regard).
I wrote a short guide a few days ago about getting started contributing to open source: https://www.quora.com/What-is-a-step-by-step-procedure-to-become-a-GitHub-open-source-developer-for-a-complete-newbie/answer/Quincy-Larson
Thanks for FreeCodeCamp, I keep referring all my non-techie friends - who want to get into the field of programming, and web - to FCC. I have a couple of questions.
How did you start sourcing for the non-profits at the beginning of FCC, and where / from whom did that idea of "having sites built for non-profits" arise from?
What is the story behind the handle @ossia? :)
Thank you for spreading the word about our open source community spread the word! 😄
Nonprofits seemed like a fairly obvious group of organizations who were chronically underfunded and who were often unable to attract expensive software engineers. Also, nonprofits are constantly under scrutiny to spend as much of their donations as possible on outcomes rather than administrative process.
In other words, they were a perfect candidate for pro bono code.
We attracted the attention of most of our early nonprofit partners through social media and our landing page: https://freecodecamp.com/nonprofits
Here's the story behind my Twitter handle @ossia:
I wrote a script to discover 5-letter dictionary words that weren't already taken. Among the few dozen words that hadn't been taken (or had been removed and recently freed-up) was ossia. I chose it because it started with OSS (Open Source Software) and because I loved the definition of the word - an alternative musical passage which may be played instead of the original passage.
I felt like this was symbolic of my decision to abandon the "safe" path of being a school director in a traditional brick-and-mortar school and attempting to become the teacher of thousands of people who wanted to learn to code.
Thanks for doing this AMA Quincy, I have a lot of respect for Free Code Camp's mission!
I have a couple of questions:
1) I understand that you want to keep the learning free and open, but why not make a voluntary donation option directly to FCC for those that want to contribute (like you do for other nonprofits for motivation)? I for one would contribute.
2) What learning path/resources would you recommend for someone who wants to get into hybrid mobile apps?
In the spirit of keeping learning free and open, we'd rather not accept straight donations. You can support our community by getting books and services through our shop: https://www.freecodecamp.com/shop
You work hard to earn your money, and we want you to have something concrete in return to show for it.
As for learning paths for mobile apps, I would recommend focusing 100% on web development first. Then picking up React Native or Cordova will be much easier, and you will already understand the back end components, which are extremely important for mobile apps.
For example, even though Uber is mobile first, they have a sophisticated back end and make heavy use of Node and React. You can read more about that here: https://eng.uber.com/tech-stack-part-one/
I have a lot of ideas I'd like to execute on, but as a beginner in backend code, my biggest challenge is often deciding a language to work with. What are some strategies to identify an ideal language for a project?
If you had to list the top ten tips / advice for someone starting to learn coding, what would it be?
I'm a computer science student, so back end programming just feels more natural to me. So when it comes to design/front end programming I tend to struggle. How can I get better at design.
If I do decided to focus only on back end,will I be hurting my chances for employment opportunities? Do employers look for people who just specialize in either front end or back end?
Every developer should to learn some basic design and front end skills. Employers are increasingly expecting developers to know both front end and back end - especially front end. I've written a bit more about this here, with data to support this claim: https://www.quora.com/Computer-Programming-How-does-the-number-of-front-end-back-end-and-server-side-programmers-all-compare-with-each-other/answer/Quincy-Larson
Keep in mind that visual design (how something looks) and user experience design (how something) are two different disciplines. Some of the best designed sites, such as Quora, are quite simple visually, but have excellent user experience design.
You can also draw inspiration from other developers' projects on CodePen.
As far as learning design, the best approach is to practice. Free Code Camp will give you experience building more than a dozen front-end focused projects (along with plenty of back-end focused projects). These will give you ample opportunity to apply design concepts.
It's great to see Data Viz. as a part of the FCC curriculum. Are there any plans to add content that's apart from traditional web development? Like Machine learning, Deep learning, and the likes?
Great question. Machine learning is incredibly powerful, and I'm blown away by the rate at which the field is advancing. I've written a bit about this here: https://www.quora.com/Which-company-will-have-a-greater-impact-on-technological-evolution-in-the-decade-between-2016-and-2026-Google-Facebook-or-Amazon/answer/Quincy-Larson
We plan to include Machine Learning eventually in our Video Challenges section (basically 2-minute whiteboard lecture videos). I still think Machine Learning is an advanced specialty, and Free Code Camp aims to be serve as more of a foundation in software development.
We only have 1,200 hours to teach all the fundamentals (and 800 hours to practice them through nonprofit projects). Machine Learning may eventually become part of those fundamentals.
Thanks for FCC. Such a great resource. I'm finishing up Front End in a few weeks, most likely. Just curious if the Data Viz section, including React, is still set to be completed this summer. I've tried looking into it in my own and was quite confused. I know you guys and the contributors will do a great job with it.
Thanks for your kind words.
D3 and React/Redux have solid documentation and there are a ton of excellent tutorials out there. We are actively discussing this on our forum: http://forum.freecodecamp.com/t/resources-for-learning-react-redux/672/18
Yes - we are still aiming to finish this this summer. You can check out our curriculum expansion efforts (and even contribute) here: https://github.com/FreeCodeCamp/CurriculumExpansion (see the issues section)
Do we have a road map for the react and sass courses ?
Yes, Fab, we do have a roadmap for these. We're hoping to get them live in September. You can follow the progress of these and other new challenges here: https://github.com/FreeCodeCamp/CurriculumExpansion
What are the most difficult problems that the development team of FCC has had to solve?
We had a serious MongoDB issue almost exactly a year ago.
Basically, we had some inefficient database queries and our data was growing exponentially.
It was a nightmare, and Berkeley Martinez and I worked on this for like three days straight.
I wrote a full retrospective on it here so that you will hopefully never have to go through this yourself: https://medium.freecodecamp.com/rebuilding-the-747-at-35-000-feet-165bddf4782#.cgbt31kaa
What's the biggest hurdle that needs to be overcome by people just starting to learn programming?
What's the point at which most of them give up?
The biggest hurdle is to actually believe that you can get a job as a software developer.
Many people still believe in a "fixed mindset" and think that some people are "born to code", when the reality is that anyone can learn to code if they put in the time and effort.
There are so many open developer jobs. They are increasing in number all the time. And software development is already one of the most popular professions in the world. There are more than 19 million software developers out there, but that's nowhere near the number that the world needs.
Most people give up because they don't see the light at the end of the proverbial tunnel. But that light is there, off in the distance. You just have to keep going.
I have heard that FreeCodeCamp is coming up with new updated curriculum .. When is it going live and what all new topic does it include? Sounds exciting!
Yes - we are expanding our challenges significantly. You can follow along with our community's efforts to create these new in-depth challenges here: https://github.com/FreeCodeCamp/CurriculumExpansion/issues
All of these will be optional, and will help you further understand important web development concepts. These will better prepare you for the projects.
In the meantime, campers are building these projects using a combination of our challenges and other external resources that we discuss on our forum (https://forum.freecodecamp.com), and asking lots of questions in our help chatrooms.
Is Free Code Camp going to incorporate languages like Python?
We've already started creating Python tutorials - some of which are interactive - and plan to continue this effort: http://forum.freecodecamp.com/c/programming-languages/python
We also have lots of Medium articles by experienced Python developers like this one: https://medium.freecodecamp.com/make-your-code-more-pythonic-using-pythons-special-methods-b348f915852e#.mme1puyew
Hi Quincy, Do you believe in Facebook's Internet.org? Do you have plans to get whitelisted there?
BTW : You are doing a great job! 👍
I agree with the stated goal behind internet.org - to give more people access to the internet - but I disagree with Facebook's approach. I am glad that India rejected Free Basics. I hope this forces Facebook to re-evaluate their methods.
Most of the software development community agrees with the Electronic Frontier Foundation's assessment of internet.org: https://www.eff.org/deeplinks/2015/05/internetorg-not-neutral-not-secure-and-not-internet
My questions are: What are the hurdles do you think a developer without a degree would have to cross that a developer with a degree wouldn't need to address? Or vice versa.
Thanks for your kind words.
For people who haven't yet finished college yet, I strongly recommend getting a degree in computer science. For everyone else, I recommend taking free online computer science course s from great universities. Here's the best list of these: https://www.class-central.com/subject/cs
Even though some HR people will filter you out because you don't have a bachelors in CS, I still wouldn't recommend going back to get a second degree. Instead, learn the underlying theory and work on extending your network.
I've written about how most developers claim to be self-taught and less than half of them have computer science degrees here: https://medium.freecodecamp.com/2-out-of-3-developers-are-self-taught-and-other-insights-from-stack-overflow-s-2016-survey-of-50-8cf0ee5d4c21#.f39zmdujb
thanks for everything!
I have a couple questions ,
What are some things we can do to become better developers outside from FCC?
Regarding things you can do outside of FCC to become a better developer, I strongly recommend contributing to open source: https://www.quora.com/What-is-a-step-by-step-procedure-to-become-a-GitHub-open-source-developer-for-a-complete-newbie
And of course, the advice I give like 20 times a day: code every day and hang out with other people who code.
For some time i wanted to start my own hacklab - code camp in my city since there are none. There were always challenges as to how do i get a place for the hacklab, how do i get people to sing up, etc. So my questions are :
- What were the biggest issues you had in making FCC and maintaining it ?
- Do you think it's better to have a subscription based membership or donation based (for Hacklab) ?
You definitely should start a hacklab. Every community - no matter how small - should have a place were people get together and code. But before you do, though, I recommend talking with other people who are doing this.
Here's a huge list of them - many of whom may be within a day's commute for you: https://wiki.hackerspaces.org/List_of_Hacker_Spaces
One way of gauging interest within your community would be to put together some coffee-and-code events and talking to the people who show up.
Free Code Camp has never charged people or asked for donations, so I'm not an authority on these things 😄
If you could change something in campers behaviors, what would it be?
Our community of campers is wonderful. Even with a quarter million campers using Free Code Camp every month, we get very few "trolls" we get in our chat room and on our forum.
I do wish more of our campers would take advantage of their local study groups. Campers who regularly meet and code together seem to get developer jobs much faster.
How can I learn a new language fast and what are the most important things i should look out for while learning?
I wouldn't recommend trying to learn a new language quickly. Learning to program takes a long time. I wrote some more advice on this here: https://medium.freecodecamp.com/learn-to-code-by-coding-d1e241de81c0
Also, focus on learning one language thoroughly (and building a ton of projects with it) before attempting to learn a second one.
Can you send greetings to the community of Free Code Camp Buenos Aires? :P
Thanks for your amazing work, keep growing!
What does it take to become a forum moderator? How many hours are expected to be dedicated?
We try to keep things as simple as possible on our forum and in our chat rooms. The fewer rules, the better. So this means that becoming a forum moderator is a pretty straight-forward process.
If you regularly contribute to the conversation on Free Code Camp's forum, and are interested in becoming a moderator, you can contact Michael Henderson, who's our core team member in charge of our forum: http://forum.freecodecamp.com/users/michaelhenderson/activity
He can consider making you a moderator.
We don't have any expectation of a specific number of hours or anything like that. We just appreciate that you are willing to volunteer your time and make our forum a better place to discuss technology and coding!
What tech vlogs/YT channels do you follow/ subscribe to?
Computerphile: https://www.youtube.com/channel/UC9-y-6csu5WGm29I7JiwpnA LevelUp Tuts: https://www.youtube.com/channel/UCyU5wkjgQYGRB0hIHMwm2Sg DevTips: https://www.youtube.com/channel/UCyIe-61Y8C4_o-zZCtO4ETQ
And of course Free Code Camp's YouTube channel, which is run by Briana and Wesley on our core team: https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ
Great job @FCC - I'd like to learn more React and React native in the FCC map. Would you give us a ETA? Thanks for creating all this awesome program.
You had shared that FCC will monetize from the enterprises in the form of training programs. Would you mind sharing how many enterprises have already enrolled?
Which language should I learn as my primary language - JS or Java or Python? I want to practice DS and alogos but I can't figure out which language should I choose. I have previous background in Java but nowadays everywhere is python and python is also more abstracted language so it does more in less code. I have future plans to participate in codejam.
I'm 22 about to be 23 in September 4th. I'm putting everything on the line to learn how to code.
What's the plan for React challenges in FCC curriculum? When more or less is comming soon planned?
Would you recommend freecodecamp for people overseas (i.e. South America)? Thanks for you work!
What do you recommend when a local FCC group is quite inactive despite having a few members?
What are your thoughts on Microsoft's "openness" and cross-platform?
I think it's awesome that they're including Bash in Windows soon. It will make it much easier to be a developer in the Windows environment - which is still the dominant desktop environment, especially in China and India. I will applaud any effort for a company to become more transparent and open source. Here's hoping Apple's next 😄
First I wanna say THANK YOU so much. You and what you did are amazing. I have some questions.
How can I stay motivated when I constantly feel that I'm not qualified?
Should I invest time to learn math alongside programming? Do you have any book recommendations on that?
Thanks for your kind words.
Staying motivated is the biggest challenge of all. Just keep coding every day and know that the more you practice and learn, the faster you will be able to get a developer job.
Instead of studying math independent of programming, I recommend solving Project Euler challenges. These will help you learn applied mathematics and practice programming at the same time: https://projecteuler.net/