初学者开发者路线图
在推特上回答问题并阅读各种帖子时,我发现很多开发者在这个庞大的领域里迷失了方向。我还没有看到任何针对初学者的指南,能够涵盖他们在学习过程中所需的所有人员。所以我决定自己创建一个。
内容
- 我想成为一名开发人员
- 社区
- 科技树
- 集成开发环境
- 托管
- 导师
- 学习资源
- 实践
- 社交存在
1. 我想成为一名开发人员
看看这张图片。这只是我在推特上经常收到的众多类似信息之一。很多人想成为开发者,但却不知道该做什么。这既不是学校,也不是大学,甚至不是一份工作。你只能靠自己。
从零开始可能会令人恐惧、艰难、不适。但在这片森林中找到正确的道路至关重要。
本文是您作为开发人员的起点。
2.社区
任何活动,和别人一起做总比一个人好。我从自己的经验中知道这一点。运动、玩游戏、看电视剧。和朋友一起做总是更有趣。编程也一样。
独自编码很难。独自编码很无聊。独自编码令人沮丧。
加入社区吧!
那么编码社区有什么好处
- 您可以在学习的同时分享您的进步
- 您可以提出问题并寻求帮助
- 你可以找到新朋友
- 您可以找到新颖、热门、独特的内容
- 您可以组建一个团队来构建一个项目
- 你可以找到导师
- 你可以找到工作,或者工作可以找到你
如何成为社区的一部分
以下是我向初学者推荐的一些步骤:
平台 | 描述 |
---|---|
叽叽喳喳 | Twitter 是迄今为止最大的开发者社区之一。易于上手,易于发展,内容丰富。大家乐于提供帮助、推广你的推文、讨论各种话题等等。 |
不管你喜欢与否,LinkedIn 是每个开发者的必备工具。它仍然是求职和了解个人经历的最强大的平台之一。如果你想在未来找到工作,那就开始在 LinkedIn 上建立你的个人形象吧。 | |
等等,什么?没错,这没错。Instagram 是一个巨大的社交网络。有很多来自编程社区的人,但他们中的很多人羞于展示自己或建立自己的社群。还有疑问吗?问问Kyle Prinsloo(@study_web_dev)是否值得。 | |
Google 聚会 | 对于大多数初学者来说,开发是“线上”的事情。但在现实生活中,有很多机会认识新朋友。看看世界各地的 Google Meetup 就知道了。在你的城市找一个,然后和开发者们在现实生活中交流。你附近没有 Meetup?那就自己创建一个吧!如果你对创建自己的 Meetup 小组有任何疑问,可以咨询我的朋友Danny Thompson(@DThompsonDev )。他知道所有问题的答案。 |
太好了!现在你已经成为开发社区的一员了。你有朋友可以交流,遇到问题时可以随时提问。我们进入下一步吧。
3.科技树
这一步至关重要,因为它对你未来的职业生涯影响巨大。在这一步,你需要明确自己想做什么,以及会使用哪些技术。
许多想要转行从事开发工作的人可能会惊讶地发现,编程语言有几十种,而且它们与一些特定的开发领域相关(我不会在这里介绍某些语言的通用性)。
首先,你需要选择未来想做什么。开发领域有很多方向和细分领域,每个人都有自己偏好的语言和技术。
我不建议你只看我的清单。在做决定之前,请先了解一些有推荐和解释的资料。
1. Web 开发- 此领域涵盖网站和 Web 应用开发。如果您想创建博客、作品集、落地页、电商平台等,这是一个不错的选择。这里有很多子领域:
- 前端 - 客户端开发。基本要求是 HTML、CSS 和 JavaScript。
学习基础知识后,你需要学习更多技术来优化应用程序并简化开发流程。你将进一步学习的一些技术包括 CSS 预处理器(Sass、Less)、CSS 框架(Bootstrap、TailwindCSS)、JavaScript 库(moment.js、charts.js)、JavaScript 框架(React、Vue、Angular)等。
此外,对于那些想要学习 Web 开发的人,我强烈建议查看 Brad Traversy(@traversymedia)的视频:
2. 移动- 此区域适用于想要为移动平台创建不同应用程序的开发人员:
3. GameDev - 与游戏开发相关的一切,包括网络应用程序,都需要学习上述不同的语言。
4.桌面软件
5. 数据、机器学习、人工智能、神经网络
6.物联网
7.机器人技术
8. 等等
4. IDE
IDE(集成开发环境)或代码编辑器是你实际编码的环境。在效仿某些作者或影响者(甚至包括我自己)的选择之前,我建议你至少测试几个IDE,然后选择最适合你的。IDE的重点不在于代码质量,而在于编码时的舒适度。
集成开发环境 | 我的建议 |
---|---|
VSCode | ★★★★★ |
Sublime Text 3 | ★★★★☆ |
原子 | ★★★★☆ |
括号 | ★★★★☆ |
记事本++ | ★★☆☆☆ |
还有一些专为特定语言设计的 IDE,如 PhpStorm 或 PyCharm,但我在这里不介绍它们。
5. 托管
完成上述所有步骤后,您已经具备了构建一些简单应用所需的一切。接下来,让我们讨论一下您可以部署应用并与社区其他成员分享的资源。
市面上有数百家主机提供商。他们都有各自的工具、优势、价格等等。但对于新手来说,我建议使用免费主机,并提供不同的升级方案选项。
托管 | 描述 |
---|---|
霍斯特曼 | 这是我新发现的很棒的产品之一,拥有巨大的潜力和发展空间。静态网站或应用免费,团队和后端应用价格实惠。Docker 和数据库也有单独的套餐。 |
Netlify | 很棒的托管服务提供商,帮我存储了几个应用程序。但是付费服务价格较高,选项较少。 |
赫罗库 | 就我个人而言,它几乎和 Netlify 旗鼓相当。又一个很棒的免费应用托管平台。 |
韦尔塞尔 | 我自己还没用过 Vercel,但我的很多朋友都在经常用。它还提供免费方案,方便你进行自己的项目。 |
6. 导师
到了这一步,你已经具备了编写代码和与其他开发人员沟通所需的一切条件。下一步是什么?
下一步是找到一位导师,他会纠正你的学习历程,帮助你克服错误和困境。很多人认为导师只是那些拥有成千上万粉丝的网红。
不,事情并非如此。这些人能抽出时间给一个人的可能性很小,更别说成千上万的人了。你需要从你熟悉的社群中寻找一位经验更丰富的人,他/她愿意花时间回答你的问题,帮助你成长。如果你是初学者,即使是其他初级或中级开发人员也能给你很多有用的建议。
相比于为所有你认识的网红写私信,这种方法能为你节省大量时间。
无需导师指导,自动化代码质量
最近我和Codacy团队的人见了面。他们提供了一个平台,可以检查你的代码并发现不同类型的问题。就像一位真正的导师一样。而且它对单个账户免费。
例如,Codacy 在我的一个项目中发现了 173 个我可以改进或修复的问题。
7.学习资源
说实话,我每天都会看到这些实用工具、平台、视频、文章等等的列表。其中很大一部分几乎每天都在重复。当你在开发者社区里成长时,你也会陷入“学习资源地狱”的泥潭。
目前我正在努力为所有开发者修复这个问题。
如果你想成为第一批获得开发者潘多拉魔盒的人,请在 Twitter、Hashnode 或 Dev.to 上关注我。
除非没有更好的选择,否则我建议你创建自己的资源列表,并在其中添加新的平台或项目。将它们分成几列,以便根据自己的目的提供简洁实用的备忘单。这是我很久以来忽略的步骤,我很后悔以前没有这样做。
我当然不会错过这些很棒的学习资源。这可不是随便列的。这些资源是我在查阅了数百个其他资源后自己用过的。我可以坦诚地说,这些资源对我学习编程很有帮助。
来源 | 描述 |
---|---|
特拉弗西媒体 | 毫无疑问,这是 YouTube 上最好的节目频道。 |
网络忍者 | 高质量的 YouTube 课程和视频,附有详细的解释 |
免费代码营 | 学习编程的最佳平台之一。免费学习,并提供免费证书。内容质量和社区都很棒。 |
弗洛林·波普 | Florin 正在 YouTube 上创建很棒的项目并进行直播。你可以从他的视频中学到很多东西。 |
斯克林巴 | 该平台与 Udemy、Coursera 等平台类似,但界面更好,与学习者的互动性更强,课程质量也更高。 |
我不会在这里放很多资料,因为我希望你只关注其中几个。没有人会打开20、40甚至60个资料,只会打开其中几个。这就是为什么我给你最好的。
8.练习
有个词叫“教程地狱”。指的是你大部分时间都花在学习新知识而不是实际编写代码上。
问题在于,任何作者的任何教程都只涵盖一个特定的主题或一个特定的问题。这就是为什么当你开始构建自己的应用程序时,你会面临大量的错误。
如果你学到了一些东西,试着在看完视频或文章后立即运用,甚至在观看/阅读过程中也应该如此。不必着急,根据你的需要花尽可能多的时间。你需要了解这项技术的工作原理,而不是照搬照抄。
现实世界中的应用程序需要你使用简短、干净且智能的代码。你可以在解决各种挑战的过程中学习它。它将帮助你在构建应用程序时轻松找到出色的解决方案。以下是一些你可以使用的平台:
9.社交存在
当您已经为学习和编码设置好所有环境时,就该考虑您的个性成长了。
拥有强大的社交形象,您在开发社区中就有更多选择:
- 您可以收到不同活动的邀请
- 您可以免费获得一些产品来推广它
- 你可以参与它的伟大项目或测试版
- 您可以通过广告和自己的内容赚取更多收入
这只是冰山一角。
如果您想了解更多关于如何打造您的在线形象,尤其是在 Twitter 上,请关注 Catalin Pit ( @catalinmpit https://twitter.com/catalinmpit ) 和 Danny Thompson ( @DThompsonDev )。
希望这份小小的路线图能帮助你在开发领域找到自己的方向。
你一定可以!
关注我以接收更多有用内容:
| Twitter | LinkedIn | Hashnode | Dev.to |