本文转载自Udemy上的课程《The Complete Web Developer in 2019: Zero to Mastery》,作者Andrei Neagoie。

原文地址:https://medium.com/zerotomastery/learn-to-code-in-2019-get-hired-and-have-fun-along-the-way-d4197f96be27

去年我写了篇很火的文章,免费教大家如何一步步地从小白成长为一名网站开发者。时光荏苒、物是人非,作为一个不太提倡浪费时间的人,我想和大家分享这篇2019年升级版的文章!因为这一年技术更新太快了。请关注效率:学习热门领域的知识能让你尽快就业。

下面是你要学编程、转换职业、成为一名网站开发者,应该做的步骤。

这篇文章分为上下两集。你可以在这里看下集。

若你是新手、初级开发者、或仅仅是感兴趣,这篇文章对你有用。但,如果你已经入行多年,也许下面的一些资源能让你技术更上一层楼;也建议你看我另一篇文章:《如何成为一名高级软件开发者》,它对你的帮助更大。

若你觉得这篇文章太长,你可以直接跳到五个月成长计划。但你这样我就伤心了,所以,你可以带着这份愧疚活着。

好的,你还在看。太棒了!我已经对你有好感了。那我们继续吧!

只需要免费在线课程、教程和免费工具,你就能得到珍贵的技能。你将顺利的进入一个回报丰厚、充满挑战、有很多机会环游世界的行业(晚点讨论这个话题)。最好的是啥?你既不需要大学文凭,也不需要报昂贵的辅导班。

重要提示: 这篇文章看起来像是教你成为开发者,但是当你细细品味,文中的策略适用于一切的学习过程。

为啥要编程?

有一天你能做出世界上最棒的守门员……

在我们开始学习计划之前,我们一定要扪心自问,为什么走这条路?人生中每一项要你付出大量时间的决定都要值得审视。时间,毕竟是我们手中最重要的资源:

A. 你想进入一个对技术渴求、同时有着无限可能让你成为食物链顶端举足轻重人物的行业。

B. 你想不受地理位置的束缚。你想获得一个能让你在任何地方都能找到工作的技能。假如你明天决定搬到冰岛,你想确保自己能毫不费力地找到工作。

C. 你想必已经注意到,2004年到2019年间这短短15年,技术进步得多么巨大。你想站在行业的前沿、引领风骚。

D. 过去两三年,技术成长最大的领域是货币加密(比特币),和人工智能(机器学习)。我们每天都与这些技术打交道,你不想在这些技术占领未来以后,自己却飘散如烟。所有这些光环之下,不过是编程而已,你想理解并掌握它。网站开发是进入IT行业的不错选择。

E. 你乐于迎接变化,保持终身学习的心态。那么为何不学点新知识?

但是我没有计算机学位,甚至不知道互联网是怎么运行的!别担心,我们会让这一切成为你的优势。继续阅读下去……

当你选择一个新职业的时候,请参考如下建议:

1. 这个行业必须要存活10年以上。这项技能务必在很多年内都有价值,以此确保你不至于失业。

2. 这领域的技术人员务必供不应求。一个行业内优秀的技术人员越少,你对工作和公司的掌控能力就越高。

3. 这个行业不能以工作年限来定薪资,要愿意对新人给予高薪。你不想把大好青春浪费在排资论辈里,然后在垂垂老矣时才过上体面的生活。

4. 这个行业不需要大学专业对口。你不想在开始赚钱之前再花四年负债累累地读个硕士。是的,我认为不必去昂贵的编程学校,你有很多其他更好的选择。

5. 有能力在最短时间内达到行业内的顶尖水平。这个行业是否愿意雇用缺乏经验的新手?你是否能尽快弥补差距,成为领域内的高级人员或专家?

6. 这个行业内习得的技能,务必要给你以后多种职业选择打下基础,且不论未来形势如何。例如,学习编程后,你能够更好地理解新兴技术,如:分布式应用、机器学习、云计算。你可以自由选择下一个职业方向。

7. 有趣。最重要的一点。你能长期接受每周花40小时做这件事吗?

编程,以我愚见,符合上述每一个选项。你也可以有不同的看法。

我最喜欢的一本书的名字是《优秀到不能被忽视》。书中,作者强调兴趣是一个谜。你不应该因为对旅行感兴趣而去旅行。多数人在掌握一项技能的过程中,经历的挣扎和付出的努力让他们找到了兴趣。一旦人们认可你的技能,因这些技能而让你受到尊重,这个时候你才真正地对你的工作感兴趣

你还在吗?我没吓坏你吧?好吧,那我们继续……

请看注意事项: 用心记住,前两个月会让你觉得自己在爬一座不可逾越的大山。你学习的每个教材、课程、教程都会让你觉得自己是世界上唯一一个不知道这些知识的人。坚强起来。你能学会的,随着时间的推移你会有越来越多恍然大悟的时刻。我们称这种现象为冒名頂替症候群:你觉得自己是唯一一个不知道这些信息的人,你不停地怀疑自己。放轻松,我们学新知识的时候都有这种感觉。

这一切结束后,你将学会的是:要成为一名优秀的开发者并不一定要求你记住一堆操作文档,而是学习如何利用现有的工具解决问题,意味着你要善于解决问题同时不断学习。

你是谁,我凭啥要听你的?

总是挥手……

哇,你太直接了,但我想你问的没错。首先,我是一名高级软件开发者,我在硅谷等很多地方为一些科技巨头工作过。我的职业生涯非常顺利,我去年花了一整年的时间帮助了世界各地超过六万人从新手成长为开发者。但我不是生来就精通电脑。我没有计算机学位。我是完全的自学者。

P.S. 这部分完全是关于我,所以如果你不关心(这很正常),跳过这部分。我会理解你。