以下文章来源于freeCodeCamp ,作者richard1230

40 岁的时候,我转行成为一名前端开发者。在此之前,我没有任何技术相关的工作经验,没有相关专业学位。我完全是通过免费的资源自学编程,几乎没有为此花费什么钱,而且学习的时候我做着一份全职工作。

“外面下着雨,我正坐在马德里市中心的一家咖啡馆里,一边喝着咖啡一边敲着键盘。不久后我将以前端开发者的身份开启全新的职业生涯。就在 10 个月前,我还在 Granada(西班牙格拉纳达大学)当英语老师,对编程一窍不通。而现在,我即将成为一名软件开发者,这是怎么发生的呢?”

几个月前,我在入职新工作的第一天写下了上面这段激动人心的话语。跟我来吧,我将和你们分享我是如何实现这一切的。

特别的感觉

当我刚开始考虑成为一个开发者的时候,我会将信将疑地阅读类似这篇文章的故事。我会试图找出这些文章作者所拥有的而我所没有的特殊的背景——可能是这种背景使得他们适合这种工作。

后来,我慢慢明白事情不是那样的。成为一名开发人员不需要任何的 “特殊” 背景。我不会告诉你这非常容易,因为事实并非如此,但好消息是每个人都可以达到要求。你必须非常努力工作,学习很多东西,不能半途而废。当出现困难的时候,更不能退缩。当你自己觉得不适合做这件事情的时候,说服自己不要陷入绝望。以上就是你所需要的,每个人都可以通过练习来做这些事情。

我起步的时候没有任何相关背景。我并没有把钱花在昂贵的课程上面,在忙碌的一天工作之后我并没有太多时间去学习,同时我也已经步入中年。

每个人的情况是不一样的,但是只要你用心去做,你就能做到。

背景

在写下第一行代码之前,我从未接触过编程,也从来没做过相关工作。在职业生涯的早期,我从事餐饮工作,然后我获得了音乐相关专业的学位,之后在西班牙当了十年的英语老师。我甚至对电脑的基本操作也不是很熟练,但总是对新兴科技感到好奇与兴奋。我认为程序员是这个时代的超级英雄。

不过,我从未想过自己会成为程序员。部分原因是我认为编程只有精英才能做。这种工作是为那些从名牌大学毕业的聪明人准备的。虽然这样的人确实存在,但是大多数人并不是好莱坞电影里面的那种有天赋的天才。开发远比我想象的要容易得多。

我目前是在职前端开发,如果你现在也想学习前端开发技术,
在入门学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,
你都可以申请加入我的前端学习交流裙:851 :231 :348。里面聚集了一些正在自学前端的初学者裙
文件里面也有我做前端技术这段时间整理的一些前端学习手册,前端面试题,前端开发工具,PDF文档书籍教程,
需要的话都可以自行来获取下载。

故事起源

一切源于我和妻子之间一次热切的交谈。她当时正在探索在 STEM 领域尤其是技术领域女性人数减少的原因。她决定通过成为一名程序员来改变这一现状,并且成为我们家族中年轻女孩的榜样。就这样,她开始学习了解了。

这很快也让我兴奋起来,因为我们意识到有很多可用的资源。这不是什么黑魔法,而是一种我们可以学习和掌握的技能。

剧透一下,她成功地从人力资源方向转行,比我早一个月获得了开发的工作。

某一天,我们在一个科学博物馆里面发现了一本有关儿童编程的书籍。一回到家我们就打开 Notepad,写下

Hello World

,在浏览器里面打开,然后将页面颜色更改为红色。我们兴奋地尖叫着:这是什么魔法!

我彻底迷上了编程。我想要用电脑和代码做自己想做的事情。

我之前的工作

那时我已经做英语老师八年了。这不是典型的一个人在谈论他的没有前途的工作的场景。相反我非常热爱这份教学工作,喜欢工作的时候和孩子们在一起,而且我在工作时很自在。

但是有时候,即使你爱上了某样事情,你心里也知道是时候该继续前进了。这是我人生的一个新阶段,我有了新的展望和抱负。最重要的是,我想要一个新的挑战,让自己远离舒适区。

通往成功的真正路径

显然并不存在什么通往成功的标准路径。我们三个人(我的妻子、我和我的好朋友)为了转行几乎同时开始学习编程。我们三个人现在都是开发者,每个人的方法都不一样,每个人都有适合自己风格的方法。如果说我们之间有什么共同点的话,那就是我们没有放弃,没有半途而废。我们都付出了很多努力。

所以这里我要告诉你们的不是一个通用的方法,而是我自己所特有的方法。这不是唯一的方法,可能也不是最好的,但是这对我很有效。

开始

首先,我在 YouTube 上观看关于编程的视频,找到切入点。然后我开始学习 HTML 和 CSS,按照教程构建了一些基本的 Web 网页。我开始明白这是自己想要从事的工作。

设定目标

我向两个在这个领域工作的朋友寻求建议。那些鼓励的话语对我在前行的路上专注于一个明确的目标至关重要。

我花了些时间整理所有的选项,并设定了对我有用的现实目标。我需要在最短的时间内转行成功。我没有其他的收入来源,这意味着我要继续做之前的工作直到能转行为止。

我认为前端开发是初学者最容易进入同时是需求量最大的一个方向。我专注于初创公司所需要的技能而不是自由职业,这样我进一步缩小了范围。

然后我设定了最后期限。我不希望这个目标只停留在待办事项清单的末尾。2017 年的春天,我向自己承诺接下来的教学将是我老师生涯的最后一站。就是说到 2018 年 9 月份,我将不会继续做教学相关的工作。

在这个阶段我能够使一切尽在掌握中么?显然不可能的。在做出如此具有冒险的职业选择时,肯定会存在不确定性。在那个阶段和整个过程中都存在各种各样的疑问。关键是能否坚持不懈,不半途而废。一旦做出决定,我将沿着这条路走下去,看看未来将会发生什么。

学习

我明白不断进步的唯一途径就是学习。我有一份全职工作,所以永远都不可能等到有时间的时候。我必须一边工作一边学习,要么就干脆不做。幸运的是,我的妻子同时也在学习。这有助于安排我们自己的时间,以最大限度地提高学习时间。首先,我们给自己制定了一个"周末训练营”计划,就是说我们会花整个周末来编程。

典型的一天是这样的:

8:00 am:起床,吃早饭

8:30 am:开始编程

12:30 pm:去健身房

1:30 pm:吃午饭,休息

3:00/4:00 pm:继续敲代码

8:00/11:00 pm:完成一天的工作

暑期来了,我将"周末训练营"变成了"每日训练营",从而充分利用了这个假期。尽管有享受夏天和放松的诱惑,我还是坚持不懈地完成了计划。

九月份,我又得回去工作了。我有意识地决定减少工作时间,接受了更少的收入以换取更多的学习时间。这也是我在转行的路上踏出的更为坚实的一步。

暂停敲代码去工作的时候,我感觉很难受,我想要回到电脑面前解决某个问题或是 bug。但是现实生活开始了,一学年的开始总是需要很多时间来准备和组织。正如其他老师会告诉你的,这些工作也占用很多个人时间。

就在那个阶段,我感觉我平常的任务要偏离原有的目标了。尽管我尽最大努力,但是我编写代码的时间越来越少了。我开始失去动力。我试着坚持下去,但是有时候就是没有时间来写。即使有明确的目标和良好的动机,生活也会使事情变得复杂。

然而,你可以从我的 GitHub 活跃度显示中看到,我一直在尝试。我不停地投入时间,哪怕是一小时,哪怕是读一篇文章。我做了所能做的一切来养成这个习惯。当你把一件事拖得太久,可能会失去原来的习惯。

随着 12 月的临近,眼看着新年即将到来,最后的期限也越来越近,我再次振作起来,做事变得井井有条。我开始努力工作,不管我有多累,时间有多少,我都要坚持几小时。有时我会早点起来敲代码,有时会熬夜。

这意味着我的生活几乎被压缩到只能一边做一份付房租的工作一边学习。我基本上保持着这种节奏,一直到我收拾行李搬到马德里的那一天为止。那是 2018 年的春天,距离截止日期还有几个月。

工具和资源

在一边工作一边学习编程的这 10 个月中,我的主要精力都放在了编程上面,我在 Twitter 上面被问到最多的问题是“使用了那些资源”。我写了另一篇文章,深入回答了这个问题。这里,我列一个我认为是最重要的列表(包含最重要的工具和资源)。

课程

freeCodeCamp相关课程

Udemy 上面 Cassidy Williams 、Colt Steele 的课程

Wes Bos 上的 JavaScript 30 以及其他的课程

YouTube 上面的资源:Traversy Media,LevelUpTuts

Lynda.com 上面 Christina Truong 的课程

Udacity 上面的前端纳米课程(这是一个付费课程,但是我从 Google 获得了奖学金)

仅仅学习这些课程是不够的,所以我还通过这些工具或方式来学习,进而找到工作:

Twitter:这是我所有知识来源的地方,尤其是 #100DaysOfCode 社区,它给了我无穷的动力和支持

GitHub:一个非常重要的学习工具,也是我免费托管所有项目的地方,通常这是雇主重点关注的地方

个人作品集:通过构建开发项目和其他项目,我学习了最重要的开发技能

你可以在 GitHub 上面查看我的学习轨迹,其中包含我前 10 个月学习路径和使用资源的完整列表。

找到工作

令人惊讶的是,找工作对我而言并不太复杂。我没有海投,也没有花很多很多时间找工作。相反,我是有选择性并且专注的。

最后,我获得了五个面试邀请。其中一个拒绝了我,有一个未能完成,完成了其余三个并获得 offer。其中一个我不感兴趣,其余两个很有吸引力,其中之一就是我目前的工作。

我并不是对找工作不上心,实际上我不知道自己的技能是否能够胜任开发相关工作:我会不会因为经验太少而被嘲笑?那段时间我很紧张,同时也很兴奋,充满希望。当我最终获得两份心仪的 offer 的时候,欣喜若狂,简直不敢相信。

我会永远感谢那些做出决定给我机会的人。

那两家公司的面试过程很不一样。其中一个是视频电话,我可以与公司里不同的人交谈。这是一家规模不大但是实力雄厚的公司,希望建立一个新的前端开发团队。经过几周的沟通,他们给了我一个不错的 offer。

另外一家是处于高速成长中的年轻初创公司。在一次电话面试之后,我收到了一项技术挑战,需要在几天之内完成。它包含构建组件、进行 API 调用以及显示正确的信息。然后视频聊天,讨论我写的代码。然后,技术团队邀请我一起聚餐,以便更了解我。之后,我拿到了 offer 。

最后我不得不从这两家之间做出选择,这是我不敢相信的。但是我知道自己想要的是什么,我接受了初创公司的邀请。这家公司有一点比较吸引我:他们非常清楚导师的重要性,并给我提供成长和学习的指导。这点很关键,绝对是正确的选择。

就这样,在马德里的一个下雨天,我喝完咖啡之后走进了商务区的办公室,介绍自己是新来的开发人员,然后开启了新的职业生涯。

希望你喜欢我的故事。如果你能给本文点赞,我会非常高兴。你也可以分享文章,让更多的人来阅读,从中找到动力。

40 岁的时候,我转行成为一名前端开发者!相关推荐

  1. 程序员都是吃青春饭,40岁以后怎么办?转行大数据是不错的选择

    程序员的高薪让很多人羡慕,但是你不知道的是,在你安然入睡,陪伴家人的时候,他们还在电脑桌前加班.你以为大部分程序员都像雷军这样吗?你不知道的是,程序员创业大部分都会失败,因为很多程序员只会技术,不会和 ...

  2. 程序员都是吃青春饭,40岁以后怎么办?

    国内顶尖信息学奥赛名校训练模式有感 国内顶尖信息学奥赛名校训练模式有感 2022-06-18青少年软件编程(C语言)等级考试(一级) T5 与7无关的数 2022-06-18青少年软件编程(C语言)等 ...

  3. 编程15年40岁程序员的我终于在压力下被迫转行了

    本人今年40岁多了,中山大学计算机小硕,已经从事it工作15年多,最后一次工作是2017年,创业,互联网教育方向,2020年失败关闭公司. 创业失败后,在家沉淀了几个月,然后决定再次找工作. 前几年频 ...

  4. 某40岁程序员找工作,因技术老旧被拒绝,竟泪洒当场!

    互联网行业向来青睐年轻人,那些没成为高管的高龄码农,其生存状况如何? 一个程序员发帖讲了一个心酸的故事:今天面试来了一个40岁的老码农,失业半年,上有老下有小,可惜技术很旧了,而且年纪偏大,所以自己没 ...

  5. 程序员40岁之后怎么办

    转自:http://www.cnblogs.com/aigongsi/archive/2012/03/24/2413862.html 最近看到很多文章,关于程序员的寿命的问题,刚开始我也感到比较有危机 ...

  6. IT行业歧视40岁以上人群为找工作还要谎报年龄[转]

    IT行业歧视40岁以上人群为找工作还要谎报年龄(这样不好) http://www.aliyun.com/zixun/content/2_6_616161.html [赛迪网讯]4月5日消息,许多40多 ...

  7. 以前收入高,但毫无上进心,40岁一身房贷,被裁后找个小公司,天天担心试用期过不了,焦虑地睡不着!...

    今天带来的是一版"少壮不努力,老大徒伤悲"的故事: 以前互联网发展好,收入稳,但毫无上进心,假努力,风险意识也差,到了40岁一身房贷,年龄大学历差,被毕业后找个小公司,天天担心试用 ...

  8. 又一位程序员要去IPO敲钟:40岁,知乎老板做出200亿

    本文转载自 投资界,作者:杨继云 周佳丽 40岁的周源,终于快要等来IPO敲钟. 日前,有消息称知乎知乎已启动上市程序,上市地点美股或者港股.对此,知乎方面回复投资界称,对于IPO暂时没有回应.即便如 ...

  9. 大龄程序猿的新出路:改行学中医!40岁程序员,重新高考学中医,如今混得还不错!...

    大龄程序员的出路在哪里?送快递,送外卖,跑滴滴? 一位网友给出了一条新出路:改行学中医. 他说,一个40岁的程序员重新参加高考,学中医,如今已经学成归来,混得还不错. 程序员本身就有学习能力,改行中医 ...

  10. 35岁到40岁,如何突破

    思维层级的修炼: 抱怨:有问题,或不顺时,抱怨外部因素 行动:有问题,或不顺时,归于自己还努力不够,加班努力 能力:有问题,或不顺时,归于自己的能力不足.能力定义:能用更简单,更高效的方式解决同样的问 ...

最新文章

  1. 写代码如坐禅:你是哪一类程序员?
  2. java paintComponent的一些解读
  3. python 使用全局变量_如何在Python中的不同模块中使用全局变量
  4. Powershell统计一周内创建的账户和邮箱
  5. sqlserver表分区
  6. vue笔记(三)生命周期、组件(嵌套)、数据传递
  7. React开发(280):moment处理日期
  8. js判断变量类型是否为字符串,不符合条件则赋值为‘无’
  9. 【引用】关于close-on-exec标志
  10. 1078 Hashing (25 分) 解决冲突采用正向增加的二次探查法
  11. 相关性分析--copula
  12. “舌尖上的安全”:基于区块链构建四位一体的食品安全社会共治体系
  13. vivo 计算机怎么使用方法,vivo怎么能连接到电脑
  14. matlab 方程组求导,matlab求导及线性方程组的求解
  15. centos host在哪 local_centos怎么查看hostid
  16. Nginx出现大量499响应码怎么办?
  17. zt中俄两军炮兵的差距
  18. 国内主要的量化交易平台
  19. 网校装修,定义您的专属风格!
  20. ECMAScript6常用语法

热门文章

  1. Manjaro安装与基本配置
  2. 重识Nginx - 18 网络收发与Nginx事件间的对应关系
  3. 【网络攻防技术】实验九——嗅探与欺骗实验
  4. 什 么 是 勒 索 病 毒 ?
  5. 沧海一声笑,移动应用的CRASH原因我找到! --记最新款数字化测试“星云测试“的使用攻略
  6. PC安装Linux系统傻瓜式教程
  7. 长春理工大学第八届电子设计大赛 之 开关电源(2)
  8. 基于单片机的液体点滴速度监控设计
  9. [bzoj4453]cys就是要拿英魂!
  10. Portraiture4.0最新免费磨皮美白滤镜修图插件