你是否应该专一于全栈?”_。
如果你想把学习作为你的职业,请关注全栈。
全栈开发人员将一直倒退的软件世界视为机会,而不是威逼。他们利用古代语言和新框架。他们一直倒退本人的各种技能。他们就像技术自身一样前沿。
全栈开发人员可能适应。每个公司都有一个独特的堆栈,在前端和 / 或后端有不同的挑战。因而,利用多样化技能组合的能力使得全栈开发人员真正有价值。
最初,全栈开发人员利用了软件中最令人兴奋的局部:摸索未知。如果你第一百次都在编码雷同的解决方案,工作就会很无聊。但全栈开发者永远有机会深刻到新的问题空间。
如果你是一个新人,你从哪里开始?
本文中的图表追踪了你如何成为一名全栈开发者。它列出了你须要学习的技术。请留神,工夫预计是基于集体教训,以及我的共事的教训。另外,估计值假如你每天投入 2 - 3 个小时来学习。如果你能够投入更多或更少的工夫,请调整估计值。
即便你很有教训,你也会发现这个图表很有用。看看你的落脚点并跟踪你的进度。无论是哪种形式,无论是老手还是有教训的人,在图表完结时,都能够认为本人是一个全栈开发者。????
前端 (约 5 个月)
HTML/CSS(1 周以上)。
从学习网络的构件开始。你必须学习超文本标记语言(HTML)。它是用来构建网站的语法。侥幸的是,它是列表中较快学会的技术之一。
接下来,你有层叠样式表(CSS)。学习这个次要是通过试验来实现。一旦你学会了基础知识,包含 flexbox,就不要花太多工夫进一步开掘。你能够在其余我的项目中必要的时候学习其余的 CSS 细节。
JavaScript (1 month+)
你的很多工夫将被用来学习 JavaScript 编程语言。JavaScript 能够让你的网站变成动静的网络应用。
JavaScript 是一个必不可少的检查点。侥幸的是,有大量的资源能够用来加紧学习 JavaScript。但依然要留神专一于基础知识。将中级和高级概念留到当前再学。随着学习的深刻,它们会变得不那么凌乱 / 令人丧气。
框架(2 个月以上)。
当你应用 JavaScript 的势头越来越好的时候,请学习一个 JS 框架。一个框架能够让你重用罕用性能,更快地实现大型利用。
有几个抉择。React,Angular,Vue,等等。在我看来,要学的是 React.js.,它既对初学者敌对,又受到很多有教训的开发者的青睐。
这并不是说你应该齐全疏忽 Angular 和 Vue。至多要读懂它们,晓得它们与 React 的区别。甚至做一两个教程。
但你的工夫是一种资源。我会把大部分工夫用在 React 上。
相干的前端概念(1 个月以上)。
测试(2 周以上)。
毋庸置疑,牢靠的软件公司都会测试他们的代码。因而,一个全栈开发人员应该相熟测试实际和库。既然你懂 JavaScript 和 React,那么 Jest 和 Enzyme 就是不错的抉择。
Redux (2 weeks+)
如果你在学习 React,就无奈防止 Redux。确实,它们是不同的概念。React 是出现层。Redux 治理的是外部数据。然而,将 Redux 与 React 一起利用曾经成为业界的规范。
相干软件概念 (约 1 个月)。
尽量将以下概念尽快融入到学习过程中。
HTTP 和客户端 - 服务器架构 (2 周以上)。
一个全栈开发人员应该晓得数据是如何在万维网上进行通信的。在 HTTP 中,函数遵循申请和响应模式。它是这样的。一台计算机作为客户端。客户端应用 Web 浏览器向服务器发送 HTTP 申请。服务器,也就是另一台计算机,用 HTML 和 CSS 等资源来响应客户端。
我倡议建设一个向公共 API 发出请求的我的项目,让你对 HTTP 脏手。
Git (1 week+)
尽快学习 Git。Git 是一个版本控制系统,用于跟踪仓库(软件我的项目)中的变动。你能够把它看成是有版本的 Google Drive。你能够与别人共享仓库。文件有多个贡献者。但在 Git 中,你能够领有我的项目仓库的分支,用于代替版本。Commits 记录了增加、更新或删除文件的确切工夫。而这仅仅是它性能的开始(小贴士:git reflog
是一个秘密武器)。
此外,其他软件工程师和招聘人员也会心愿在 Github 上看到你的作品。
后盾 (约 3 个月)
Node.js(1 个月以上)。
利用你的 JavaScript 教训,在后端摸索 Node.js。将其与 Express.js 中间件一起应用,构建您本人的 API。Node.js 在基于聊天的利用和流媒体方面大放异彩。利用这些劣势,尝试构建一个 Facebook Messenger/WhatsApp 克隆。
就像你第一次接触 JavaScript 一样,Node.js 会显得很宏大。有大量的资源是很好的。但如果你不晓得从哪里开始就不行了。专一于基础教程,自然而然地晋升程度。
SQL 和关系型数据库(1.5 个月以上)。
你不能漠视 SQL 和关系模型。后盾的一个根本方面是数据存储。结构化查询语言(SQL)是应用最宽泛的语言,以协调如何读取、写入和更新数据。学习关系模型。这是 MySQL、PostgreSQL 和 Oracle 等工业规范关系数据库系统背地的概念。
当你在学习 Node.js 的时候,你会遇到很多 MongoDB 的教程。MongoDB 是一个 NoSQL 数据库 – 关系型数据库系统的替代品。小心,只关注 MongoDB 可能很迷人。当初,理解一下 NoSQL 数据库和语言是很好的。也要理解它们的劣势 / 劣势。但不要跳过 SQL,也不要跳过关系模型。它们在行业中的利用如此宽泛。你最终会遇到它们。
????????????????????
就这样,你曾经实现了图表!开香槟吧! 派对就像你 5 岁生日时一样冷落!那么,在这种状况下,香槟可能是不适合的 … …
无论如何,蛋糕应该说。你是一个全栈开发者。
然而,它并没有进行在这里 … …
超过
一个将所有内容整合在一起的我的项目(2 周以上)。
你有全栈技术。心愿你始终在积攒作品集。然而为了帮忙你,真的很难在网上找到一个将所有全栈概念分割在一起的教程。你得本人去拼凑一个我的项目。
所以我建设了一个课程来解决这个问题。到最初,你的作品集里会有一个全栈我的项目。其重点是 React.js、Redux、Node.js 和 PostgreSQL。它还关注那些能让你怀才不遇的小细节:代码设计的最佳实际,以及办法命名。
Master Full-Stack Development | Node, SQL, React, and More
计算机科学(5 个月以上)。
一个全栈开发人员也应该懂计算机科学。是的,从工夫估算上看,大学四年的工夫的确能够归结为五个月。那是不是说拿到 CS 学位就没有意义了呢?当然不是,取得计算机科学学位是一项微小的投资。你能够和许多聪慧的人建立联系。而且你还能够摸索你可能感兴趣的其余工程课题。
但那些在行业中立刻实用的货色 – 数据结构和算法、操作系统和软件开发原理 – 能够在高度集中的五个月内实现。
我的很多共事都是非 CS 业余毕业的(有的甚至是非迷信业余)。他们要么自学,要么上过训练营。
其余语言 / 技术全栈(正在进行)。
正如一开始提到的,全栈开发者在未知中茁壮成长。学习的过程是继续的。一旦你在一种技术上变得很危险,是时候把它的竞争对手 / 替代品增加到你的工具箱中了。用另一个 JS 框架(如 Vue.js)构建一两个我的项目。开始摸索 NoSQL 数据库,比方 Redis。
真正让本人怀才不遇的办法是理解每种技术的劣势 / 劣势。晓得什么时候最好应用 Node.js,与什么时候应该应用 Go 或 Scala。
理解语言的哪些局部值得称赞。_晓得哪些局部值得埋怨。
最终,如果你想把学习作为你的职业,请专一于全栈开发。
David 是旧金山 Zendesk 的全栈开发人员和软件工程师。他喜爱制作教育内容。他有 17 门课程,有来自世界各地的约 20 万名学生。看看他们吧 https://www.udemy.com/user/54cd8dd54e49b/
Highlights:
Master Full-Stack Development | Node, SQL, React, and More
Build a Blockchain and a Cryptocurrency from Scratch
React — Mastering Test and Behavior Driven Development
Also, feel free to connect with David by finding his social media links on davidtkatz.com