在 Curricular,我和我的团队花了很多时间研究、审查和推荐学习开发技能的最佳方法。您可以在course.dev上查看我们的学习指南
作为我们研究的一部分,我们决定编制一份作为全栈开发人员专业工作所需的技能领域列表,这些技能领域大多独立于框架或工具。这是我们上一篇关于前端开发人员所需技能的文章的续篇。
现在我想听听您的反馈。
about-the-list-of-essential-skills-for-junior-fullstack-developers关于初级全栈开发人员的基本技能列表
我的团队采访了一群高级开发人员,筛选了许多现成的在线建议,并相互辩论以产生这个列表。
我们的目标是帮助有抱负的全栈开发人员了解哪些技术技能是最重要的优先考虑,以便成为出色的全栈开发人员并满足或超越队友的期望。
当然,学习永远不会停止,当您作为初级开发人员获得经验时,获得一些技能非常重要。因此,我们将技能分为基础列表和成长列表,考虑到新的和初级全栈开发人员。
成长列表中的项目是初级开发人员不应该在刚从学校毕业后就在团队中单独处理的事情。
每个知识领域都分为以下几个领域:UI 设计和交互、前端服务器、状态管理、HTTP 请求/响应、API 开发和数据库。这些是一些松散的领域,旨在帮助您根据其主要目的来考虑技能。
通常这些技能会跨越多个领域,因此不要将此视为严格的分类;将一项技能放在一个领域而不是另一个领域并不意味着它排除了其他领域。
当然,这些都是技术能力。为了脱颖而出,您还需要其他非技术技能,例如团队合作、创造力、解决问题、结对编程和估算。此时这些也被搁置了。
我很高兴听到您的反馈!
foundational-skills基础技能
user-interface-design-amp-interactivity用户界面设计与交互
html超文本标记语言
- 句法
- 元素
- 属性
- 文件结构
- 特性
- 活动
cssCSS
- ID 和类别
- 动态布局和响应式设计
- 弹性盒
- 网格
- 变量
- 媒体查询
- 框架 - 优点、权衡和基本用法
- 顺风
- 引导程序
javascriptJavaScript
- DOM 生命周期
- 浏览器事件循环
- 事件监听器
- 回调
- DOM操作
- 异步/等待
- 承诺
- JavaScript 框架或库
- 反应
- 角
- 维埃
frontend-servers前端服务器
- 静态站点
- 服务端渲染
version-control版本控制
- Git 和 GitHub 基础知识(克隆、分叉、分支、合并、拉取请求、冲突解决)
- 编写良好的提交消息
- 保护敏感信息
state-management状态管理
global-state全局状态
- 框架和模式(例如 Redux)
local-state当地州
- 支柱钻井
http-request-responseHTTP 请求/响应
- 协议
- TCP/IP 和 IP 寻址
- 路线
- 标头
- 有效载荷
- 状态代码
api-developmentAPI开发
backend-programming后端编程
- 后端语言和框架的基础知识
- JavaScript 与 Node 和 Express
- Python 与 Django 或 Flask
- Ruby 与 Rails
api-serversAPI服务器
- 港口
database-interfaces数据库接口
- ORM
- ODM
routing路由
- 休息
- 肥皂
- GraphQL
databases数据库
database-schemas-and-models数据库架构和模型
- 关系型
- 表格
- 加入
- 非关系型
- 文件
- 参考
data-manipulation数据处理
- 阅读
- 写作
queries-and-mutations查询和变更
- SQL基础知识
- NoSQL 基础知识
database-management-fundamentals数据库管理基础知识
- 可靠性
- 效率
additional-topics附加主题
project-organization项目组织
- 依赖管理
- 源代码与编译代码分开
- 所有测试都包含在自己的文件夹中
web-architecture网络架构
- 多维控制器
- 微服务
website-hosting-delivery-and-deployment网站托管、交付和部署
- 云计算要点
- 云平台要点(AWS、Azure)
- 容器化(Docker)
- 持续交付和持续集成
software-quality软件质量
- 编写干净的代码
- 测试和测试驱动开发
- 调试策略
growth-skills成长技能
一般来说,在大多数情况下,初级人员将开始致力于支持和一些小的包含功能,随着他们适应和获得经验,复杂性会增加。
为了继续进步,初级学生需要添加一些技能,包括:
- 打字稿
- 无障碍
- 安全
- 认证与授权
- 消息传递/消息总线
- 缓存
- 企业语言和框架
- Java 与 Spring 和 Spring Boot
- C# 与 .NET / ASP.NET
what-do-you-think你怎么认为?
我们是否遗漏了您对初级全栈开发人员期望的任何关键内容?这份清单上有哪些技能是让您感到惊讶的吗?或者困惑吗?请在评论中告诉我。