对,你没看错标题!一家公司聘用了我,他们给我的职位是开发者,并且给我的待遇相当不错。

我感到既兴奋又震惊,坦白说还有点担心,不过还好啦。这事真的令人难以置信,不过我还是欣喜若狂地开始写代码了。

很多人建议我将自己的经历写成一篇文章分享出来,也许可以帮助别人。现在,就开始吧!

开始

我一直都对计算机、技术等很感兴趣。和其他同龄人一样,刚开始学习的时候,我创建一个 GeoCities 网站,然后用一些基本的 CSS 样式来个性化修饰我的 MySpace 页面。

我当时并不知道,那就是开发,虽然很粗糙,但的确是在做开发。那时,我不知道这种工作还可以挣到钱,否则我可能会一直坚持下去。所以,我上了大学,并获得了一个与技术无关的学位 —— 心理学。这并不是一个完全无用的学位,只是在我之后的工作中我从来都没有用到过。

发现并追求内心最想做的

这样就到了 2016 年的夏天,那时候在工作之余我有很多空闲时间。其实我之前一直想自学编程,所以这对我来说是很好的时间点——别再拖了。于是我就利用网络上的很多免费资源,全身心地开始了我的编程之旅。

刚开始我在网上搜索学习资源,并发现了 CodeCademy 这个网站,我将上面的问题、解题思路还有结果全部手抄到笔记本上。我会将我认为重要的东西全部都用笔记下来,后面时不时地去复习。现在我再回过头来看这些东西,把我当时和现在觉得困难的内容对比一下,也挺有趣的。

一个朋友知道我在自学,就告诉了我 freeCodeCamp,他说这个平台就是为像我这样的人设计的。我本来打算随便看看,上一两节课就够了,结果那天晚上我完成了 HTML 的整个学习章节,我完全被迷住了。

在学习的过程中我发现学得越多,问题就越多。总感觉有一种寻找这些问题答案的动力在推动着我。所以我继续学习接下来的课程和项目。在 freeCodeCamp 的课程更新之前(译者注:指的是 2016 年版课程更新至 2018 版课程),我在上面完成了两个项目。

平常我会抓住各种机会去学习或者做项目,比如排队时,我不会打开手机去浏览我的各种社交网络,而是看一些和 Web 开发相关的文章或者视频。

现在我对怎么合理安排休息时间有了很大的改变,不像以前一样把时间花费在一些“无脑消费”上(如果你喜欢社交媒体或看一些有趣的动物视频,我并不是说你是“无脑”,我只是说,这类行为通常不需要你的投入,你只需要打开手机,看着屏幕就可以了。其实,我也时不时这样)。

在这段时间里,我浏览了各种学习资源,一直在纠结哪种适合我,就像一个在糖果店里的孩子到处盯一盯。我曾经有一个文件夹,里面保存了大约300个链接,全是我计划要学习的东西。现在我知道了,找到适合自己的并坚持下去,远比选来选去,这看看、那看看要好得多。

我之前总是学习到很晚,妻子和女儿都睡着了。我经常熬夜到凌晨12点半,有时甚至是2点,然后不得不在早上6点起床去做我的日常工作。起初,当学习的东西很简单的时候,对我来说还可以适应。但是,当我开始学习 JavaScript,学习网络、服务器、无障碍等基础知识时,我发现越是熬夜我的大脑就越难以集中精力。

在坚持了几个月之后,我不得不开始改变我的学习计划。

当然,我并没有想停止我的学习和项目,只是将我的日程安排做了下调整。

每天早上,我4点起床,不再像以前一样熬夜。然后学习和做项目,再去健身房,一天就这样开始了。不得不说,在我的学习过程中,这是非常关键的,因为我记住了更多东西,做了更多项目,最终一步步在往前发展。

同时,在这期间我开始购买各种和 web 开发相关的学习资源(主要是 Udemy 的课程和书籍)。但这并不是一个明智的选择。如果你找到了一个你喜欢并适合你学习的资源,那么坚持下去,直到将它学完。不要像我这样从一个跳到另一个。

成长 —— Google & Udacity 奖学金

--1
我收到的邮件中附带的图片

2018 年 1 月,我申请并获得了优达学城前端纳米学位项目的奖学金。这不仅是一个很棒的机会,驱使我朝着目标前进,同时也让我发现自己的不足之处。

刚参加这个项目,我只会 HTML、CSS 的基本知识,以及一小部分 JavaScript。在课程中,我知道了 jQuery函数式编程面向对象编程(OOP)、测试驱动开发(TDD)、无障碍、服务器、API's、网络、ReactAJAX 和其他我以前从未接触过的 web 开发技术。

老实说,学习的过程并不是总是轻松愉快,有时候我会很认真地想是不是该放弃。我觉得自己可能永远学不懂这些概念,我的脑子里一片迷茫。

我很庆幸自己没有半途而废,因为半途而废的人永远不会成功——这种老生常谈的话是第一次出现在这篇文章里,我保证后面不会有了。

在学习这些课程的时候,我开发了很多很棒的项目,比如卡片匹配游戏街机游戏餐厅点评 App邻里定位 App。但除了这些项目,还认识了很多朋友,与其他开发者合作也是一份宝贵的经验。

可以这么说,没有这门课程,就不会有今天的我。在这9个月的课程中,我收获了很多宝贵的东西。

求职

--2

在正式开始找工作之前,我已经努力学习了大约两年(有时也偷懒)。但还是觉得自己没有做好准备,一位后来成为我导师的朋友告诉我,你永远不会感觉到自己已经准备好。他说我应该去试一下,如果得到面试机会,就让面试官来告诉我,到底我有没有准备好,不要把任何一个机会挡在门外。

所以,带着极度的恐惧、焦虑和怀疑,我决定开始找工作。

起初,我只是投一些自己符合大多数条件的职位,但这并不是正确的做法。然而我又很害怕收到别人的面试电话。(后来我开始申请任何我感兴趣的工作。高级开发、前端 React 开发 、具有 SQL 经验的 API 开发,我全都申请过。这么做是因为你永远不知道你的申请会有什么结果。也许你没有得到某个高级职位的 offer,但他们可能喜欢你的个性,所以让你去面试他们的低级职位。)

在找工作投了三个月的简历之后。终于我接到了第一次面试的电话!我既高兴又害怕。压力非常大。

我阅读文章,学习面试技巧,阅读书籍,让我的妻子就问题对我进行测验,并尝想象各种我认为会在面试中出现的场景。我还为面试官准备了一些问题,因为我想知道在这家公司工作是什么样的。

结果最后我产生了这样的想法:这是一份完美的工作,是我从记事以来最想得到的东西,我必须得到它!

其实我不应该这么想的。

面试那天,已经不能用紧张来形容我自己了,我汗流浃背。在回答了所有的问题之后,我提问了我准备的问题。面试结束后,我感觉发挥得还可以。

最后,我没有得到这个职位,我很沮丧。我觉得一切都进行得很顺利,但不知什么原因,结果没有如我所愿。后来我又面试了很多工作,才知道面试失败是很正常的。

我决定不再让这些负面情绪来打击我的信心。所以我开始更加努力地工作、学习,化悲愤为动力。我会尽一切努力来保证某次面试能让我拿到 offer。

以下是我找工作的一些数据统计:

  • 通过申请平台提交求职申请:271次
  • 提交之后,有公司以某种形式回应我:28次
  • 电话面试:7次
  • 面谈:8次
  • 拿到 offer:3家公司(一家是可以签订全职合同,但可能性很小;一家是兼职形式;最终我得到了一份全职工作)
  • 没有消息:多得数不过来

如果你正在找工作,不要让这些数字打击你!的确,这是很令人沮丧,让人想退缩。填了一份申请表,投了简历却从来没有得到任何回复,确实很糟糕,但请不要放弃!你一定会成功!就像我一样。

关于找工作 —— 我的建议

关于找开发工作的建议或者技巧不胜枚举,我总结了自己找工作的一点经验,分享给大家:

  • 脸皮要厚,这是必须的,因为很多公司可能不会要你
  • 申请任何你感兴趣的职位
  • 即使某些职位你没有达到要求,一样申请(我的第一份开发者工作就是这么找到的)
  • 花时间将简历做好一点
  • 不要因为某些公司拒绝你而觉得自己是个失败者
  • 向公司展示你可以不需要教程构建一个项目
  • 当需要帮助时,就寻求帮助(对我来说很难)
  • 去各种平台上申请工作,别忘了 GitHub jobs 也可以
  • 保证充足的睡眠、锻炼,以及注意饮食健康(健康是根本)
  • 时不时休息一下
  • 不要和别人比较,你的工作。技术等等
  • 不要在意花了多长时间,3个月或3年(像我一样),这不是一场比赛
  • 努力学习,永不言弃

最后,希望你一切顺利!如果你需要建议或帮助,可以在 TwitterLinkedIn 上和我联系。我喜欢帮助别人,结识新朋友。

在我的个人博客上,我也会写一些与 web 开发相关的文章。每个月我会更新一次,里面有我觉得不错的东西,你可以考虑订阅一下。

希望你有精彩的一天, happy coding!

原文:https://www.freecodecamp.org/news/landing-my-first-development-job-what-a-crazy-journey/,作者:Jonathan Sexton