“此时我像一名典型的Python开发人员,正坐在马德里市中心的一家咖啡馆里,喝着一杯咖啡,在外面下雨的时候敲我的笔记本电脑,开始我的第一天。
10个月前,我是格拉纳达的英语老师,对编程一无所知,现在我坐在这里。我是如何做到的?跟我来吧,我和你分享我如何来到这里的旅程”。
我学习编程需要背景吗?
在我编写第一行代码之前,从未接触过任何编程。我早期的职业生涯是做餐馆生意,后来我获得了音乐艺术学位,在西班牙担任了ESL老师十年。我甚至不熟悉计算机,可总是对最新的科技创意感到兴奋,我认为程序员是现代超级英雄。
不过,我从没想过自己会这样做,部分原因是我认为编程是某种精英活动,适合从顶级(和昂贵的)大学毕业的有天赋的人。
虽然这样的程序员确实存在,事实上大多数程序员并不是好莱坞黑客类型,程序员入门比我们想象的要容易得多。
故事的起源
这一切都始于和我的伴侣的谈话,她正在探索公司团队中女性人数较少的原因,尤其是技术团队。她决定成为一名程序员,在亲身实践中寻找原因。她开始学习编程,想成为我们家庭中年轻女孩的榜样。
这很快让我兴奋,因为我们意识到有足够的网络资源可用。这不是一些黑暗的巫术,而是值得学习和掌握的技巧。顺便一提,她最后跳出了人力资源部门,事实上还比我早一个月拿到程序员的offer。
因此,有一天,我们在科学图书馆找到一本儿童编程的书。我们回到家里,打开记事本,写
Hello World
,更改color: red,在浏览器中打开,我们兴奋地尖叫,那是什么魔法!我被迷住了,我想运用代码制作东西,我想让电脑按我的意志执行命令!我感受到这是我生命中的一个新阶段,我有了新的愿景和新的前程。
接下来,让我们把整个目标拆分开来,一步一步分解的编程之路。
编程之路
入门
首先,我开始阅读和观看有关编程的YouTube视频,以了解从哪里开始。我按照教程编写并编写了一些基本的网页。
这让我觉得这是我真正想要进入的东西。
设定目标
我联系了两位在该领域工作的朋友,寻求指导和建议。那些引导的话语,鼓励我将注意力集中在一个明确的目标上前进至关重要。
我需要迅速改变职业生涯,花一些时间来整理所有的可行性选择并设定对我有用的现实目标。因为我没有其他资产性收入,这意味着我得维持原来的工资收入,直到我完成转行。
我认为Python开发是最容易入门和最受欢迎的选择。我通过专注于公司实际所需的技能而不是自由职业的路线来进一步缩小学习范围。
然后我设定了截止日期,我不希望目标超出日期还出现在我的待办事项清单上。这是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课程
课程只能带你走的稍远一点,所以我用其他工具来补充,以帮助我学习和找到工作。
1.Twitter:我的经历的基石。特别是令人难以置信,热情提供支持的#100DaysOfCode社区。
2.GitHub:一个重要的学习工具,以及我免费托管我所有项目的地方。这通常是面试官考察你实力的第一个地方。
3.Portfolio:通过构建它和其他自发项目,我学到了最重要的开发技能。
寻找一份工作
令人惊讶的是,对我来说,这部分并不复杂。我没有发送大量的简历,也没有花费数小时寻找工作。相反,我有选择性地投了六份简历。
最后,我收到五个面试邀请,被一个人拒绝。我参加了三个面试,并拿到了三个offer。其中一个存在缺陷对我没有吸引力,剩下两个几乎同时到达我的兴趣阈值,都是非常有趣的工作。其中一个是我目前的工作。
我并不是故意对找工作不屑一顾,当时是一段激烈的时刻,不知道我的技能是否接近就业。我进入了找工作流程,甚至不确定我是否会因我的经历被嘲笑。
这是一个令人痛苦的时刻,但这也是一个令人兴奋和充满希望的时刻。当我终于发现自己在桌子上有两个真是的offer时,我很高兴,难以置信。
我将永远感激那些做出决定给我一个机会的人。两家公司的面试方式非常不同。一个是通过视频聊天与公司各种人交谈,这是一家小型但成熟的公司,希望建立一个Python开发新团队。经过几周的交流,他们让我第一次真正的报价。
另一个是一个处于成长期中的年轻创业公司。通过电话采访后,我收到了一个技术挑战,要在几天内完成。它涉及构建组件,进行API调用以及显示正确的信息。然后是视频聊聊我写代码的片段。然后我被邀请和技术团队一起聚餐,看看我们是否合群,之后我收到了作为初级Python加入的邀请。
最后我不得不二选一,选择权是我无法相信的奢侈品。但是我知道我想要什么,我根据一个要点接受了第二家创业公司的提议:他们似乎非常清楚成长空间的重要性,并给予我成长和学习的指导,对我而言这是关键,绝对是合适的选择。
所以,在马德里的那个下雨天,我喝完一杯咖啡,走进商业区的办公室,介绍自己是一名新的前端开发人员,开始了我新的职业生涯。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。