这是作者40岁时,职业生涯从教师变为前端开发者的一篇文章。他没有相关的背景经验和学位,在有全职工作前提下,以目标为导向,自我驱动完成了编程的学习。编程潮正热的现在,或许你该提前看看这篇文章?
请看来自《freeCodeCamp》的文章:
“此时我像一名典型的前端开发人员,正坐在马德里市中心的一家咖啡馆里,喝着一杯咖啡,在外面下雨的时候敲我的笔记本电脑,开始我的第一天。
10个月前,我是格拉纳达的英语老师,对编程一无所知,现在我坐在这里。我是如何做到的?跟我来吧,我和你分享我如何来到这里的旅程”。
我回忆在我第一次考虑成为一名程序员时,我希望读到一篇什么样的文章。我模仿真正的作家,他们总是从读者的真实需求出发,从而使自己更擅长本职工作,这一点我要向他们学习。
成为一名作家需要有什么特殊的“背景”吗?
抱歉,我并没有找到答案。同样,成为程序员也没有任何“特殊要求”。我并不是和你说这很容易,因为事实上并不太容易。但好消息是,这些所谓的要求其实是每个人垫垫脚能达到的小目标。
你必须愿意努力工作,实实在在学到很多东西,并保持知行合一。当事情变得艰难时你需要坚持下去,当你觉得自己还有一口气,请在绝望的时刻说服自己走下去,这就是所需要的。每个人都可以通过一些练习来做到这件事情。
- 我开始时没有相关的计算机背景;
- 我没有为昂贵的课程知识付费;
- 假如我的某一天很忙,就挤不出连续性的整段时间学习;
- 而且我已经差不多中年了……
每个人的情况都不一样,但我相信,如果你找到自己的道路坚持下去,你就可以做到。
我学习编程需要背景吗?
在我编写第一行代码之前,从未接触过任何编程。我早期的职业生涯是做餐馆生意,后来我获得了音乐艺术学位,在西班牙担任了ESL老师十年。我甚至不熟悉计算机,可总是对最新的科技创意感到兴奋,我认为程序员是现代超级英雄。
(译指禅注释:ESL是欧美语言学校最通用的世界级权威英语培训课程,面向母语非英语的的留学生)
不过,我从没想过自己会这样做,部分原因是我认为编程是某种精英活动,适合从顶级(和昂贵的)大学毕业的有天赋的人。
虽然这样的程序员确实存在,事实上大多数程序员并不是好莱坞黑客类型,程序员入门比我们想象的要容易得多。
故事的起源
这一切都始于和我的伴侣的谈话,她正在探索公司团队中女性人数较少的原因,尤其是技术团队。她决定成为一名程序员,在亲身实践中寻找原因。她开始学习编程,想成为我们家庭中年轻女孩的榜样。
这很快让我兴奋,因为我们意识到有足够的网络资源可用。这不是一些黑暗的巫术,而是值得学习和掌握的技巧。顺便一提,她最后跳出了人力资源部门,事实上还比我早一个月拿到程序员的offer。
因此,有一天,我们在科学图书馆找到一本儿童编程的书。我们回到家里,打开记事本,写<h1>Hello World</h1>,更改color: red,在浏览器中打开,我们兴奋地尖叫,那是什么魔法!
我被迷住了,我想运用代码制作东西,我想让电脑按我的意志执行命令!我感受到这是我生命中的一个新阶段,我有了新的愿景和新的前程。
接下来,让我们把整个目标拆分开来,一步一步分解的编程之路。
编程之路
入门
首先,我开始阅读和观看有关编程的YouTube视频,以了解从哪里开始。然后我开始玩HTML和CSS。我按照教程编写并编写了一些基本的网页。
这让我觉得这是我真正想要进入的东西。
设定目标
我联系了两位在该领域工作的朋友,寻求指导和建议。那些引导的话语,鼓励我将注意力集中在一个明确的目标上前进至关重要。
我需要迅速改变职业生涯,花一些时间来整理所有的可行性选择并设定对我有用的现实目标。因为我没有其他资产性收入,这意味着我得维持原来的工资收入,直到我完成转行。
我认为前端开发是最容易入门和最受欢迎的选择。我通过专注于公司实际所需的技能而不是自由职业的路线来进一步缩小学习范围。
然后我设定了截止日期,我不希望目标超出日期还出现在我的待办事项清单上。这是2017年的春天,我向自己承诺,这个学期的课表将成为我作为老师的最后一张课表。假装在教师阶段我拥有一切的资本是清晰且可控的,我没有这种天真的想法。在做出如此冒险的转行时,不确定性无处不在。在每一个点和整个过程中都存在各种各样的疑虑。
学习学习
我知道前进的唯一方法就是有目标的学习。我有全职工作,所以等到“我有时间就学”从来都是一个伪命题。我很幸运,我的伴侣同时在学习。这有助于我们平衡学习的生活,最大化增加学习时间。
起初我们会做 “周末训练营”,把整个周末都用于编码。典型的一天看起来像这样:
早上8点:醒来,早餐。 上午8:30:开始编程;下午12:30:去健身房;下午1:30:午餐;然后休息;下午3:00/4:00 :继续编码;晚上8:00/11:00 :结束一天。
然后学校暑假到了,我将“周末训练营”变成“每日训练营”来充分利用时间。尽管享受夏天十分诱惑,我还是刻苦地坚持了这个时间表。
九月来了,我又回校园工作。我有意识地减少校园工作时间来换取更多时间学习编程。
很难说习惯之后,离开我的代码是多么困难。我想做的就是回到我的电脑上来完成解决这个bug或修复那个布局。但是新学年的开始总是需要老师花很多时间来准备和组织。正如你的老师会告诉你的那样,开学老师最辛苦。
那是我的任务可能脱轨的那一刻。尽管我付出了最大努力,但我的编码时间越来越少。我开始失去动力。我试图保持它,但有几天我根本没有时间。即使有最好的意图和良好的动力,生活也会让事情变得复杂。
我在GitHub上的活动显示10月份下滑
但是,正如您从我的GitHub活动图像中看到的那样,我一直在努力。即使只是一个小时阅读一篇文章,我仍然保持。当你在上面花费足够长的时间时,会产生势,势推动你进入正循环,它会让你越来越难以回到过去。
随着十二月临近,新的一年即将来临,我的截止日期越来越近。我开始推进,无论我多累,我都没有剩下多少时间。有时候我会提前起床去编程,有时我会熬夜。
这意味着我的休闲时间几乎减少了,舍弃了一部分学校奖金和教育工作,还有别的。我基本上一直保持这种节奏,直到我开始打包到马德里。那是在2018年冬天,也就是我的截止日期前几个月。
学习工具和资源
在将近10个月里,我沉浸在与代码相关的所有内容中。我在Twitter被问到的最常见问题是我使用了哪些资源,我写了另一篇文章,深入回答了这个问题。
以下是最重要的工具和资源的简要列表:
- freeCodeCamp.org
- Cassidy Williams和Colt Steele的Udemy课程
- Wes Bos’JavaScript 30和其他课程
- YouTube:Traversy Media,LevelUpTuts
- Christina Truong的Lynda.com课程
- Udacity前端Nanodegree(付费课程,但我从Google获得了奖学金,因此免费)
课程只能带你走的稍远一点,所以我用其他工具来补充,以帮助我学习和找到工作。
- Twitter:我的经历的基石。特别是令人难以置信,热情提供支持的#100DaysOfCode社区。
- GitHub:一个重要的学习工具,以及我免费托管我所有项目的地方。这通常是面试官考察你实力的第一个地方。
- Portfolio:通过构建它和其他自发项目,我学到了最重要的开发技能。
您还可以查看我的学习路线GitHub记录。它列出了我前十个月使用的资源和链接的完整列表。(读完后点击阅读原文查看)
寻找一份工作
令人惊讶的是,对我来说,这部分并不复杂。我没有发送大量的简历,也没有花费数小时寻找工作。相反,我有选择性地投了六份简历。
最后,我收到五个面试邀请,被一个人拒绝。我参加了三个面试,并拿到了三个offer。其中一个存在缺陷对我没有吸引力,剩下两个几乎同时到达我的兴趣阈值,都是非常有趣的工作。其中一个是我目前的工作。
我并不是故意对找工作不屑一顾,当时是一段激烈的时刻,不知道我的技能是否接近就业。我进入了找工作流程,甚至不确定我是否会因我的经历被嘲笑。
这是一个令人痛苦的时刻,但这也是一个令人兴奋和充满希望的时刻。当我终于发现自己在桌子上有两个真是的offer时,我很高兴,难以置信。
我将永远感激那些做出决定给我一个机会的人。两家公司的面试方式非常不同。一个是通过视频聊天与公司各种人交谈,这是一家小型但成熟的公司,希望建立一个前端开发新团队。经过几周的交流,他们让我第一次真正的报价。
另一个是一个处于成长期中的年轻创业公司。通过电话采访后,我收到了一个技术挑战,要在几天内完成。它涉及构建组件,进行API调用以及显示正确的信息。然后是视频聊聊我写代码的片段。然后我被邀请和技术团队一起聚餐,看看我们是否合群,之后我收到了作为初级前端加入的邀请。
最后我不得不二选一,选择权是我无法相信的奢侈品。但是我知道我想要什么,我根据一个要点接受了第二家创业公司的提议:他们似乎非常清楚成长空间的重要性,并给予我成长和学习的指导,对我而言这是关键,绝对是合适的选择。
所以,在马德里的那个下雨天,我喝完一杯咖啡,走进商业区的办公室,介绍自己是一名新的前端开发人员,开始了我新的职业生涯。
我希望你喜欢我的故事,如果你点一个美味的赞,我会很高兴。你甚至可以分享它,让更多的人可以阅读并学习,他们也可以做到,我想继续写更多类似的文章。
因此,如果您想了解更多关于此过程的任何特定方面,我很乐意回答。快来Twitter上@Syknapse(作者ID) 打个招呼吧。
译者:已脱单的Aha
本文由 @译指禅 授权发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
,