技术栈的分级与学习的主次

《专精 or 博学,多少人输在了技术选择上?》笔记

Posted by 代码笔记哥 on August 23, 2020

前言

本篇文章为我个人对知名软件工程师四火的《专精 or 博学, 多少人输在了技术选择上?》讲座中,“技术栈的分级”与“学习的主次”这两个部分的总结。 之所以主要总结这两个部分,是因为它们对于全栈软件工程师的职场生涯规划有所启发。 ​

技术栈的分级

技术栈是一个IT术语。在全栈软件开发中,它是指完成一个网站从前端后端数据库甚至到 部署这一条龙过程中,所要用到和掌握的一系列技能的统称。

tech-stack-levels 技术栈的大致分级 by 四火

上图中的分级是四火个人对一个全栈软件工程师技术或说技能领域的层级分类的一个理解。

软实力:指的是程序员的对自己要做的任务的管理、与其他程序员的沟通、与产品经理、项目经理“撕逼” (这里加引号,其实是争论、探讨的意思)的能力。

模式和思想:主要指编程的一些既定范式,如面向对象(OOD)编程,设计模式的巧妙运用,MVC架构, Http Client 与 Http Server端的互动这类知识。

语言和平台:对某一个编程语言,比如Java的熟练掌握,Java的运行环境Java虚拟机(Java Virtual Machine)的原理的理解。

框架和库:比如前端开发,需要掌握的或者说你所在公司用的某种框架,比如Vue.js, Angular, React这类。

因此,从左到右,这几个技能分类大致有如下规律:

  • 技术的稳定性从高到低
  • 技术的寿命由长到短
  • 技术的积累难度从高到低
  • 解决实际问题的针对性从弱到强

举个栗子来讲,比如说一个前端开发的任务,贵公司已经既定前端的框架为Angular。这个小任务就是让你 把已经从后台得到的JSON格式的数据,在前端通过一张表格展示出来。这时候,你基于对Angular这个 框架的了解,知道要建立一个对应的Component。在这个ComponentAngular Controller当中把 从Server端得到的数据用一个变量给存起来,然后在Component对应的Template,也就是HTML模板 里面,通过*ngFor, <table>tag等语法来实现数据的展示。

学习的主次

总结

总结一下。 喜欢我内容的朋友可以在YouTube或微信公众号搜索“代码笔记哥”订阅我。