电脑入门完全自学手册_自学编程 4 个月后,我获得了第一份软件开发实习工作...

db89c28c1ff48886562c43968e945f88.png

大一那年的一月份左右,我开始自学编程。五月份,我在旧金山一家知名公司获得了实习机会(后来被邀请毕业之后回来全职工作)。

我想说,获得一个软件工程实习机会是很难的,你得不断地申请,准备技术面试。我很理解其中的困难,毕竟我给 700 多家公司投了申请最后才获得一份实习工作。

但是,如果你对自己严格要求,并且采用正确的学习方法,那你完全有可能通过自学进入软件开发行业。我想分享一下我的自学经验。

0c27c4fe26db9990627bba9e2b0c2b09.png

步骤 1:学习基础

如果你刚入门 , freeCodeCamp 和 CodeCademy 是最好的资源。

这两个平台用尽可能简单的方式帮助学员理解,教给学员入门编程所需的绝对的基础知识。我建议你从 CodeCademy 开始,选择你想学习的语言。

了解你自己的兴趣所在,然后选择一门相应的语言,这样学习起来会更有效率。

例如,如果你打算进行前端开发,那么 freeCodeCamp 上的 Web 课程将特别有用。 在这篇文章里我也主要讨论前端方面的学习经验。

我做了什么

就个人而言,我一直对前端工作更感兴趣。而对于前端开发者来说,深入了解 JavaScript,HTML 和 CSS 无疑是最重要的。

所以,我花了一周时间自学 CodeCademy 的 JavaScript 语言入门课程。这门课完全免费,而且内容解释对初学者来说很容易理解。为了提高学习效率,我会定期记录自己学到的知识和不懂的地方,然后经常看看笔记,以免忘记。

HTML 和 CSS 学起来相对容易。我在 freeCodeCamp 学习完整的 Web 设计课程。这是最棒的免费学习资源之一。如果你完成了整个课程,你将了解 Web 开发的基础知识。

课外阅读我推荐《 前端开发人员手册》,它是前端开发者最完整的资源清单,其中资料需要数千小时阅读时间。它将教你 Web 开发应该知道的所有技巧,并且是免费的。

步骤 2:创建项目

几周后,你应该要准备创建一个小项目了。如果你没有丰富的经验,那么项目可以为你的简历加分不少。freeCodeCamp 提供了很多项目案例,你可以从一些小项目开始练手。

如果你不知道应该做什么项目,那么可以在网络上搜索项目构思,也可以看一些 GitHub 仓库,从别人的代码中学习。

在你创建好项目并且完成测试之后,请把源代码放到 GitHub 上。这至关重要,因为你没有经验,你所应聘的公司会通过这些代码来看你的技术实力。记得展示高质量的代码和文档。

我做了什么

我获得实习机会的时候,做了 4-5 个项目。我首先是从另一个学生的 GitHub 仓库 fork 他的一个游戏 app,学到很多,并添加我自己的代码。接着我慢慢做一些复杂的项目。

- 各种小型游戏,例如 Minesweeper,都用 React 制作并用 CSS 设置样式。

- 一个地图,用 Javascript 和 Mapbox 制作。

- 一个 social app,可让用户展示自己的最佳照片,并在 Heroku 上通过 Node.js 和 Mongoose 实现了前后端。

df36e898b2ce7a550c4d8dbf09611acb.png

步骤 3:申请工作

我在这方面的经验最多,因为我申请了很多工作。关于求职和面试过程,我的最佳建议是:

- LinkedIn,Glassdoor 不是你的朋友。招聘人员在这些网站上会收到很多的申请,他们通常使用 ATS(应用跟踪系统)来过滤掉所有简历。如果你没有任何以前的经验或令人印象深刻的项目,那么通过筛选的机会就非常渺茫。

- 一封好的求职信会让你脱颖而出。请不要将一封相同的求职信反复发送给每家公司,请确保没有语法错误。

- 比较好的方法是直接在公司的网站上进行申请,或者给招聘人员发电子邮件(如果公司规模很小,你可以直接给 CEO 发)。如果公司没有公开电子邮件,你通常可以猜到,比如:hello@companyname.com,或是 name@companyname.com 。与你通过 Indeed / Glassdoor 提交简历相比,直接发给公司的简历,被查看的机会要高得多。

- 不要脸薄。公司可能会用各种原因拒绝你,而招聘人可能会骗你,这是正常的。如果你的简历吸引力不大,面试的机会就较小。继续申请,不要放弃。

步骤 4:面试

64adef1fe9f2a2a9295a28e450922b07.png

请务必提前做好准备,有许多线上资源教你如何进行技术面试,我推荐你阅读《Cracking The Coding Interview》。

技术面试压力很大,Leetcode 提供了许多实践性问题,你可以提前参考。

需要注意的一件事:我面试过的公司经常就我做的项目问我如何实现之类的技术问题,并问我有关的技术问题。这是他们测试你是不是作假的方法,因此请你为此做好准备。

我做了什么 

我完全搞砸了我的第一个面试,很难堪。

我意识到自己对技术问题的准备不足。我开始每天在 Leetcode 学习 2 至 3 个小时。最重要的是不要在单个问题上花费太长时间。你面试的时候时间有限,练习的时候也应该给自己限时,一个简单的问题 10 分钟,一个中等难度的问题 20 分钟。

如果你不能及时解决问题,不要灰心,查看解决方案并尝试理解它,标记你无法解决的问题,并在一周后重新尝试。

面试还会考验你的沟通能力,你可以在练习问题可以大声说出自己的想法来做准备。一开始听起来可能很奇怪,但是当你习惯说出来时,在面试中会少些尴尬。

资源:在哪里可以找到入门级的工作和实习

你可以试试这些平台:Glassdoor,Indeed,Angellist,Linkedin。

尝试找到实习机会很是困难,没有简单快捷的方法。

32b54bf7bb54d5ed5bd8dc69cbda7f9e.png

freeCodeCamp 的社区很棒,在我找工作的过程中为我提供了很多帮助,接下来我也会成为一个贡献者,回馈社区。在实习之后,我做了这个应用程序作为我的项目,一个每天刷新的编译公司及其实习/入门级工作的列表,这些列表可以按位置,标签,学期等进行过滤。我将在之后的文章中对其进行详细说明。

结论

找到你的第一份工作/实习可能会是一个漫长的令人沮丧且乏味的过程,但是,你会积累很多经验,然后觉得这个过程是值得的。

这是我实习后做的项目与我最初自学时做的项目的比较。

2acbfcb6f3f77cef35b27d228ba59ea5.png

e0a964373f1cb937e5ee6e5f58a1391c.png

完全不同!

这就是为什么我认为在实习期间花费的时间完全值得,如果没有在实习阶段得到的指导和积累的经验,我应该做不出这个项目。该项目帮学生,自学成才的开发者和应届毕业生找到实习机会和入门级职位,你可以在这里查看。

如果你有任何疑问,可以加我微信(alyssay1234),给我留言。

祝大家好运!

e750407bc5f171083a392a9feaa73d1d.png

非营利组织 freeCodeCamp.org 自 2014 年成立以来,以“帮助人们免费学习编程”为使命,创建了大量免费的编程教程,包括交互式课程、视频课程、文章等。线下开发者社区遍布 160 多个国家、2000 多个城市。我们正在帮助全球数百万人学习编程,希望让世界上每个人都有机会获得免费的优质的编程教育资源,成为开发者或者运用编程去解决问题。

你也想成为 freeCodeCamp 社区的贡献者吗?欢迎了解 招募丨freeCodeCamp 翻译计划。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值