大家好! 👋

过去的 2020 年是艰难的一年。

新冠疫情越来越严重,很多人被感染、正在治疗中、失去亲人朋友、丢掉工作,或者眼看着自己的生意失败了。

在这样的时刻,我们会面临从未想象过的考验,也会有成长的机会。

我想分享一个关于学习编程的类似的“时刻”,一个对我来说很有意义的故事。

我曾经是土木工程师

2015 年 1 月,为了一个新项目,我在安哥拉坐车从万博去库巴尔。工程的内容是:建设 100 公里长的道路,直接连通两个遥远的城市(库巴尔和雄戈罗伊)。

坐在我旁边的是一位经验丰富的混凝土工程师,Pedro。作为副驾驶员的他既是我的朋友,也是一名极其专业的工程师,有他在,所有的建筑问题都能解决。而作为高级土建工程师的我,主要负责在政府与承建方之间协调,管理项目进度。

两个葡萄牙人驾车驶出万博城区,来到一个荒无人烟的地方,停在铁轨和公路的交叉口,等待火车过去。

汽车收音机正播放着非洲的流行歌曲,我突然和他说:

“新的一年开始了,又是一月份,我的生活简直是一塌糊涂。我的感情没了,钱也没了,大女儿也跟我很疏远,总之,我很反感这份工作”。

为了减少 GFC(2007-2008 年的全球金融危机)和后续的葡萄牙经济危机对我们的影响,我们不得不努力工作。金融危机导致建筑行业市场大萧条,而到了 2015 年,我们又陷入了安哥拉的石油危机。

后面我才意识到:那段时间是我生活巨变的开端。

我们住在库巴尔的一个小镇,这里之前是前殖民地,也被 1975 年-2002 的独立战争和内战严重摧毁过。在这个地方,除了白天工作,晚上喝酒,就是在猴面包树林里瞎晃悠。

baobab

库巴尔附近的猴面包树

处理这个项目的同时,我还要安排其他的项目合同,使得我经常要开很远的车,几乎达到 1 万公里每个月:从这个海岸到另一端的海岸,从本格拉的海滩到 Kuito Kuanavale(一个靠近赞比亚西部边疆的非洲中部城市)。

这是一段宝贵的时光,它开启了我改变现状的欲望。随着时间流逝,这种欲望在 Pedro 和我的脑袋里开始联结,想要自我改变的欲望越来越强烈。

为什么要改变自我

我的改变从利用自己的时间刺激大脑开始,因此我开始在电脑上阅读、看电影,为永远改变自己的生活设计宏伟的计划。

4 月份,我回到葡萄牙,并且和生活了 13 年的妻子离婚了。很快,我又回到安哥拉工作。

但我仍在保持进步,通过大量的运动来保持生活健康。

不久后,我遇到了我未来的妻子,她是库巴尔的一名银行会计。我们很块开始约会。

我通过阅读、查阅大量知识,以达到继续提高自我的目的。随后,生活的进展发生新的变化了。

一年后,也就是 2016 年 9 月,生活突然变得很糟糕。经济石油危机日益增强,导致石油价格暴跌到低于 40 美元一桶。而 Kwanza(安哥拉的货币)兑换美元汇率大约下跌到原来的五分之一。

工资被拖欠,手上的钱也用得差不多了。那个时候,除了我的第一个孩子 Maria,我还有新的伴侣 Benvinda(现在是我的妻子)、我的继女 Teresa、我们小宝宝 Benedita,都需要照顾。

我不得不在生活上有所调整,而我的妻子也有失业的危险,因为银行每天都在关闭分支机构。钱无法从安哥拉转到葡萄牙,因为 Kwanza 下跌太快,这是一种封闭的货币,也就是无法在安哥拉之外交易。

2016 年圣诞节的时候,我去了葡萄牙。

我疲于想尽各种办法去改善我的现状。我坐在电脑前,尝试通过建立一个小网站来帮助管理我的团队和在安哥拉的工作花费。

我一直喜欢电脑,以前也学过一些 HTML、CSS、LAMP 技术。即使很难学,我也相信我能够学更多,并且,这种学习能让我忘记当时糟糕的处境和贫穷。

很快我就发现仅凭已有的编程知识无法满足我的需要,因此,我习惯性地去一点点地学,试着去解决工作中遇到的每一个问题。

我找到了一些网站和辅导资料,却陷入了困惑,因为我不知道从哪开始学:MySQL?PHP?还是 Ruby on Rails?

发现 freeCodeCamp

在 2017 年年初,我发现并开始摸索 freeCodeCamp,我在 freeCodeCamp 不断地阅读文章,发现了不少人因此改变了职业、编写程序、面试、获得报酬等。发现的这些事让我难以置信,因为它就是我工作困境的解药。

从 1 月 3 号开始,我全身心地投入到 freeCodeCamp 的课程中。

当时,我找到了 Alex Kallaway 的 #100DaysOfCode(挑战编程 100 天),它是如此鼓舞人心,以至于我立马感觉它就是我生命中的动力。

在 freeCodeCamp 社区,我发现了 João Henrique,他自发在当地组织 freeCodeCamp 学习小组。João 的住处离我 60 公里,我们很快成为学习伙伴,并相互帮助。如果没有他陪伴,我的学习很难坚持下来。

我们组织了第一次 freeCodeCamp 本地聚会(阿尔加维的 freeCodeCamp 学习小组也因此诞生了)。刚开始的时候,我们并不知道本地聚会只有我俩,不过,很快就聚集了 10 多个伙伴一起交流和编程(当然,这是后话了)。

我快速地完成第一项挑战,进入 JavaScript 学习模块,同时,我也阅读了大量编程的知识,一切开始向着好的方向发展。

freeCodeCamp 的学习路线帮助我重拾对编程的热情,因为我们只需要毫无顾虑地跟着学习路线的建议一项项去完成。

我有种感觉:我家人和我的生活将来会变得好起来。这种信心主要来自 freeCodeCamp 论坛上看到的大量文章:几乎每天都有人发布“找到第一份编程工作”的文章。

我在安哥拉又工作了一段时间。在二月份的时候,我回到安哥拉,向妻子解释编程将如何改变我们的生活,并且如果我找到编程工作,我们就能去葡萄牙生活。通过白天工作(土木工程师)、晚上学习编程的方式,我拿到了 freeCodeCamp 的前端认证。

感谢我的导师、我的第一个老板 Miguel Coquet 指导我弄懂复杂的 JavaScript 异步编程。在那个曾经工作并临时居住的工地上,即使是三更半夜了,我依然感觉很兴奋,因为那项挑战是一个伟大的胜利。

我下定决心,一定要当程序员。

回到葡萄牙

2017 年 5 月,带着妻子和我仅有的一点点存款,我离开安哥拉,搬进父母的房子,不分昼夜地学习编程。每天学习到眼睛睁不开,我才休息几个小时,虽然艰难,但我还是挺过来了,因为我对编程的热爱简直到了狂热的地步。

当时我的妻子孩子都住在安哥拉,每天对他们的思念让我很难受。我们最终又聚到一起,这事告诉了我:耐心地相信我们终将重聚。虽然我们不知道何时能重聚,但我们始终坚信。

有志者,事竟成。决心是成功的第一要素。

葡萄牙的机会比安哥拉多,我在这发现一个本地社区 Geek Sessions,并且有一些小伙伴组织研讨会(比如:nodeschool)。

我开始参与到研讨会,并慢慢融入社区。

在参加社区的过程中,我第一次遇到了真正的程序员,并得到三位好导师: Miguel Coquet, Nelson Neves, and André Jonas再次感谢你们给我的帮助

我的学习进步很快,并投入到 Node.js 和 MongoDB 的学习中。几个月后,我搭建了一个小的全栈应用(包括前端、后端和数据库)。

找到第一份开发工作

到 freeCodeCamp 的最后一个学习挑战完成后,我从 freeCodeCamp 学到了作为初级全栈工程师的所有知识。

2017 年 9 月,万万没想到,我会快被 Miguel Coquet 录用了。他当时正在创建咨询公司,并且看中了我的脆弱、勇气、实力,以及为了理想工作全力以赴的能力。

我的第一份工作就是远程工作,在他的监督和指导下,为阿姆斯特丹的一家中型企业工作。

我自己都不敢相信:我通过编程挣钱了。我成功了!

电脑和编程技术一直是我的爱好,感觉很突然,我现在通过它养家糊口了。我一开始的薪资就不低,所以我很快把妻子孩子都接到葡萄牙来与我团聚。

2018 年的春天,我和我的妻子、孩子们一起在葡萄牙庆祝 Benedita 的周岁。

作为开发者的我

尽管前面那段时间我疯狂地学习和大量的阅读,但终生学习态度是程序员必备的,这也是 freeCodeCamp 带给我的隐藏财富。

很快你就能自主学习,不过 freeCodeCamp 的社区依然能提供很多帮助,第一要领就是:“阅读-搜索-提问(read-search-ask)”。

目前我是一家瑞典公司的前端工程师,通过敏捷远程协作为广播公司提供产品解决方案。我不用出门,薪水却超过葡萄牙 95% 的人。

如果 2015 年你告诉我这些,我根本不会相信。五年过去,时间很长,事物的变化也超乎想象。

我的事业转变很快(8 个月,其中 3 个月我白天还需要工作)。假如我更早了解 freeCodeCamp,情况可能更不一样......

尝试以下几个步骤

也许你和 2015 年的我一样,失望、麻木、佛系、自卑。

假如你遇到这篇文章,可能你正在搜索你不知道的东西。

也许生活在告诉你:这里有希望,一条新路,一个改变现状的方案。

也许你并不知道,“现在”是改变自己的最好的时间。

❤️请相信,全力以赴,夜以继日地努力,和他人交流,找一个伙伴,找一个导师去学习和成长,真诚地抛出你的弱点,尝试失败,提出你遇到的各种问题(所有的问题都有意义),然后实现你的目标。❤️

freeCodeCamp 上学习编程的原因

我觉得 freeCodeCamp 主要有以下几个优点:

  • freeCodeCamp 是免费的,即使你手头紧张也能学习,而且,花钱的培训班也不一定比 freeCodeCamp 的质量更好。因为,freeCodeCamp 和花钱的培训班一样需要个人自律、努力学习。

  • freeCodeCamp 的学习环境属于用户友好型,帮助你从零开始。

  • freeCodeCamp 有很好的学习路线,保证你不会为如何学而烦恼。如果你想从事 web 相关工作,选择 freeCodeCamp 准没错。

  • freeCodeCamp 有一个简单的准则:阅读-搜索-提问(read-search-ask),正确地使用这个准则能帮助你在浏览器上搜索你需要的内容,假如你依然没找到答案,那就去社区里寻求帮助。相信我,学习编程,freeCodeCamp 的社区是最棒的。

  • freeCodeCamp 提供挑战性的项目,帮助你从做中学(learning by doing)。这个过程会帮助你了解项目、思索解决方案、学习技术以及和其他学生或者导师讨论。通过这个过程你会获得工作所需的所有技能。

  • freeCodeCamp 是一个权威的平台。不要觉得昂贵学费的培训班证书或者大学文凭才能帮你找工作,我采访过很多了解 freeCodeCamp 的人,也被 freeCodeCamp 毕业的人采访过,freeCodeCamp 的学习帮助不少人成为厉害的开发者,在很棒的公司找到工作。而且,公司知道你是自学者、终身学习的人、一个在问题中有能力且乐意寻找答案的人。公司需要的是解决问题的员工,而不是带来麻烦的员工,通过 freeCodeCamp 自学成才的人正是他们需要的。

不要觉得自己年纪太大不能学习编程了,也不要觉得你以往的工作经历和编程工作毫不相关。我 37 岁的时候开始重新学习编程,这个年龄为我带来很多软实力,因为每一份工作经历都会给我们有用的,令人钦佩的软实力。

如果你渴望电脑、编程、互联网之类的知识,freeCodeCamp 不会让你失望,它绝对会给你带来更好的生活

新年快乐,为大家干杯!别忘了写代码、写代码、写代码。

嘿,哪天有空了来 Twitter 上找我,告诉我你的体会!

原文:How I Went from Civil Engineer to Web Developer Using freeCodeCamp to Learn to Code,作者:Eduardo Vedes