如果你是一个初学者,低级开拓职员,或者对这个行业很好奇,这篇文章便是为你准备的。如果你是一个成熟的开拓者,你可能会在这里找到一些有用的链接,由于我列出了最好的资源,能给你的技能提升带来巨大好处。
利用在线课程和大多数免费工具,你可以得到一项有代价的技能,让你在一个有回报、充满寻衅的行业中事情。2018年,须要有技能素养的人的事情领域将会越来越多。这也是我第一次进入这个行业的缘故原由。我想要掌握自己的生活,并对自己从事什么类型的事情有发言权。直到本日,我还在坚持自己的不雅观点:如果这是你的目标,这是一个最好的行业。
主要提示:这篇文章看起来可能像是辅导你一步一步成为开拓者的指南,但如果你仔细不雅观察,这背后有一种你可以运用于任何领域学习的策略。
为什么要编程?
在我们进入真正成为一名开拓者的步骤之前,必须要先理解一下为什么你要沿着这条路走下去。每一个须要你付出生命中主要韶光的决定都该当是合理。毕竟,韶光是我们拥有的最主要的资源:
A、你想要在这个行业中事情,在这个行业里,对技能的需求很大,而且有很多机会成为食品链顶真个非常主要的角色。
B、你喜好独立。你想要一种能让你在世界上任何地方都能轻松找到事情的技能。如果你决定来日诰日搬到冰岛去,你想确保在找事情方面不会碰着麻烦。
C、你已经把稳到了2003年和2018年之间的差异,以及我们在短短15年里取得的技能进步有多大。你想处于一个影响天下进程的行业的最前沿。
D、过去几年,最大的行业增长是在加密货币(比特币)和人工智能(机器学习)领域。我们不肯望在这些事情在未来霸占主流的时候被抛在身后。你想要理解并且能够节制这些技能。
E、你认为改变是好的,学习永无止境。那么为什么不做点新东西呢?
但我没有打算机科学学位,我乃至不知道互联网是如何运作的!
别担心,我们会考虑到这一点的。连续阅读……
当你选择一条新的职业道路时,这里有一些不错/必须的衡量指标:
1、在接下来的10多年里,它必须是有用的。这项技能在未来的许多年里都该当被重视,来担保你的事情是安全的。
2、对有这种技能的人的需求必须多于供给。行业中技能闇练从业者的数量越少,你对你的事情和你所事情的公司的掌握力就会越强。
3、无论你在行业中有多少年的事情履历,都能得到高薪。你肯定不肯望在过上体面的生活之前,还要在公司的职位晋升上花几年的韶光。
4、一个不须要大学专业学位的行业。你不会想要在开始赢利之前去读研究生课程,然后在接下来的4年里负债累累。是的,我认为有比更昂贵的编程演习营更好的选择。
5、能够在最短的韶光内遇上行业中表现最好的人。没有什么履历能帮你快速就业?你能以最快的速率缩小与该领域的资深专家之间的差距吗?
6、它必须能够给你供应根本技能。无论未来如何,你都有多种职业可以选择。例如,通过学习编程,你就能更好地理解新的或即将到来的技能,比如分布式运用、区块链和云打算,然后选择你想要进入的领域。
7、要愉快。最主要的是,你每周都要事情40个小时。你当然不肯望是呆板乏味的。
根据我的履历,编程符合上面的每一个要点。你的经历可能会有所不同。我最喜好的一本书是《太好了,他们不能忽略你》(So Good They Can’t Ignore You)。在书中,他们认为你不应该由于喜好旅游就去从事旅行行业。大多数人都是通过奋斗和努力去节制一项技能来找到激情的。一旦人们开始承认你的技能有代价,并且你能够由于这些技能而感到受尊重,那便是你对你所做的事情产生激情的时候。
你想自己评估一下,看看它是否适宜你。
主要的一点是:记住,前2个月你会以为自己在攀登一座无法翻越的高山。你学习的每一门教程或课程都会让你以为自己是天下上唯一一个不懂这些东西的人。保持倔强。随着韶光的推移,你会有越来越多的“会心”时候。我们称之为冒名顶替综合征 (Imposter Syndrome):你以为自己是唯一一个不知道这个信息的人,你被自我疑惑所包围。请放心,当我们学习新东西时,我们都会有这样的觉得。
你会学到的是,成为一个精良的开拓职员并不一定要记住一大堆文档。这是关于如何利用所有可用的工具来办理问题。这是一个办理问题的方法,从不知道的状态变为可能。
我是谁,你为什么要听我的?
这个问题非常直接,但我想这是公正的。首先,我是一名资深的软件开拓职员,曾在包括硅谷在内的一些顶尖科技公司事情过。在我的职业生涯中,我一贯很幸运,在2018年,我将帮助其他人学习软件技能。但我并不是天生的电脑奇才。我没有得到打算机科学专业的学位。
这统统都是在多年前开始的.....我想要转行,于是决定自学打算机编程。
第一个月,我回避了所有的教程或书本。相反,我用这个月的韶光来探求我怎么去学习以及怎么有可能得到事情的最佳办法。我想要高效率,不摧残浪费蹂躏韶光去学习过期的技能,或者学习一些我在一个月后就会忘却的东西。我研究了其他人的经历,看了招聘缘由,与有名的开拓者互换,查阅了在线课程,研究了演习营,乃至阅读了未来学家先容20年后我们将会利用哪些技能的文章。基于这些,我为自己制订了一个专注于效率的课程:在最短的韶光内能被雇佣的关键学习量。
课程的重点不在于做最少的事情。相反,它的重点是在最主要的事情上努力事情,以便以最优的办法进行事情。这并不虞味者要做最低限度的事情,也不虞味着要为成为一名低级开拓职员而努力。如果你能够通过努力事情,跳过这个过程,直接进入中级开拓者的角色,那将是一个更好的结果。幸运的是,我已经筛选过了所有的东西。
只管我花了一个月的韶光来对我的学习进行方案,而不是直接开始学习,但从长远来看,这是非常有用的,由于我并没有盲目。我知道我要去哪里,我有一张通往终点的线路图。你也会有。
以是,是的,我一贯都能理解你的处境,也知道你真正须要些什么。当我开始学习的时候,我希望能有这样的东西给我供应帮助。我还创造,许多教程都是由行业内的资深人士来教授的,他们拥有大量的技能知识,但却无法精确地把这些知识教授给新手。我对当前市情上存在的大量的传授教化课程与视频进行了研究,而且还在进行中。
从那往后,我开始为财富500强科技公司供应咨询,召开编程研讨会,为即将出版的科技书本供应咨询,并出席技能互换活动。我现在不须要为任何人事情。我热爱这个职业,我想很多人会喜好它,也会从中受益。因此,我的义务便是帮助那些想要实现这一飞跃的人。
好吧,末了一句话有点戏剧性……
我们要学什么措辞?
对,上面这个。
你将会成为一个Javascript“忍者”的缘故原由如下:
Javascript无处不在。每个拥有网站或运用程序的公司都须要具备Javascript知识的人。这种措辞是大量招聘信息的必备条件(如果你不信,可以在LinkedIn上搜索Javascript看看)。
通过引入Node.js,你可以利用Javascript创建一个完全的运用程序(你可以利用Javascript来构建全体项目)。利用Electron,React Native等工具,Javascript可以让你创建桌面运用程序,移动运用程序,Web运用程序乃至VR运用程序。你可以通过利用像Jonny-Five这样的东西来掌握机器人。你可以建立自己的区块链。Lisk是一个类似于以太坊的平台,利用的便是JavaScript。
如果您没有阅读第一个要点,并且正在考虑其他问题,请许可我再重申一遍:行业中对Javascript专家的需求是巨大的。每周都会有招聘职员和猎头与干系开拓职员进行联系,这种情形并不少见。
Javascript社区正以惊人的速率增长。这个社区有很多新的发展。有些人抱怨Javascript疲倦,由于每天都有越来越多的新工具被开拓出来。然而,我们可以利用这一点,使其变成你的上风。你将会和那些在这个行业事情多年的人同时学习这些新技能。
相信我,这是一个很棒的技能,有很多需求,也有一个伟大的社区。如果你不相信我,这里有一个趋势开拓者技能剖析。
够了,让我们开始吧。不才面,你会找到我认为的最适宜你的东西,让你能够充分利用自己的韶光。在5个月后,你该当能够得到第一个真正的非入门级的编程事情。这个过程,不须要参加编程演习营。只有你和你的决心。
5个月,一步一个脚印
我们将专注于在2018年最被人须要且最有可能找到事情的技能。像PHP或jQuery这样的技能已经由时了。它们没有任何问题,我完备尊重它们,但根据这些年我收到的一些电子邮件,很多利用这些技能的人都在经济上碰着了困难,而且有家人须要他们支持。韶光对他们来说很主要,他们也希望尽快找到事情。
第一个月:大场面
要回答的一个大问题是:电脑、互联网和网站是如何运作的?我若何才能建立一个网站?
理解费曼技巧(Feynman technique),这样你在接下来的5个月里就能真正学到东西,而不是只利用短期影象。
互联网是如何运作的:这个来自LearnCode.academy,这个来自thenewboston。
打算机科学的最佳概述:打算机科学速成课
你可以在Youtube上关注这门哈佛课程。这可能是最有含金量的打算机科学课程。不须要做练习。
如何利用命令行:这个来自于Zed Shaw。
如何建立一个网站/得到一个域/并让它运行:LearnCode.academy视频。
HTML、CSS和Javascript是如何组合在一起的:FrontendMasters的网页开拓课程。只涉及到Javascript的部分。
学会用Bootstrap建立网站。先从这个开始,然后转到Bootstrap 4文档,并添加你在样板网站上看到的组件。理解它供应的好处vs自己编写CSS。
理解如何利用模板来利用免费主题和模板来构建网站。
如果你有韶光,你可以在freeCodeCamp上参加一些关于HTML和CSS部分的课程。
第二个月:Javascript
要回答的一个大问题是:Javascript如何让机器做你想做的事情?
这是你在接下来的几个月里关注的重点。Javascript办理了什么问题?开始用Javascript编写小的程序,让你的网站以某种办法运行。这种措辞能让你的网站除了看起来俊秀之外,还能做其他事情。从这两门课程开始:一和二。
阅读 Eloquent Javascript书。
理解DOM(Document Object Model,文档工具模型)操作。
阅读这篇关于编程的好文章。
理解如何利用Chrome开拓者掌握台编写javascript。做这个CodeSchool课程(只有掌握台部分)。然落后修在html中注入<script>标签来运行JavaScript文件。
看Kyle Simpson的这个演讲,完成第一个月剩下的课程。末了,在CodeSchool的javascript频道上完成这五门课程。
如果您在5个月内有任何疑问,可以利用freeCodeCamp中的这个指南进行简短的查询。
在这个两部分系列中学习新的ES6功能:一和二。
通过这些课程学习git和Github 。创建一个Github配置文件,并开始每天提交。开始开拓一个样本网站。
学习术语/行话:这个视频和这个。
末了,在YouTube上不雅观看这个很棒的播放列表。忽略jQuery和Grunt的部分。
当你有问题,或者想要深入研究一个话题的时候,就开始利用这个指南。
第三个月:Javascript+NPM+构建你的网站
要回答的一个大问题是:我能建立一个专业的网站,并理解全体过程吗?
谷歌开拓职员工具→理解如何利用Google Chrome调试您的程序和网站。如果你还没有完成这个CodeSchool课程,请完成。
开始参加当地的一些编程和Javascript会议。
理解同步和异步javascript之间的差异。
什么是事宜循环?→一旦你对Javascript有了很好的理解,看这个视频将会改变游戏规则。把最好的关于javascript的谈论交给你。
在这里学习有关Promises,和ES7中的异步等待。
末了,看看Douglas Crockford的这个课程。
在这里理解Javascript的历史。
下载node.js和npm。从NPM下载lodash病利用browserify来利用常见的js导入。在这里理解一下。理解为什么npm对付开拓职员来说是一个非常棒的工具。
到本月尾,你该当有一个个人网站,上面有Github上的代码库。利用Github Pages可以免费有一个实时网站。
第四个月:React.js(或Vue.js)
要回答的一个大问题是:React或Vue办理了什么问题?
我有严重的偏见。我喜好React.js。事实上,我会把它教给其他人,并进行干系的研讨。以是请相信我。除非你有充分的情由去学习Vue.js,否则你要学会React.js。这是一个全新的、令人愉快的事情,但还没有详细的事情岗位需求涌现。
React→按顺序做:一,二,三。然后再去查阅官方文件,通读所有的资料。如果你有钱,这是最好的React教程。
如果你有韶光,想要学习更多的关于React的深度教程,你可以点击这里。
可选:学习Redux→不雅观看本课程。不要让你的脑袋爆炸。然后阅读关于它的文档。
利用create-react-app构建示例React运用程序。创建React运用程序会为你开启一个新的天下。
在Heroku上支配你的运用程序。
在GitHub页面上支配你的运用程序。
开始关注Medium上面的Top10文章,阅读任何有关编程的文章。注册这些电子邮件列表,与业界正在发生的事情保持联系:Javascript和React。
开始建立你的在线简历。在这个问题上,有些人给出的建议比我好。看看这个和这个。我还写了一篇关于这个的文章,你可以看看。
末了一个月:做事器、数据库以及把这些点连起来
要回答的一个大问题是:做事器、数据库和树莓派在哪里适宜这些方面?
HTTP,JSON和AJAX。理解这些如何让你与做事器通信。
学习如何构建一个API做事器。然后再进一步,在这里学习node和Express.js 。
一旦你完成了这一步,利用一个有趣的API,比如这一个,创建一个大略的运用程序。
订阅computerphile youtube频道,并不雅观看他们的视频。只管听懂个中的话题可能很难,但它会给你带来一些神奇的东西。
什么是打算机/做事器/操作系统:买一个树莓派并建立自己的做事器。在YouTube上查看不同的项目,你可以开始用你的树莓派。末了,在树莓派上制作一个大略的脚本。按照这个课程。在树莓派上托管你的网站。你会惊异于自己是多么的酷。
不才面的主题上花一天韶光。你不须要很好地节制它们。只要理解为什么他们在那里,他们正在办理什么问题:测试,机器学习,韶光繁芜度,SQL,UX / UI,持续交付,基本数据构造。你该当能够阐明什么是数据构造。提示:数组和工具是两种盛行的Javascript数据构造。
我已经听到有人看到上面的建议后开始对我大喊大叫。“你疯了吗?!
你不认为测试很主要吗?”但请听我说。我赞许以上不雅观点(测试)对付成为一名精良的开拓职员很主要,每个人都该当学习这些技能。然而,我们正努力在这里打根本。开始深入研究一个话题是很随意马虎的,但是如果没有根本,你就不知道为什么它很主要,或者它与你正在做的事情有什么关系。此外,在我创造的大多数招聘信息中,险些没有提到上述技能。把这些知识留到你事情的时候再去学习。
记住:你的目标是要以最高效的办法事情。
利用Firebase作为数据库构建一个小型项目。
阅读JavaScript的两大支柱的第一部分和JavaScript 的两大支柱的第二部分。
让我们来回顾一下
在5个月结束时,你该当完成以下哀求:
1、学习HTML和CSS。然后,买一个域名,从像BlueHost或HostGator这样的地方购买主机,以最便宜的本钱搭建一个网站,然后放到网上。如果你想利用Github Pages,你可以跳过这个选项。但如果你能包袱得起,那就从上述的托管平台买一个主机吧,这样你就能更好得理解它们的事情事理。从现在开始,这将是你的投资组合。学习如何更新和编辑。当你学习新事物的时候,连续让它变得更好。不要在这上面花太多韶光。这就足以证明你可以在网上放点东西,让它看起来还不错。
2、开始学习Javascript。现在,你如何让你的网站具有互动性呢?浏览上面的资源,看看怎么用Javascript来实现。
3、开始将你的小项目上传到GitHub。店主会看你的GitHub配置文件,以及你在那里的生动程度。考试测验在你的个人项目上每周提交5次(它们不必很大)。其余,也请考试测验阅读本文并为一些开源项目做些贡献,如freeCodeCamp。
4、当你碰着问题的时候,要学会利用谷歌,并利用Stack Overflow。当你开始的时候,你碰着的99%的问题都可以在网上找到。或者加入Javascript IRC频道,并在碰着困难时提问。你所在的社区也可能有一个空闲的频道。如果没有,从这里选一个,和其他的开拓职员多互换。
5、习气利用命令行来干事。练习时应始终保持打开状态,并考试测验利用它而不是GUI(图形用户界面)。
6、学习Javascript的最新措辞特性和趋势,并学习办理与它们有关的问题(即Promises,ES6,ES7,函数式编程技能)。
7、参加当地的干系互换会议,开始与行内人士交谈。你会被所有你不知道的事情弄得不知所措。不要担心,这是自然的。当你可以和其他程序员见面的时候,就可以被行话和术语包围了。
8、开始听播客,Javascript Jabber。这会让你熟习行话,以是当口试韶光到来的时候,它不会让你不知所措。当你听前几次的时候,你根本不知道他们在说什么。不要失落去希望。终极你会明白的。FunFunFunction也是一个很棒的每周youtube频道,你该当关注。还有一个更繁芜的播客,但可能是软件方面最好的播客,请查看“ 软件工程日报”。同时留神每年的javascript调查状况,看看行业趋势如何。
9、尽早向招聘单位投递简历。我们把它们作为练习利用。大多数口试官都是专业的程序员,这样他们就可以对你的技能进行评价,你也可以用这些来练习编程问题,并向这些专家提出你想要提出的任何问题。
10、开始申请哀求范围远远大于你状况的事情。你会得到一些口试机会。你不应该为了一份事情而安定下来。如果你从不问,答案永久是否定的。
11、让你的LinkedIn个人资料看起来不错。不要在简历上花太多韶光。把它写在一页纸上,简明扼要,写下你在前几个月学到的所有技能。自学已经显示出了很大的勇气。记住,你的简历只是为了给你得到口试机会,之后,它们就像纸巾一样……这个比方也不太恰当,由于纸巾很有用。我在简历上花了不到2个小时。与其他开拓者不同的是,你来自不同的领域,有不同的背景。这怎么能不让你分歧凡响呢?
12、口试时,并为自己如何找到事情而感到惊异。并不是所有的开拓者都能得到成功,不过话说回来,在过去的5个月里,没有多少开拓者能够学会统统。它显示出的是一种自傲。只适用于LinkedIn上的事情,别的的你该当直接发邮件或者打电话给你想要事情的公司。不要把韶光摧残浪费蹂躏在所谓的第三方求职招聘网站上。
哪些20%能够给我80%的结果
大多数人都有一个想法,那便是你只有得到100%的东西,才能进入下一个阶段。但对付大多数技能来说,包括编程,你在得到100%东西上花费韶光越长,到达下一阶段的韶光也就越长。你只有5个月。末了的20%将会在团队,实际项目(以及得到报酬)中得到更好的学习与得到。因此,我们只专注于得到80%的知识,从而有效地利用我们的韶光。
从这统统中得到的最大收成
技能总是在变革。Javascript尤其如此。现在事情变革得如此之快,以至于不可能知道每一个东西。你须要知道的是,所有的东西都是如何组合在一起的,以及每种技能都在试图办理什么问题。最主要的是,你只须要知道它的存在,这样你就可以在须要的时候查看它,并找到它。程序员是办理问题的人。学会用可用的工具来办理问题。我们大多数人花了很多韶光在像StackOverflow这样的页面上,或者搜索谷歌,由于那里有太多的资源。一旦你打好了根本,你就可以去任何地方。你只须要知道如何探求答案并提出问题。
结论
看重效率。我们大多数人放弃一个目标的缘故原由是我们看不到结果。专注于主要的事情,这会让学习变得有趣。但它并没有就此结束。学习永久不会停滞,你的目标是尽快找到事情,这样从那一刻起,你每天都能在学习的同时得到一份薪水。
随着韶光的推移,编程变得越来越有趣,而且当你每天都能得到报酬来办理问题和发展自己的技能时,它会变得更好。真正的增长发生在你开始与真正的团队进行真正的项目的时候。
这便是为什么我会坚持你的“学习”期该当尽可能短,以避免债务,并增加你在最好的学习环境中学习的韶光:团队互助。我乃至都不推举从一开始就做自由职业者。让自己置身于一个人人都比你聪明的环境中,每天都在和他们一起事情。在那里,成为一块海绵,接管所有的信息。
我们在建造树干。当树干变得又大又结实,根都扎好时,你学习新事物的速率将是指数级的。随着韶光的推移,你会越来越快地形成知识的树叶。
把2018年作为你冒险的一年,你会学到一种由高需求的技能,你会有一段新的经历,你会得到新的机会。试一试吧。
(36氪编译组出品,未经许可严禁转载。编辑:郝鹏程)