在家学习编码:冠状病毒隔离开发人员技能手册

You're stuck at home. You can't hang out with your friends or go to events. The economy is in free fall. But that doesn't mean that you are powerless.

你被困在家里。 您不能与朋友一起出去玩或参加活动。 经济处于自由落体状态。 但这并不意味着您无能为力。

Fate has handed you this giant chunk of time. It could be weeks. It could be months. Nobody knows.

命运给了你这巨大的时间。 可能要几个星期。 可能要几个月。 没人知道。

The question is: what are you going to do with this time?

问题是:这次你打算做什么?

  • You could start streaming a new TV show.

    您可以开始播放新的电视节目。
  • You could get really into a new game.

    您可以真正进入新游戏。
  • You could stare out the window at the empty streets around you, and maybe drain whatever bottles you have lying around the house and go to sleep.

    您可以凝视着窗外周围空荡荡的街道,或者沥干屋子里躺着的瓶子,然后入睡。

Or you could take control.

或者您可以控制。

对于您可能想要学习的每一项技能,都有一个免费的在线课程来教您,只是等待您的关注。 (For every skill you could ever want to learn, there's a free online course that teaches it, just waiting for your attention.)

People underestimate just how many free learning resources are out there. It's crazy. Imagine a Library of Alexandria the size of Manhattan. That still wouldn't hold everything.

人们低估了那里有多少免费的学习资源。 这很疯狂。 想象一下一个拥有曼哈顿大小的亚历山大图书馆。 那仍然不能容纳一切。

You don't need money. If you have a phone or a computer with internet access – and a warm place to sit – you're set.

你不需要钱 如果您拥有一部可以上网的电话或计算机,并且可以坐在一个温暖的地方,那么您就定了。

You just need time. And with the Coronavirus floating around out there, you've probably got more time than ever.

您只需要时间。 而且,随着冠状病毒的出现,您可能比以往拥有更多的时间。

I am a self-taught software engineer. I used to work as an English teacher.

我是一名自学成才的软件工程师。 我曾经当过英语老师。

But in 2011 – at the age of 31 – I started learning to code using free online resources.

但是在2011年-31岁的时候-我开始学习使用免费的在线资源进行编码。

In the 9 years since, I've worked as a software engineer at tech startups and built websites for freelance clients.

从那之后的9年中,我一直在技术初创公司担任软件工程师,并为自由客户建立了网站。

I am not special. There are millions of people like me who have successfully switched careers into software development in the past 5 years. I know this because I have helped a lot of them do this.

我不特别。 在过去的5年中,有成千上万的人像我一样成功地将职业转向了软件开发。 我知道这一点,因为我已经帮助了很多人。

Five years ago, I created an online learning community called freeCodeCamp.org. Yes – *checks logo above this article* – that freeCodeCamp.org.

五年前,我创建了一个名为freeCodeCamp.org的在线学习社区。 是的-*检查本文上方的徽标*-freeCodeCamp.org。

And as of 2020, more than 40,000 freeCodeCamp graduates have gotten jobs at tech companies, including Google, Apple, Amazon, Twitter, Spotify, and Microsoft.

截至2020年,超过40,000名免费CodeCamp毕业生在科技公司工作,包括Google,Apple,Amazon,Twitter,Spotify和Microsoft。

Most of these people didn't have to go back to college. They didn't have to quit their retail job for 4 months to attend a coding bootcamp. They didn't even have to spend any money. They just learned to code in their free time – at night after the kids went to bed. Or on weekends when they could have been watching sports or playing video games.

这些人大多数都不必重返大学。 他们不必花4个月就退出零售工作去参加编码训练营。 他们甚至不需要花任何钱。 他们只是在空闲时间学习编码-孩子们上床睡觉后的晚上。 或者在周末,他们本可以看体育比赛或玩电子游戏。

Do you have free time right now? Do you have blank spots on your calendar for the next few weeks?

您现在有空闲时间吗? 接下来的几周,您的日历上是否有空白点?

Great. Then you can do this, too.

大。 然后,您也可以这样做。

I'm going to tell you how.

我要告诉你如何。

And remember – unlike a lot of the people out there, I'm not trying to sell you something. freeCodeCamp is a 501(c)(3) public charity. Everything's free.

记住-与很多人不同,我不是想卖给你东西。 freeCodeCamp是501(c)(3)的公共慈善机构。 一切都是免费的。

You can use freeCodeCamp if you want. Or you can use some of these other resources I recommend here as well.

您可以根据需要使用freeCodeCamp。 或者,您也可以使用我在这里推荐的其他一些资源。

I just want you to succeed.

我只希望你成功。

I want you to be able to go out there a few months from now and kick some post-Coronavirus ass on the job market.

我希望您能够从现在开始几个月到那里去,在职场上踢一些冠状病毒后的屁股。

So use whichever learning tools you see fit to accomplish that mighty goal. I'll be here rooting for you either way.

因此,请使用您认为合适的任何学习工具来实现这一宏伟的目标。 无论哪种方式,我都会在这里为您加油。

免费课程和其他在线学习工具 (Free Courses and Other Online Learning Tools)

There are thousands of courses I could recommend. And I'll include some links to giant lists of these at the bottom of this article.

我可以推荐数千种课程。 在本文的底部,我将提供一些指向这些列表的巨大链接。

Instead I'm just going to focus on a good cross-section of courses that I think are a good use of your time.

相反,我将重点放在我认为可以充分利用您的时间的课程的一个很好的方面。

The main skills I recommend everyone learn in 2020 are:

我建议大家在2020年学习的主要技能是:

  • HTML, CSS, and JavaScript

    HTML,CSS和JavaScript
  • Computer Science concepts, algorithms, data structures, and databases

    计算机科学的概念,算法,数据结构和数据库
  • Python and basic data science libraries like NumPy

    Python和NumPy等基础数据科学库
  • Command line tools like Linux, Git, and Bash

    命令行工具,例如Linux,Git和Bash

And some other skills that would be helpful:

还有一些其他有用的技能:

  • Small business basics – how to find freelance customers, how to do basic sales, accounting, legal

    小型企业基础知识–如何找到自由客户,如何进行基本销售,会计,法律
  • And job application basics – how to pass technical interviews, how to negotiate a high salary

    和工作申请基础知识​​–如何通过技术面试,如何谈判高薪
  • How to earn professional certifications that can make it easier to get a developer job

    如何获得专业认证,使获得开发人员工作更容易

For each of these I'll recommend a single resource. And again, at the end of this article, I'll show you some other comprehensive lists of learning resources. So many free learning resources you can Scrooge McDuck away the rest of your life in a becoming a mad genius if you want to.

对于以上每一项,我都会推荐一个资源。 同样,在本文的最后,我将向您展示其他一些学习资源的综合列表。 如此众多的免费学习资源,如果您愿意的话,您可以Scrooge McDuck成为疯狂的天才,从而度过余生。

学习HTML,CSS和JavaScript (Learn HTML, CSS, and JavaScript)

These are the basic components of the World Wide Web.

这些是万维网的基本组成部分。

For every website you visit, HTML is the bones. It provides the structure.

对于您访问的每个网站,HTML都是骨骼。 它提供了结构。

CSS is the skin. It provides the styling and aesthetic.

CSS是皮肤。 它提供了样式和美感。

JavaScript is the muscles and organs. It does all the moving and functionality.

JavaScript是肌肉和器官。 它完成所有移动和功能。

You can learn the basics of these – enough to build basic websites – in just a few days of self-study.

您可以在短短几天的自学中学习这些基础知识-足以建立基础网站。

Getting really good with CSS and JavaScript will take you years. But the same goes for everything I'm going to tell you about here.

真正使用CSS和JavaScript会花费很多年。 但是我要在这里告诉您的所有内容也是如此。

Except for HTML. You really can learn HTML in a day or two. And yes – you can build basic websites using nothing but HTML. They won't be pretty. But they will work. (We're talking about you, Craigslist.)

HTML除外。 您真的可以在一两天内学习HTML。 是的-您可以仅使用HTML来构建基本网站。 他们不会漂亮。 但是它们会起作用。 (我们在谈论您,Craigslist。)

The best way to learn this trinity of web development languages is to earn the first 2 certifications of freeCodeCamp's curriculum. Along the way, you'll build 10 websites. That should be more than enough practice for you to check this box on your LinkedIn profile.

学习这种三位一体的Web开发语言的最佳方法是获得freeCodeCamp课程的前2个认证。 一路上,您将建立10个网站。 对于您来说,在LinkedIn个人资料上选中此框应足够多了。

Again, as the name would imply, freeCodeCamp is free. It's also completely self-paced, and runs in your browser so you don't have to install anything. You can do it on your phone or tablet. But since you'll be typing a lot of code, a keyboard would make things a lot faster.

再次,顾名思义,freeCodeCamp是免费的。 它也是完全自定进度的,并且可以在您的浏览器中运行,因此您无需安装任何程序。 您可以在手机或平板电脑上进行操作。 但是由于您将要输入很多代码,所以键盘会使事情变得更快。

You can start the freeCodeCamp certifications here.

您可以在此处启动freeCodeCamp认证

学习计算机科学的概念,算法,数据结构和数据库 (Learn Computer Science Concepts, Algorithms, Data Structures, and Databases)

A lot of people freak out about computer science because they "suck at math" or because they took some Java course 10 years ago and hated it.

许多人对计算机科学感到迷惑不解,是因为他们“对数学很着迷”,或者是因为他们10年前修了一些Java课程而讨厌它。

Well I've got good news for you all – computer science doesn't have to be a grind. It can be quite fun. And there's no course that does a better job of making it fun than Harvard's excellent computer science intro course, CS50.

好吧,我对你们所有人都有个好消息–计算机科学不一定非要费劲。 可能很有趣。 而且,没有什么课程比哈佛出色的计算机科学入门课程CS50更好地使它有趣。

We've published the entire course ad-free on freeCodeCamp's YouTube. Here's the full playlist.

我们已经在freeCodeCamp的YouTube上无广告地发布了整个课程。 这是完整的播放列表

The course is about 17 hours worth of lectures. And along with each lecture video's description, there is a downloadable problem set that you can do to make sure you've understood everything. And there are downloadable lecture notes, too.

该课程大约需要17个小时的讲座。 除了每个讲座视频的描述之外,还有一个可下载的问题集,您可以用来确保您已理解一切。 并且也有可下载的讲义。

学习Python和Numpy之类的基础数据科学图书馆 (Learn Python and Basic Data Science Libraries Like Numpy)

Python is the most popular programming language for Scientific Computing – a catch-all term for statistics, data science, machine learning.

Python是用于科学计算的最流行的编程语言,是统计,数据科学和机器学习的统称。

Python is the natural choice for a second programming language once you've learned some basic JavaScript.

学习了一些基本JavaScript之后,Python是第二种编程语言的自然选择。

Dr. Chuck is a professor at University of Michigan, and he's been teaching programming for decades. He created the awesome Python for Everybody course.

Chuck博士是密歇根大学的教授,他从事编程工作已有几十年了。 他为每个人创建了很棒的Python课程。

And we've published his entire 14-hour course ad-free here. (Be sure to check the video description for his downloadable code examples and lecture notes.)

而且我们在这里免费发布了他的整个14小时课程 。 (请务必检查视频说明,以获取他的可下载代码示例和讲义。)

Python has a library for almost any task. And arguably the most important library is NumPy (pronounced num-pie).

Python有一个几乎可以执行任何任务的库。 可以说,最重要的库是NumPy(发音为num-pie)。

Here's a free, ad-free 1-hour course on NumPy, complete with code repos you can use to play along at home.

这是有关NumPy的免费,无广告的1小时课程 ,其中包含可用于在家玩的代码库。

学习命令行工具,例如Linux,Git和Bash (Learn Command Line Tools Like Linux, Git, and Bash)

When you watch Mr. Robot and other shows about developers or hackers, you will see a lot of command line interfaces that look like this:

当您观看Robot先生以及有关开发人员或黑客的其他节目时,您会看到很多命令行界面,如下所示:

Developers often use command line interfaces because you can get things done much faster and more precisely than you can in a Graphical User Interface (GUI).

开发人员经常使用命令行界面,因为与图形用户界面(GUI)相比,您可以更快,更准确地完成工作。

And there are several command line tools developers use a lot. First of all, they use Linux for servers. Many of these servers don't even have a Windows-like GUI installed on them, so you're stuck in the command line. And the command line scripting tool most Linux computers use is called Bash.

开发人员经常使用几种命令行工具。 首先,他们将Linux用于服务器。 这些服务器中许多甚至都没有安装类似Windows的GUI,因此您陷入了命令行困境。 大多数Linux计算机使用的命令行脚本工具称为Bash。

You can use Bash as a prompt for running commands. Here are some of the most commonly used Bash commands explained (10 minute read.)

您可以使用Bash作为运行命令的提示。 以下是一些最常用的Bash命令说明 (阅读10分钟)。

You can also use Bash for scripting. (Though these days, most people prefer Python for doing this.)

您也可以使用Bash编写脚本。 (尽管这些天来,大多数人都喜欢使用Python来执行此操作。)

Here's a 2-hour introduction course on a computer security-focused version of Linux called Kali Linux.

这是一个为时2小时的入门课程,内容涉及以计算机安全为重点的Linux版本,称为Kali Linux

But there's another important tool that every developer should know in 2020. It was invented by the same guy who created Linux, and it's called Git.

但是还有每个开发人员在2020年都应该知道的另一个重要工具。它是由创建Linux的同一个人发明的,它称为Git。

Git is a Version Control System that helps you store the state of your code. If you make a mistake, you can easily roll back to an older version of your code. And Git makes it easy to collaborate on larger code projects with other developers, using websites like GitHub.

Git是一个版本控制系统,可以帮助您存储代码状态。 如果输入有误,则可以轻松回滚到旧版本的代码。 Git使使用GitHub之类的网站与其他开发人员在大型代码项目上的协作变得容易。

The best resource for learning Git is GitHub's own documentation. Here's a good article that explains how Git works and walks you through some of the most common commands.

学习Git的最佳资源是GitHub自己的文档。 这是一篇很好的文章, 解释了Git的工作原理,并引导您完成一些最常见的命令

学习小型企业基础知识–如何找到自由职业者的客户,以及如何进行基本的销售,会计和合同 (Learn Small Business Basics – How to Find Freelance Customers, and Do Basic Sales, Accounting, and Contracts)

Finding your first developer job is hard. You may have to apply to hundreds of jobs before you ultimately get through the interview process and get a satisfactory job offer.

找到您的第一个开发人员工作很困难。 在最终通过面试过程并获得满意的工作机会之前,您可能必须申请数百份工作。

Most hiring managers don't want to take a chance on an unknown applicant who's never worked as a developer anywhere else. This isn't just limited to self-taught developers – I know tons of computer science majors who just graduated and struggle to get job offers (even in a booming market for software developers).

大多数招聘经理都不想抓住一个从未在其他任何地方从事过开发人员工作的未知申请人的机会。 这不仅限于自学成才的开发人员-我知道成百上千的计算机科学专业毕业生刚刚毕业并努力获得工作机会(即使在蓬勃发展的软件开发人员市场中)。

My personal advice is – build your reputation and your network.

我的个人建议是–建立您的声誉和网络。

You can amplify your reputation by building tools for local businesses.

您可以通过为本地企业构建工具来扩大声誉。

You can start out by doing work for local nonprofits for free. You could help a local church or mosque build their new website. Or you could help a local food bank build a new inventory system.

您可以免费为当地的公益组织开展工作。 您可以帮助当地的教堂或清真寺建立他们的新网站。 或者,您可以帮助当地食品银行建立新的库存系统。

But if you're feeling ambitious, see if you can find a paying gig right off the bat. It's not as hard as you might think. There are tons of job boards out there with one-off contracts. You might even be able to find a gig on a local classified page. (We're looking at you again, Craigslist.)

但是,如果您有雄心壮志,请查看是否可以立即找到付费的演出。 这并不像您想的那么难。 那里有大量的带有一次性合同的工作委员会。 您甚至可以在本地分类页面上找到演出。 (我们再次在找您,Craigslist。)

By building your reputation as a freelancer, you already have successful projects under your belt when you go to apply for full-time developer jobs.

通过建立自由职业者的声誉,您去申请全职开发人员工作时已经有了成功的项目。

This free Freelance Web Developer Guide features in-depth advice from a veteran freelance developer, an attorney focused on business law, and an accountant. Think of it as "your freelance developer business in a box." It's a 3-hour watch.

这份免费的《 Freelance Web开发人员指南》以资深自由开发人员,专注于商业法的律师和会计师的深入建议为特色。 将其视为“您的兼职开发人员业务”。 这是一个3小时的手表。

As far as building your network – normally I would advise people to go to local tech events, and hang out at hackerspaces and makerspaces.

至于建立您的网络,通常我会建议人们去参加当地的技术活动,并在hackerspace和makerspace中闲逛。

But with the coronavirus out there, I instead recommend you stay home.

但是,如果冠状病毒在那里,我建议您呆在家里。

Go on LinkedIn and add every single person you've ever worked with or gone to school with.

继续在LinkedIn上,添加您曾经与之合作或一起上学的每个人。

If you are part of any Facebook groups or Discord servers, you could create a new group and encourage them to join it specifically for people who are planning to transition into software development.

如果您是任何Facebook组或Discord服务器的成员,则可以创建一个新组,并鼓励他们专门为计划过渡到软件开发的人员加入该组。

You can also introduce yourself on the freeCodeCamp forum, and start building a personal network of likeminded people who are learning to code.

您也可以在freeCodeCamp论坛上进行自我介绍 ,并开始建立一个由志同道合的人组成的个人网络,他们正在学习编码。

学习工作申请基础-如何通过技术面试以及如何谈判高薪 (Learn Job Application Basics – How to Pass Technical Interviews and How to Negotiate a High Salary)

My friend Haseeb Qureshi is a former professional poker player turned software engineer. His first-ever developer job was working at Airbnb making $250,000 per year. That is not a typo.

我的朋友Haseeb Qureshi是一位前职业扑克玩家转为软件工程师。 他的第一个开发人员工作是在Airbnb工作,年薪25万美元。 那不是错字。

He was able to get job offers from Google, Twitch, Stripe, and other big companies, then play those offers against one another.

他能够从Google,Twitch,Stripe和其他大公司那里获得工作机会,然后相互竞争。

Here's his story of how he did this, which is filled with tons of tips for what to expect during the job application process.

这是他如何做到这一点的故事 ,其中包含大量的求职技巧。

And Haseeb has also written a comprehensive guide to negotiating a high salary once you start getting job offers. These are a must-read and could add $10,000s to your starting salary:

而且,当您开始获得工作机会时,哈西卜(Haseeb)还撰写了一份全面的指南,以谈判高薪。 这些是必读的,可能会增加10,000美元的起薪:

了解如何获得可以使开发人员工作更容易的专业认证 (Learn How to Earn Professional Certifications That Can Make It Easier to Get a Developer Job)

Most recruiters and hiring managers operate on pattern recognition. They famously spend an average of 6 seconds looking at each résumé.

大多数招聘人员和招聘经理都采用模式识别。 众所周知,他们平均花费6秒钟查看每个简历

Professional certifications are an easy way to prove to employers that you know a technology. They also increase the likelihood of you coming up in employers' résumé search tools.

专业认证是向雇主证明您了解技术的简便方法。 它们还增加了您使用雇主的简历搜索工具的可能性。

You don't have to get professional certifications. They do cost money (usually about $100 to $200 per exam). But if you do want to earn some, I recommend starting with cloud certifications.

您不必获得专业认证。 他们确实要花钱(通常每次考试大约100到200美元)。 但是,如果您确实想赚一些,我建议您先从云认证开始。

Pretty much every major company and government on earth is in the process of moving from their own servers to cloud servers. And you can become part of the huge effort to securely do so. If you want to work in DevOps or Site Reliability Engineering, these cloud certifications are a good way to go.

地球上几乎每个主要的公司和政府都在从自己的服务器迁移到云服务器的过程中。 并且您可以成为安全地为此付出巨大努力的一部分。 如果您想在DevOps或站点可靠性工程中工作,那么这些云认证是一个不错的选择。

freeCodeCamp is publishing new free cloud certification courses each month, and eventually we'll cover security certifications as well.

freeCodeCamp每月都会发布新的免费云认证课程,最终我们还将涵盖安全认证。

But for now, I recommend starting with Amazon Web Services (AWS) certifications. Amazon owns more than half of the public cloud industry, and pretty much every Fortune 500 company uses AWS in some capacity or another.

但就目前而言,我建议从Amazon Web Services(AWS)认证开始。 亚马逊拥有超过一半的公共云行业,几乎每家财富500强公司都以某种能力使用AWS。

I wrote this comprehensive guide to AWS cloud certifications, which includes several comprehensive free (and ad-free) courses to prepare you for these exams.

我编写了这份有关AWS云认证的综合指南 ,其中包括一些综合性的免费(无广告)课程,为您准备这些考试。

最后,一些免费的学习资源列表 (And Finally, Some Massive Lists of Free Learning Resources)

As promised, here are some massive lists of free courses for you. These are actively maintained. And they will keep you busy until the end of your days.

如所承诺的,这里有一些免费课程供您选择。 这些都是积极维护的。 他们会让您一直忙到一天结束。

This first list includes 450 free online university courses from the 8 Ivy League universities – Harvard, Yale, Princeton, Brown, Columbia, Cornell, Dartmouth College, and the University of Pennsylvania.

该清单包括来自8个常春藤盟校的450道免费在线大学课程,这些大学分别是哈佛,耶鲁,普林斯顿,布朗,哥伦比亚,康奈尔大学,达特茅斯学院和宾夕法尼亚大学。

You can do all of these courses from your laptop or phone, at your convenience. And again, they are all free.

您可以在方便时通过笔记本电脑或手机完成所有这些课程。 再说一次,它们都是免费的。

And next, freeCodeCamp graduate Dylan Israel put together this awesome list of coding resources, which also includes lots of communities you can join for support while you learn to code.

接下来,freeCodeCamp的毕业生Dylan Israel整理了这份很棒的编码资源列表,其中还包括许多社区,您可以在学习编码的同时加入以获得支持。

Dylan's list has been trending on GitHub for the past few weeks. You can even practice your Git skills and contribute your own favorite resources to this list.

在过去的几周中,Dylan的列表一直在GitHub上流行。 您甚至可以练习Git技能,并在此列表中贡献自己喜欢的资源。

保持安全。 更好的是,待在家里。 (Stay Safe Out There. Better Yet, Stay Home.)

I will end by wishing you and your family safe passage through this difficult time.

最后,我希望您和您的家人在这段困难的时期中安全通过。

Let us all hope that the world can bounce back from the coronavirus.

让我们都希望世界能够从冠状病毒中反弹。

But let us all prepare for the immense amount of work that we'll need to do when the dust settles.

但是,让我们所有人为尘埃落定时需要做的大量工作做准备。

By learning these new skills, and gearing up for a post-coronavirus economy, you can put yourself in a position to do the maximum amount of good for your community.

通过学习这些新技能,并为冠状病毒后经济作好准备,您可以使自己有能力为社区带来最大的好处。

Stay strong, friends. And happy coding. 👍

保持坚强,朋友们。 和快乐的编码。 👍

翻译自: https://www.freecodecamp.org/news/coronavirus-academy/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值