这是一篇作者在40岁的时候从老师变成前端开发者的文章。他没有相关的背景经验和教育背景,在全职工作的前提下,以目标为导向,自我驱动,完成了编程的学习。现在编程热了,也许你应该提前看看这篇文章?
请看文章《freeCodeCamp》:
“这个时候,我就像一个典型的前端开发人员,坐在马德里市中心的咖啡店里,喝着一杯咖啡,外面下雨的时候敲敲我的笔记本电脑,开始我的第一天。
十个月前,我在格拉纳达当英语老师。我对编程一无所知。我现在坐在这里。我是怎么做到的?跟我来,我会和你一起分享我的旅程。'
我回想起第一次考虑做程序员的时候想看什么样的文章。我模仿真正的作家,他们总是从读者的真实需求出发
只有这样,我才能更好地做好我的工作,我想向他们学习。
作为一名作家,你需要什么特殊背景吗?
对不起,我没有找到答案。同样,成为程序员也没有任何“特殊要求”.我不是说容易,因为实际上并不容易。但好消息是,这些所谓的要求实际上是每个人都能实现的小目标。
你一定要肯努力,真的学到很多,保持知行合一。当事情变得艰难时,你需要坚持下去。当你觉得自己还有一口气的时候,请说服自己在绝望的时刻走下去。这就是你需要的。每个人都可以通过一些练习来做这件事。
*我一开始没有相关的计算机背景;
*我没有为昂贵的课程知识付费;
*如果有一天我很忙,我无法挤出所有的时间来持续学习;
*而且我快中年了。
每个人的情况都不一样,但我相信,如果你找到自己的路,坚持下去,你就能做到。
# #我学习编程需要背景吗?
在写第一行代码之前,我从未接触过任何编程。我早期的职业是餐饮业。后来我拿到了音乐艺术学位,在西班牙做了十年的ESL老师。我甚至不熟悉计算机,但我总是对最新的技术想法感到兴奋。我认为程序员是现代超级英雄。
(翻译参考禅注:ESL是欧美语言学校为母语非英语的留学生开设的最常见的世界级权威英语培训课程)。
然而,我从未想过我会这样做,部分原因是我认为编程是一项精英活动,适合从顶尖(也是昂贵)大学毕业的有才华的人。
虽然这样的程序员确实存在,但事实上大多数程序员并不是好莱坞黑客类型,程序员入门比我们想象的要容易得多。
# #故事的起源
这一切都始于与我的合作伙伴的一次对话,他正在探索公司团队中女性较少的原因,尤其是在技术团队中。她决定成为一名程序员,并在自己的实践中找到原因。她开始学习编程,想成为我们家年轻女孩的榜样。
这很快让我兴奋,因为我们意识到有足够的网络资源可用。
这不是黑暗巫术,而是一种值得学习和掌握的技能。对了,她终于跳出人力资源部,比我早一个月拿到程序员的offer。
因此,有一天,我们在科学图书馆找到了一本儿童编程书。我们回家,打开记事本,写上
Hello World
,换个颜色: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被问到的最常见问题是我使用了哪些资源,我写了另一篇文章,深入回答了这个问题。
以下是最重要的工具和资源的简要列表:
1. freeCodeCamp.org
2. Cassidy Williams和Colt Steele的Udemy课程
3. Wes Bos’JavaScript 30和其他课程
4. YouTube:Traversy Media,LevelUpTuts
5. Christina Truong的Lynda.com课程
6. Udacity前端Nanodegree(付费课程,但我从Google获得了奖学金,因此免费)
课程只能带你走的稍远一点,所以我用其他工具来补充 ,以帮助我学习和找到工作。
1. Twitter:我的经历的基石。特别是令人难以置信,热情提供支持的#100DaysOfCode社区。
2. GitHub:一个重要的学习工具,以及我免费托管我所有项目的地方。这通常是面试官考察你实力的第一个地方。
3. Portfolio:通过构建它和其他自发项目,我学到了最重要的开发技能。
您还可以查看我的学习路线GitHub记录。它列出了我前十个月使用的资源和链接的完整列表。(读完后点击阅读原文查看)
### 寻找一份工作
令人惊讶的是,对我来说,这部分并不复杂。我没有发送大量的简历,也没有花费数小时寻找工作。相反,我有选择性地投了六份简历。
最后,我收到五个面试邀请,被一个人拒绝。我参加了三个面试,并拿到了三个offer。其中一个存在缺陷对我没有吸引力,剩下两个几乎同时到达我的兴趣阈值,都是非常有趣的工作。其中一个是我目前的工作。
我并不是故意对找工作不屑一顾,当时是一段激烈的时刻,不知道我的技能是否接近就业。我进入了找工作流程,甚至不确定我是否会因我的经历被嘲笑。
这是一个令人痛苦的时刻,但这也是一个令人兴奋和充满希望的时刻。当我终于发现自己在桌子上有两个真是的offer时,我很高兴,难以置信。
我将永远感激那些做出决定给我一个机会的人。两家公司的面试方式非常不同。一个是通过视频聊天与公司各种人交谈,这是一家小型但成熟的公司,希望建立一个前端开发新团队。经过几周的交流,他们让我第一次真正的报价。
另一个是一个处于成长期中的年轻创业公司。通过电话采访后,我收到了一个技术挑战,要在几天内完成。它涉及构建组件,进行API调用以及显示正确的信息。然后是视频聊聊我写代码的片段。然后我被邀请和技术团队一起聚餐,看看我们是否合群,之后我收到了作为初级前端加入的邀请。
最后我不得不二选一,选择权是我无法相信的奢侈品。但是我知道我想要什么,
我根据一个要点接受了第二家创业公司的提议:他们似乎非常清楚成长空间的重要性,并给予我成长和学习的指导 ,对我而言这是关键,绝对是合适的选择。
所以,在马德里的那个下雨天,我喝完一杯咖啡,走进商业区的办公室,介绍自己是一名新的前端开发人员,开始了我新的职业生涯。
我希望你喜欢我的故事,如果你点一个美味的赞,我会很高兴。你甚至可以分享它,让更多的人可以阅读并学习,他们也可以做到,我想继续写更多类似的文章。
因此,如果您想了解更多关于此过程的任何特定方面,我很乐意回答。快来Twitter上@Syknapse(作者ID) 打个招呼吧。
译者:已脱单的Aha
本文由 @译指禅 授权发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议