一路曲折,我从保安转型成为后端开发者
Posted freeCodeCamp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一路曲折,我从保安转型成为后端开发者相关的知识,希望对你有一定的参考价值。
我从小就喜欢计算机。但是当初升学考试的时候,我的分数不够念计算机相关的专业,所以就念了采矿工程。
有一个学期特别糟糕,我挂了好几科,所以我决定在暑假找一份当保安的工作,赚点钱。结果,这份暑期工成了我之后的事业。 在西班牙,当一名保安不需要你特别聪明。你身边的人们逐渐不再对你抱有很高的期待,并且慢慢的,连你自己都对自己没有了期待,你甚至不再尝试让自己有所提升。
然而,冥冥中,一些特别的事情就发生这位特别的保安身上。
当时,我在马德里校园任职保安已经一年多,正在第400次活动上执勤。几个月前,我和妻子迎来了我们的第一个宝宝。
我就那样站在那儿,看着周围踌躇满志的企业家们。他们一个个都在冒险前进,而我呢,做着一份看不到前途的工作,仅仅是努力养家糊口而已。
活动进行中,一位演讲人走上舞台。恰好我站在舞台边,能听清他说的话。其中的一句话永远地改变了我的人生。
“人人都可以学习编程,人人都可以成为开发者。”
因为这个活动和一个价格不菲的编程训练营有关,所以我当时并不相信他的话,只是当作营销之词罢了。
但是,如果他说的是真的呢?如果我也可以学习编程--坐在计算机前工作--而不是像现在这样,当个保安,成天四处站岗呢?
在西班牙,只有那些拥有大学学位的人们才能从事脑力劳动。但是,据这位演讲人说,软件开发者的市场需求很大,因此即使你没有大学学位,雇主们也会破例录用。
他说,如果你想要获得一份高薪的软件开发工作,你唯一需要的就是拥有足够强大的编程能力,助你顺利通过一系列的编程考核和面试。
于是,我对他的这个说法做了些探究。我清楚地记得那个特别的时刻,我在探究之后意外地发现,原来他那样说,并不是为了营销,也不是夸大其词,而是随着经济发展产生的确确实实的需求。我当即决定,我要成为一名开发者,无论代价是什么。
搜索课程
我没有时间可以浪费,所以我立即开始拼凑各种方法,想找到学习编程的最快捷的途径。
我向我在马德里校园里的一些开发者朋友们咨询,比如Gamify(一款“挑战式”app)的CEO,Carlos Hernández。他建议我从一些网站(例如Codecademy)开始学,然后使用他的app实践,达成学习目标。
我不断地搜索各种网站资源,每天都尝试学习我搜到的新的课程。
接着,我跟本地Haskell沙龙的发起人Daniel Mery讨论了一下。他认为我其实可以使用开放的资源免费学习编程。我听取了他的建议,尝试在freeCodeCamp学习,并且很快爱上了这个平台。
简单地说,freeCodeCamp的魔力在于:
- 学习路径很清晰,你只要跟着做就行。
- 编程挑战设置得很棒。它不像是许多别的资源那样手把手教你,而是给你犯错的空间。
- 当你需要帮助的时候,你可以在一个每天24小时都有人在线的全球性社区里寻求帮助。
- 你可以挑战一系列真实的项目。
- 你可以为众多有真实需求的公益组织贡献代码。
我踩的坑
必须得说,我当时以为自己做了最明智的决定,选择了一条成为开发者的最佳捷径。然而,事情的真相是,我犯了些错误。最大的错误是:有始无终。
我刚开始学习编程的时候,学得非常快,感觉棒极了,像是登上了人生巅峰。
所以,当我遇到一些不能稍加思索就快速解决掉的问题时,我都懒得花心思去试着写代码。我只是想要保持快节奏地学习,学得越多越好。
结果,我就堆积了许多半吊子问题和项目。
最后,我痛苦地意识到:那些未解决的问题从未走远--它们会在未来的某个转角出现,给我狠狠的一击。
对,一口气吃不成个大胖子!我得循序渐进地学。
事实上,能静下心来,好好完成一个项目,比做一千个半吊子项目强多了。
我踩的另一个坑是我渐渐的不聚焦了。当我为某个问题寻求解决办法时,我可能会偶然发现另一些有意思的话题,一个接一个......当我反应过来时,这一天已经快结束了,而我还没解决最初的那个问题。
一年后,在“Async / Await”工作坊,我听到Pablo Almunia将我的这种情况形容为“狩猎松鼠”。
瞧,当“松鼠”出现,狗狗的注意力立马被转移,一切又得重新开始。希望当你正在追寻一个目标、被其他事物干扰的时候,你能想起这个场景,引以为鉴。
往前一步
我的关注点每天都在变化,迷失在层出不穷的线上课程、编程语言和框架里。
我开始感觉我好像永远都不能写出好的代码,永远都不能成为一个程序员。也许“编程”对我来说就是一个坑。
我又想到我的儿子,想到我许诺给他的未来。我希望他会因为有一个永不放弃的爸爸而骄傲。
这个时候,我认识了Ulises Gascón,他是一位程序员。他建议我完成那些我已经开始做的项目,同时他可以随时给我帮助。
所以我做完了一些项目。我回过头去处理那些之前认为特别容易所以忽略掉的问题。而在这个过程中,我开始提出新的问题,发现新的挑战。
在我学习编程的这个阶段,毫无疑问,Carlos Hernández、Ulises Gascón给予了我关键性的引导,促使我不懈坚持。如果没有他们,我也许早就放弃了。他们是我终身都要感激的人。
所以,可以这么说,是从朋友们那里获得的帮助激发了我往前一步。
加入一个社区
我的学习开始突飞猛进。我完成了更多的项目,打算做一些新的项目。但是我并不知道应该做些什么。有人建议我去参加一些社区活动,找找灵感。但是我参加了一圈,发现我所在的城市里很多活动都是一些牛人的讲座,或者关注尖端科技。
而我只是想要和一些水平相当的人们一起做项目,貌似没有这样的社区。
“没有这样的社区?为啥不自己创建一个呢?” 呐,这个时候,我开始像一个程序员一样考虑问题啦。
我和Ulises Gascón、Carlos Hernández、Ignacio Villanueva聊了聊,然后一起创建了Open Source Weekends 社区。
在经历了“赞助商在最后关头反悔”、“耗费了大把时间和金钱”等各种糟心事儿之后,我们的第一次活动完美拉开序幕。
Pillars.js团队也参与进来,他们不仅给我很多灵感,还成为了我的好朋友!
7个月之后,我们社区获得了“最佳开放社区奖”
(译者:关于这个奖项的介绍请见http://www.openexpo.es/oe2017/open-awards/,如果有更好的翻译,欢迎在评论区留言。)
和团队一起领奖(左起第三个就是我啦)
所以,加入一个本地社区真是太重要了。在其中锻炼的社交技能令我受益匪浅,我不再只是一个单纯的学写代码的家伙。
求职
在经过11个月反反复复的学习、失败、振作直至创建一个开源社区之后,我在我们OSW社区的邮件列表收到了一封邮件。
Kubide公司正在招聘后端工程师。恰巧我几个月前决定专注后端开发。我确实也非常喜欢前端,不过我发现自己更热衷于花几个小时解决一些后端的问题。
Kubide给我布置了一个任务:做一个Twitter clone API。这确实蛮有挑战的,不过还好。
接着他们的CEO,Ángel Luis Quesada,面试了我。比起我目前的开发能力,他对我学习编程的历程更感兴趣。巧的是,他对我在马德里校园当保安时遇到的那位创业者也很感兴趣。
我无法形容我在听到这个消息时的感受。身边的每个人都为我感到开心。我为学习编程付出的所有努力终于得到了回报!
我的第一份工作
故事有了一个完美结局,似乎就应该到此结束了。但是我想和你们多聊聊获得第一份开发工作之后的事情。因为我相信,如果你受到更多鼓舞,那你也会成功的吧。
万事开头难。但是呢,这个全新的开始真是超级棒,感觉就像坐过山车。
一开始,你感觉自己像个“冒牌货”,除了拖拉,你根本不会写什么代码。但是你必须拼尽全力。即使你感觉自己已经使劲浑身解数,也还得继续拼。然后,你可以向优秀的人们寻求帮助,他们会给你指一条明路。
接着,你开始有能力完成一些任务了,也就感觉好受点。
有一天,你发现某人分分钟就解决了曾经困扰你一整天的问题,那种“冒牌货”的感觉又涌上心头。
而又有一天,你帮助队友解决了一个问题,你感觉自己还不错。
最后,你意识到--或者你的上司告诉你--公司并不是因为你现有的能力而雇用你,而是看中了你有提升能力的潜力。
因为,把赌注下在那些知道怎么学、并且有强烈的求知欲的人们身上,总是没错的。
“人生最大的障碍是自己” -- Angel Luis Quesada
明白了这个道理之后,你的心态更好了。你会快速地提升、和同伴一起成长,你会越来越爱自己的工作,也越来越快乐。
和关爱我的伙伴们在一块儿很开心
请允许我以这几句话结尾:
- 请记得你为何开始学编程。
- 不要分心。
- 做完你的项目。
- 挺住!
谢谢你读完这篇文章,希望它能对你有所帮助。
“Peace, Love, and Open Source” — The Open Source Weekends motto
译者:Miya
原文:https://medium.freecodecamp.org/from-self-taught-coder-to-professional-backend-developer-my-long-winding-road-d8f7c428b637
点击“ 阅读原文 ”,加入freeCodeCamp翻译组
以上是关于一路曲折,我从保安转型成为后端开发者的主要内容,如果未能解决你的问题,请参考以下文章