如何利用社区让自己成为优秀的编程人员
“培养一个孩子需要全村人的努力。” — Swahili Proverb
6个月之前,我加入了Free Code Camp,在这段时间里,我做了下面这些事:
- 开发了10个项目
- 设计了6个CodePen钢笔
- 建立了4个GitHub repo(还有6个gist !)
- 获得了454个奖励积分
- 在Medimu上发表了3篇文章
- 录制了一个有关学习编程的vlog
- 花了数周的时间来学习算法脚本单元
- 花了两周的时间去休息
- 参与了2016 New Coder调查
- 在我居住的地方建立了一个Free Code Camp学习小组
- 组织了一个咖啡——编程活动
- 喝了148杯咖啡
- 学习过程中经历了各种情绪
- 最终我成功取得了前端开发人员证书!
在我刚刚开始这段旅程的时候,我就知道学习编程将会是一个漫长、艰苦的过程。但是我依然决定一步一步的走上这条道路。
起初的时候,我一直留在自己的“舒适区”,只是观看一些简短的指导视频。在这个过程中,我依然学到了一些东西,但是对于如何将这些东西运用起来,我还是一头雾水。
于是我强迫自己鼓起勇气,开始真正的开发一些东西。这个阶段,才是我真正开始学习的阶段。在开始设计和开发真相的项目之后,我之前学到的那些知识突然变得清晰明了。
我最初做的那些项目,只是基本的静态网页,带有一些简单的动画。
之后,我开始尝试了一个更复杂的项目,一个需要使用Polymer的项目。这是我开始学习编程以后的第一个让我挣扎的事情,因为我根本不知道如何使用JavaScript。我只好寻求朋友的帮助,在他们的耐心帮助下我才得以顺利的完成这个项目。
就在这个瞬间,我意识到自己真正入门了。我可以使用HTML,并且用我在设计方面的知识,以及CSS技巧来让网站变得漂亮一些。但是我还想要继续学习,我需要学习JavaScript。
第二天我在跑步的时候听了一个CodeNewbie的播客。就是Saron采访Quincy Larson的那集。
这是我第一次听说了Free Code Camp。我发现它和我以前使用的那些学习资源完全不一样,因为它是一个社区。而且,它还是免费的。
在跑完步回到家之后,我立刻注册了Free Code Camp。我决定加入他们,完成他们设定的各种编程挑战,用这种方式继续学习编程。完成所有挑战需要大概478个小时的时间,而且完成之后还能获得前端开发人员的认证。在之后完成了全部挑战之后,我大概统计了一下,我所使用的时间比预定的478个小时多出了33%。
我并不急着完成所有挑战,但是我依然每天花费4-8个小时的时间用来学习。我一点都不着急,我总是确保自己能够彻底理解每一个概念,然后在进入下一个概念的学习。
在我遇到困难的时候,我可以在Free Code Camp的聊天室里提问,也可以在本地的学习小组中提问,与许多编程人员面对面的交流请教。虽然这样会消耗一些经历,但是绝对是值得做的事情。
作为一个编程新手,Stack Overflow对我这样的人来说不是那么友好,所以把最多的耐心都放在了这里。我仔细阅读人们提出的问题,以及其他人的回答,试图理解各种问题的解决方式。但是我却不敢自己提问。
因此,当Free Code Camp自己开设了论坛之后,我感到非常兴奋。每当我遇到问题,我都能在这里获得快速、周到的响应。
我的论坛数据
当我在试图完成Free Code Camp的挑战时,我总是开着聊天室的窗口。我经常待在CodeReview和HelpFrontEnd这两个聊天室内。
最好的学习方式,就是将你知道的教给其他人。因此,只要在我的知识范围内,我总是试图去解答其他学习者提出的问题。
另外,我还开始使用Reddit、Slack和Facebook群组来和其他人交流,为我做的项目获得一些其他人的意见和有建设性的批评。人们不断的给我提供反馈,我再将他们的反馈整合到我的项目中,我慢慢爱上了这个过程。
在这个过程中,我还知道了那些反馈应该等明天睡醒了再解决,以及那些反馈值得我立刻去解决。
进入3月以后,我开始发表更多的科技文章。我申请成为了Free Code Camp的Medium作者,许多开发者、设计师和数据科学家在这里发表文章,还有一些学习者在这里发表文章。
我的想法接触到了成千上万的人,很多人都在留言区里给我提供了非常好的反馈。
我在Medium上发表的三篇文章的统计数据
当我开始着手完成Simon Game的时候(获得前端开发认证证书之前的最后一个项目),一开始我就知道这个过程会很艰难,于是我通过视频的方式对我的学习进度进行了分享。
收到这次视频制作的启发,我决定每周发布一个vlog,里面讲述的是我遇到的一些编程问题,以及我的编程学习经历。目前,已经有一些人订阅了这个vlog,其中一些人还为我提供了一些帮助性非常大的反馈。
为其他人提供指导,让我巩固了自己已经掌握的知识。把我自己放在大众眼前,逼着我自己建立起了信心,让我将已经掌握的知识最大化使用。
这个过程还提升了我的演讲和讲述故事的能力——在和客户合作的过程中,这两个技能是非常重要的。
过去的6个月中,我见识到了学习编程的力量,以及互助社区的力量。我现在渴望进行回馈,回馈的方式有很多种,包括但不仅限于为非盈利组织免费写代码。
我已经决定,在我开始为数据可视化证书努力之前,我要将我的奖励分数提升到500分,方法就是帮助其他的学习者。我要用这种方式来表达自己的感激,并且对社区进行回馈。
这只是我成为一名大师级开发者道路的起点。但是它也是一块重要的里程碑。
很多学习者都在问,在获得了第一个认证之前,他们是否应该立刻去找工作。
我个人目前并不在寻找全职工作。我是一名自由职业者,帮人们完成一些规模较小的项目。这让我可以在任何时间、任何地点灵活的工作。而最重要的是,这让我有足够的时间去继续学习编程。
我意识到,未来如果我可以与许多经验丰富的开发团队成员并肩合作,我一定能够学到更多的知识。
同时,我还会继续做有意义的事情。我要继续编程,并且帮助那些想要学习编程的人!
本文文字及图片出自 www.sdk.cn
你也许感兴趣的:
- 【外评】电脑从哪里获取时间?
- 【外评】为什么 Stack Overflow 正在消失?
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- 【外评】哪些开源项目被广泛使用,但仅由少数人维护?
- 【外评】好的重构与不好的重构
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 【外评】代码审查反模式
- 我受够了维护 AI 生成的代码
- 【外评】Linux 桌面市场份额升至 4.45
- 【外评】作为全栈开发人员如何跟上 AI/ML 的发展?
你对本文的反应是: