如何在 5 个月内成为一名 React 开发人员
有些学校似乎急于录取我,这让我心生疑虑。感觉他们更看重的是尽可能多地收取学费,而不是招收最优秀的学生。
所以,如果你顺利通过了FAC考试,你将不再害怕应对任何技术挑战。此外,你还会结交很多新朋友。
我如何从一名非技术人员转型成为一名合格的 React 开发人员的故事
29岁那年,我从一名业余程序员转型成为一名专业的前端开发人员。无论从个人还是职业角度来看,这次转型都是我做过的最有意义的事情之一。
对我个人而言,它让我相信自己可以学习任何我想学的东西;对我个人的职业生涯而言,它更是至关重要。如今,我是Scrimba的联合创始人,这是一个每月教授超过 10 万人编程的学习平台。如果我不懂编程,我根本不可能担任现在的职位。
鉴于这次转型对我意义重大,我希望鼓励更多人走上同样的道路。因此,在本文中,我将详细阐述我是如何做到的。我会列出我参加的每一门课程和完成的每一个项目。希望这能启发你考虑采取同样的做法。
但请注意,我走的这条路未必是最有效率的,因为它涉及到参加编程训练营。这本身就很贵,而且这段时间你也没有收入。
在此,我大胆推荐我们的免费 React 入门课程以及即将推出的高级课程,尤其适合那些寻求最快学习途径的朋友。这些课程旨在帮助您尽快达到就业水平,而且课程内容我已经亲自审核过。
但如果您有兴趣参加编程训练营,请继续阅读。
关闭我之前的创业公司
2014 年底,我和两位联合创始人决定关闭我们开发的儿童应用初创公司 Propell,因为我们失去了动力,也看不到盈利的希望。Propell 最初是我攻读经济学学位期间的一个副业项目,但很快发展成为一份全职工作,鼎盛时期公司有四名员工。
虽然放弃学业确实令人沮丧,但也给了我一个机会去做我从 2011 年左右就一直想做的事情,那就是好好学习如何编程。
过去几年,编程其实一直是我的爱好,我利用晚上、周末和假期上过一些课程,所以懂一点编程,但我仍然认为自己是个非技术人员,离专业水平还差得很远。
让我入门的课程是Udacity的计算机科学入门课程和Udemy上的创业者编程课程。这两门课都很棒,虽然我都没学完。
总之,继续自学在线课程行不通。我想要一个强化型的面授课程,因为我知道这样能提高我成功转型的几率。我想要一个能让我和其他人一起全身心投入编程的环境。所以我仔细搜索了所有能找到的编程训练营,并申请了以下几个:
除了 Hack Reactor 和 Recurse Center,其他所有学校都录取了我。如果你也打算参加编程训练营,我建议你也这样做。申请所有你感兴趣的学校,然后开始筛选。通过与学校工作人员交流,体验申请流程,你就能更好地了解学校的教学质量和理念,这两点都非常重要。
有些学校似乎急于录取我,这让我心生疑虑。感觉他们更看重的是尽可能多地收取学费,而不是招收最优秀的学生。
我听说过一些编程训练营其实就是骗局,所以选择的时候一定要小心谨慎!
如果你想百分百确定训练营是认真的,你应该考虑选择提供“先付款后报名”选项的机构,比如V School。这样就能确保他们的目标与你的目标一致。
经过多次反复讨论,以及与 Founders and Coders 的杰出负责人 Dan Sofer 进行了一次令人信服的谈话后,我最终决定搬到伦敦并加入 FAC。
FAC理念
FAC 和其他编程训练营完全不同。首先,它是完全免费的。这意味着我可以不用贷款就能负担得起,而其他训练营的学费大多在 1 万到 1.5 万美元之间,所以我无法负担。其次,FAC 完全以项目为基础,我很喜欢这一点,因为我一直以来都觉得实践比阅读理论知识更有效。
由于无需缴纳学费,他们无法聘请全职教师,因此课程主要以同伴互助学习为主,学生主要通过同学和自学来学习知识。不过,往届学员也会提供帮助,他们会在忙于咨询工作的同时,留下来指导新生。FAC 还拥有两位优秀的导师:Nelson Correia 和 Ines Teles,他们为学生和机构提供了宝贵的帮助。
总而言之,这创造了一个很棒的环境——一个求知欲强、渴望彼此分享技能的群体。
然而,这并非学习编程最简单的方法。你不能像在那些收费1万到1.5万美元的编程训练营里那样,每次遇到难题就举手向老师寻求答案。在FAC,你必须独立探索,并与同学合作,这需要极强的自律性。
但这样做也有巨大的好处:你将极大地提升解决问题的能力,并学会如何自学任何你想学的东西。这是开发人员最重要的技能之一。
所以,如果你顺利通过了FAC考试,你将不再害怕应对任何技术挑战。此外,你还会结交很多新朋友。
参加 FAC 课程很可能会让你的生活变得更好。
第一部分——八个项目
第一天,全班同学被分成四人一组。这些小组将在接下来的两个月里轮流工作。每周一,我们会收到一个新项目,需要在下周五完成并向全班同学展示。小组内部,我们会轮流担任四种不同的角色——运维人员、文档管理员、测试人员和代码仓库管理员——以确保每个成员都能学习到构建 Web 应用的各个环节。
除此之外,我们每天早上还有一个编程挑战,用来练习核心的 Javascript 技能。
所有项目都是开源的,所以我把我们每周的项目链接都放在下面了。回顾这些项目,我不能直接说我为它们感到骄傲。但我肯定为在开发过程中学到的一切感到自豪。
我还记录了我们每周学习的技术。此外,每周的作业详情在这篇 Gitbook中有更详细的描述,有兴趣的朋友可以参考。
- 第一周:团队博客——HTML/CSS、jQuery、GitHub Pages
- 第二周:卫报 API — Web API、Ajax
- 第三周:社交墙——服务器、Node.js
- 第四周:InstagramFeed — Heroku、MongoDB
- 第五周:停止、执行、继续— D3.js
- 第六周:笔记— React.js
- 第七周:博客——服务器端渲染、Cookie
- 第 8 周:博客— Hapi.js
项目难度稳步提升,因此每周都需要学习新技术。我通常会利用周末时间阅读相关资料和观看教程,为接下来一周的工作做好准备。
工作日里,我平均每天花大约 10 个小时进行编程或学习编程,这意味着我在伦敦的四个月里总共花了将近 1000 个小时。
找到我的 React 利基市场
正如你所见,我们从第六周开始使用 React.js。我立刻就喜欢上了它,而且也很喜欢能够开发原生移动应用(React Native)的想法。所以我决定在整个课程中尽可能多地使用 React。
这也是一项战略选择。我知道,如果我想达到专业水平,就必须将精力集中在少数几个领域,而不是分散在许多不同的领域。React 自然而然地成为了我重点投入的课题。事实证明,这一策略非常成功,稍后我会详细介绍。
第九周的项目内容是开发我们自己的产品,因为FAC也希望激励学生们自己动手创作。我的团队开发了一个名为KeywordKing的小工具,用于分析iOS应用程序的关键词,你可以在这里了解更多信息。
第二部分——为客户构建最小可行产品 (MVP)
本周我们也为课程的第二部分做了准备,这部分内容是为外部客户构建最小可行产品(MVP)。在前八周里,我们每周都会接到客户的提案,他们需要开发人员为他们的想法制作原型。
运作方式如下:只需 500 英镑,一个由 3-5 名学生组成的团队就能在一周内搭建出一个原型。对我们来说,这既能学习如何与客户合作,又能进一步提升我们的编程技能,还能赚点零花钱。对客户而言,这是一个快速获得低成本最小可行产品 (MVP) 的机会。而且他们无需承担任何风险,因为只有在对结果满意的情况下才会收到发票,而大多数客户(但并非全部)都对结果感到满意。
在这几周里,我与其他几位同学一起完成了以下项目:
- Sir Predictalot——一款类似 Tinder 的新闻预测应用原型
- 巨魔奥拉夫——儿童谜题
- RateMyStuff——一个基于图片评分的社交网络
- Squish——一款面向学生的强化学习工具
我还进行了一次为期一周的机器学习实验,我在这里写了相关内容,此外我还制作了一些关于这个主题的教程视频。
这时,我在伦敦待了大约四个月,是时候搬回挪威了,那里才是我生活的其他部分所在。
回到挪威
回到家后,我的计划是尽快从事专业编程工作,因为我需要实践我新近获得的知识才能真正掌握它们。
我尝试找一些咨询工作,但比我想象的要难得多。我也预感到,如果找到一份工作,我的学习曲线会更加陡峭。直接上手一个由专业人士构建的外国代码库,对我来说似乎是个巨大的挑战。
于是我向三家需要JavaScript开发人员的公司投递了求职申请。其中两家邀请我参加面试。
第一个职位我没拿到。不知道为什么,但我猜他们想要的是资深开发人员。第二个职位让我经历了两轮面试,然后给了我一个编程任务。
利用人脉关系找到理想的工作
差不多同一时间,我参加了一个创业者活动,组织者是一位我略有耳闻的创业者。他是Xeneta这家资金雄厚的创业公司的首席技术官,我关注这家公司好几年了。根据他们的网站,他们正在招聘前端开发人员——而且他们还提到了React.js是他们使用的技术之一。
晚上他告诉我,他们刚用 React.js 重写了整个前端,正在寻找一位熟悉这个库的新开发人员;这听起来好得难以置信。我告诉他我对这份工作很感兴趣,我们决定之后再聊。
接下来的一周我参加了第一轮面试,然后又经历了两轮面试。之后他们给我发了一份编程题。
应对招聘挑战
我无法与你分享具体的挑战,但我认为我做对了一些事情,值得大家学习。
首先,我花的时间远远超出了预期。任务是在一周结束时交给我的,他们告诉我不需要花太多时间。但对我来说,快速完成是不可能的。所以我问他们是否可以在周末交付,他们同意了。然后我整个周末都在忙这个任务。我仔细检查了每一行代码,确保它符合 DRY 原则(Don't Repeat Yourself,不要重复自己),易于阅读,并且没有任何马虎之处。
我的解决方案里也包含了一堆测试,尽管它不在规范之内,而且我讨厌写测试😂
最后,我请几位以前在FAC的同学帮我快速看一下我的方案,这也有所帮助。这或许有点投机取巧,但我决心要提供一个完美的解决方案。
后来,当我站在面试官的另一边时,我经常看到应聘者提交的代码质量很差。千万不要这样做!
收到报价
6 月 26 日——在我加入 Founders and Coders 的第一天整整五个月后——我们达成了一项协议,我被聘为前端开发人员。
在一家创业公司工作真是太棒了,和一群技术精湛的人一起攻克一个庞大市场中的重大难题。我每天都面临挑战。所以我一秒钟也不后悔转行。
在那里工作一年多后,我的前联合创始人辛德雷·阿瑟瑟向我展示了Scrimba的早期原型,并问我是否有兴趣加入他,围绕这个原型打造一家公司。我立刻被这项技术吸引,毫不犹豫地抓住了这个机会。而如果没有他,这个机会肯定不会存在。
自那时起,Scrimba 从零发展到如今拥有超过 10 万月活跃用户。这是一段奇妙的旅程,人们每天都告诉我们 Scrimba 对他们学习编程的帮助有多大。
如果您有兴趣成为一名 React 开发人员,请注册并查看我们的入门课程(点击此处)和即将推出的高级课程(点击此处),我们将尽力帮助您。
祝你好运 :)
文章来源:https://dev.to/scrimba/how-to-become-a-react-developer-in-5-months-nil



