原文:The Future of freeCodeCamp.org – Lessons From 5 Years of Teaching the World to Code,作者:Quincy Larson

2014 年 10 月,freeCodeCamp 正式上线,在此后的五年里,这个项目有许多进展。

在这篇文章里,我们一起来聊聊:

  • freeCodeCamp 社区在过去五年里取得了哪些成绩
  • 我们年度财务预算是多少,我们目前达到了怎样的规模
  • 社区最近的更新
  • 2020 年我们有哪些大的规划
2
5 年前的一个周末,我在贮藏室里的这张桌子前开发 freeCodeCamp 的第一个版本

以下数据可以帮助你快速了解 freeCodeCamp 社区在编程教育领域所做的贡献。

4 万余名 freeCodeCamp 学员目前就职于 Apple、Google、Microsoft、Amazon、Spotify 等科技企业。

每个月有数百万人通过观看 freeCodeCamp 在 YouTube 的教学视频学习编程。

每个月有数百万人阅读 freecodecamp.org/news 的文章。

每个月人们在 freeCodeCamp 论坛提出成千上万条技术相关问题,并互相帮助解答。

freeCodeCamp.org 目前名列最常用技术站点之一。

3
常用技术站点及其 Amazon Alexa 排名(2019 年 10 月 9 日数据)freeCodeCamp.org 位列第 1,596 名

freeCodeCamp 是一个组织效率很高的公众捐赠支持的非营利组织

2019 年(到目前为止),人们使用 freeCodeCamp 的技术教育资源共计 11 亿分钟,而我们今年的财务预算只有 373,000 美金。

1,120,000,000 分钟 / 373,000 美金 = 50 小时 / 1 美金

也就是说,我们收到的每 1 美金捐款,对应 50 小时的免费技术教育。

就成本效益而言,freeCodeCamp 超出众多在线学习平台 10 倍,超出大量线下教育机构(如高校、编程训练营、培训中心)等 100 倍。

虽然我们是一家注册在美国的非营利组织,但是我们的学员中只有大约 20% 是居住在美国。

大部分学员所在的国家,当地人们日均生活成本不足 10 美金。所以,每一位 freeCodeCamp.org 的捐款人都在和我们一起帮助那些地区的人们,使他们不必为了支付学习编程的费用而再节衣缩食,使他们也能有机会获得免费的学习资源。

展望未来

现在,你已经基本了解了 freeCodeCamp 的规模以及预算情况,我们一起来探讨社区的未来吧!

我们如何帮助更多人掌握“编程”这项面向未来的技能呢?

最近的重大更新

在过去的一年中,freeCodeCamp 社区做了大量工作,以提升平台性能。

上个月,freeCodeCamp.org 有如下更新:

#1 课程更新和 bug 修复

我们的开发者们对课程、指南及测试部分都进行了优化,确保更易懂易操作的学习体验。

今年上半年,我们启动 freeCodeCamp 课程 7.0 版本的开发工作,目前进展顺利,我们计划在 2020 年上线这一版本。7.0 版本的课程仍然包括 6 个证书,要获得每个证书,你仍然需要构建 5 个项目,不过目前课程中的一道道闯关式题目将被取消,变成一个个练习项目,例如:

  • 通过开发角色扮演游戏项目来学习 JavaScript
  • 通过设计营养标签来学习版面设计
  • 通过构建表格应用来学习函数式编程

通过这样的面向项目的学习方式,你还会学习大量别的技术概念和工具。

提示:网站刚升级,我们还在处理一些 bug。如果你是 2018 年之前在 freeCodeCamp.org 注册的账号,那你可能会遇到一些登录问题(很有可能是因为账号重复),请发送英文邮件至 support@freecodecamp.org,我们会尽快帮助你处理。

#2 新的界面设计

新的界面设计结合了复古计算机美学和现代易用性设计最佳实践,我称之为“命令行时尚风格”。

v2-97be2a83535257660f8b2f6759061397_hd

你可以在你的设置项下轻松切换白天/夜间模式。稍后你也可以在未登录状态下从导航栏切换。

#3 更好的移动端编程体验

从 freeCodeCamp 创立初期,我们就希望把移动端体验做得越来越好,让你在手机上就可以轻松写代码和运行测试。

在 7.0 版本课程的开发中,我们会更加关注移动端体验。

commlinechic-1
freeCodeCamp 移动端展示(图片由Jackson Bates提供)

我们把课程分为一系列选项卡,你可以在写代码、指南、测试和预览几个界面轻松切换。同时,按钮都放在屏幕下方,你就不需要滑动页面去点击按钮了。我们会持续改进,带给大家更便捷的移动端体验。

试试看在你的手机上做 https://www.freecodecamp.org/learn 的题目吧,虽然体验不如鼠标键盘来得方便,但是对比之前的移动端体验,已经好多了。

#4 网站速度更快

我们基于 Gatsby 把 freeCodeCamp 重构为 JAMstack React web 应用。

使用 Google Lighthouse 测评一下 freeCodeCamp 的性能:

v2-a101a3ba74786c54989dbf33a0da0f10_hd
可访问性、最佳实践、SEO 三项都是 100 分,页面性能 71 分(对于这么一个大型项目来说还不错),我们会持续提升。

下图展示了 freeCodeCamp.org 的完整服务器架构,你可以看到我们是如何使用 CDN 以及 Gatsby 和 Netlify 这样的新工具的。

v2-3e7522c58964dea169dcfafe09d555c0_hd
freeCodeCamp 的三大核心包括/learn(课程)、/forum(论坛)和 /news(文章),用到各种工具和云服务,其中 /learn(课程)是 JAMstack app,比之前更快了

现在我们把 freeCodeCamp 的代码都放到一个 GitHub 仓库了,可以自动化搭建/测试/部署新特性及修复 bug。此外,为了用户体验统一化,所有面向用户的子域名都改为子目录,比如,donate.freecodecamp.org 现在改为 www.freecodecamp.org/donate

freeCodeCamp 2020 年计划:更多技术文章,更多 Python 学习资源

很多人是在笔记本电脑上写代码,确实,在手机上写代码挺难的,(如上所说,我们会持续优化移动端体验),不过,手机本身就是更多为了满足人们的消费需求,而非创作需求。

我自己在刚开始学习编程的时候,即便不在电脑前,我也会有效利用时间,比如在早间通勤的时候在手机上获取各种技术内容——读文章,听播客,看视频。其实,你也可以通过手机学习到大量关于设计、计算机科学、数据科学、安全…的知识。

我们可以通过解读技术新闻,在一定的场景下为你讲解这些知识。所以,2020 年,一方面我们会继续录制播客访谈节目,写作深入的教程文章,制作比较长的视频教程,另一方面,我们将发布大量类似新闻的技术文章,解读其中的技术细节。

不妨想象:《时代》上的一篇文章包含代码片段和数据库架构分析,《新闻周刊》耐心地一层层地剖析某个技术话题。

对,我们想为你打造这样的技术文章!

Tech Explained. No ads. 剖析技术,不含广告

当你不在桌子前敲代码的时候,你可以通过阅读我们的文章来学习技术。这些文章是关于技术方面最新的重大的事件,比如最新的重大安全漏洞,或者最新的计算突破。我们会用尽可能易懂的方式来解读这些事件,并剖析其中的技术细节。

不含广告

对我们来说,光是免费还不够。广告不仅会影响网站速度,还会透露你的隐私数据。我们生活在广告无处不在的移动应用时代,Google 正在对 Chrome 进行更改,限制广告拦截器的功能。

freeCodeCamp.org 线上平台从未展示广告,我们发给学员的电子邮件中从来没有赞助商链接,我们的 YouTube 视频教程中也从来没有出现过广告(我们的频道是整个 YouTube 平台上最大的无广告频道)。

我完全理解对于一个网站、一档播客或者一个 YouTube 频道来说,发布广告是一种不错的筹集资金的方式,有些提供免费学习资源的平台也是通过广告收入支撑自身的运营。

但是,这个世界也需要一些完全没有广告的同时又免费的学习资源,这是 freeCodeCamp 从前、现在、未来都会坚持的理念。

更多 Python 课程

目前 freeCodeCamp 社区中搜索量最高的就是 Python 相关词条。

v2-aab6f7f259cafcc3462a1ac9513176c3_hd

同时我们的 YouTube 视频教程中最热门的也是 Python 教程。

一些国家或地区甚至将 Python 纳入小学、中学的信息技术考核范围。

虽然我们之前已经发布了大量 Python 相关的学习资源,但是我们还并没有将 Python 纳入核心课程。

现在,我很开心告诉大家一个好消息:freeCodeCamp 会在未来的课程中增加 Python 项目以及证书,主要是 Numpy 和 TensorFlow 这两个在数据科学和机器学习中广泛使用的库。

这个世界需要一个非营利社区,让人们可以在其中免费学习编程和技术

诚然,已经有许多涵盖基础技术知识的问答社区、提供编程教程的网站以及技术资讯平台在为人们服务。

freeCodeCamp.org 的不同之处在于:这是一个草根支持的公益组织,不受企业投资人的约束,不接收广告,由开发者社区运营和支持,成果属于社会大众。

我们将继续不懈努力,尽可能帮助更多人学习编程,携手创造这样的未来:每个人——而不只是硅谷的工程师们——都可以利用技术的力量去改善自己工作和生活。

感谢我们的 5,000 多位捐款人,是他们每个月给 freeCodeCamp 捐款 5 美金,才使这样的未来不只是一个梦想。

还记得我在前文提到的算式吗?可以计算一下,你每给 freeCodeCamp 捐款 5 美金,就相当于你帮助世界各地的人们在 freeCodeCamp 学习了 250 小时。

点击这里成为我们的捐款人吧!

🎂让我们一起祝福 freeCodeCamp 五周岁生日快乐吧🎂

谢谢所有支持 freeCodeCamp 的朋友们,是你们的支持促成这场免费教育的实验取得今天的成绩,给世界各地的人们带去深远影响。

未来可期,携手共创!