我眼中的全栈工程师

2023-11-09

前言

全栈工程师,一直以来都是软件行业热议的话题,只要提到全栈工程师大家就觉得很高大上,当然也有人直接说万金油而已,往好听说是全栈工程师,综合能力全,但是实际上就是什么都会哪都不精通。有人唾之以鼻,也有人称赞不已。
对于许多创业公司来讲,全栈工程师也是不错的选择,花一个人钱做一个团队的事何乐而不为呢。所以全栈工程师也就成了仅次于架构师的一个职位。

全栈工程师

 

 

那么什么是全栈工程师呢?大家都各有说辞,有的人说精通前后端,有的人说初级架构师,那么不妨看看百度词条:

百度词条-全栈工程师

其中百度词条也说到全局思维这一点,还有根据这些年我的工作经历,个人认为全局思维才是全栈工程师最核心的一点。
最近不少人说到互联网寒冬的说法,还有不少人说程序员是吃年轻饭的,最多不会超过35岁这业界黄昏点,对此引起不少人的焦虑。其实在我看来这些人云亦云引起的焦虑,其实最主要的原因就是现在企业对程序员的要求越来越高,需要的不仅仅是只会单一技能,企业不再需要只会敲代码的一个工程师。
职场从来都不是平静的,他只会淘汰掉不需要那群人,选出优秀的那一部分进入管理层圈子。古人就说过“近朱者赤,近墨者黑”,跟随优秀的人在一起,就会看到不一样的天空。有些圈子你没进入你就看不到那个圈子里的世界,你就理所当然地认为是寒冬来临。
在IT程序开发这个大环境下,大家都是程序员,如果你拥有全局思维,那么你就是下一个管理者人选,所以你到35岁还是只会代码,或则工作了5年,你依旧只会单一技能,这能怪公司吗?能说寒冬吗?这问题本身在于自己,是你自己给自己画出了寒冬这个怪圈。

个人经历

接下来,我从个人经历的角度,说说全栈工程师。

 

3年前我进入程序行业,第一时间就把自己的目标定位成了全栈工程师,所以制定了一个3~5年的计划,希望5年之内成为一名全栈工程师,于是我就开始了对全栈之路的摸索之路。

个人历程

第一年开始Android开发,当时从应用层开发,再到硬件驱动(传感器)开发,虽然如今Android开发有些日落黄昏的节奏,但是这一年带给我的收获也是蛮大的。

第二年开始了web前端开发,从H5、CSS3、ES6,再到vue.js、react.js,还有当前比较火的微信小程序,也为我打开了前端的视野。
第三年开始了javaweb的学习,Servlet、Jsp、struts2,spring全家桶等,让我对开发编程有了全新的认知。由此我意识到所有开发都是以数据为导向,尤其对当前人工智能的解释,人工智能就是数据分析。
三年的开发经历,让我从单纯的代码搬运工,逐渐开始对项目思考,对整个项目系统架构思考,08年这一年也开始管理小团队,学会了对项目分析,从需求上审视业务功能,逐步培养自己对于项目的全局思维能力,以及开始考虑产品推广,市场反馈等问题。
之前有群友讨论说,后端开发才是最好晋升管理的首选,目前所有项目经理及管理层,多数都是由管理层转的,当时我就在想,为什么这样,当时我心中答案就是——全局思维。是的,这也就是全栈工程师的核心思维,这一点算是我这三年来的领悟吧。
后台人员相对于前端,移动端,测试,还是有产品而言的,后端人员考虑项目就是项目数据本身,数据就是这个项目的主干。如今的社会是以数据为导向的世界,对于整个软件系统,数据穿插在整个项目中,无论是前端,还是移动端,还是产品或则测试,所以无形中为后端人员培养了全局思维能力,这也是后端人员更容易转管理层的原因。简单讲,全栈工程师就是项目经理进入管理层的首选对象。

学习路线

 

 

那么怎么成为全栈工程呢?这也是许多人非常迷茫的问题,大家总认为全栈工程师很神秘,高深莫测的样子,其实并不是那样的神秘,这都是一个知识的积累过程,一步一步积累而来的,下面我们看看下面这张图吧

软件系统组成

从上图就可以清楚地看到,全栈工程师需要具备的能力大体分为三类,移动端开发,web前端开发,以及后端开发。也许对于很多人来说,也许就会不由自主地感叹:这些知识太多了吧。我曾经看到过这么一句话:“一名优秀的程序员,一年至少需要学习一门新的程序语言,以应对未来多变的软件行业。”

移动端开发

移动端开发就目前而言,需要学习模块主要为Android或者IOS。其中在国内,Android的应用越来越为广泛,智能穿戴,门禁系统,车载电视,家庭网路电视等。以Android移动开发为例需要学习的大纲为:

 

学习语言

 

详细知识大纲,如下图所示:

Android学习大纲

目前Android,大家都说android开发越来越不景气。其实不是,只是企业不再需要初级android人员,如今android也开始倾向于硬件开发,TV电视端开发比较多。android开发选择android studio,ios开发xcode,同时也要学会一些混合开发知识,比如weex,react native,cordova等。

web前端开发

 

 

一般前端开发,多指web前端开发,主要为网页开发,现在同是包含微信小程序开发,前端开发学习大纲分为pc端和移动端,大体学习大纲为:

前端学习

前端开发目前比较常用开发工具为Hbuilder,vs code,Web Storm等,并且还需要熟悉npm,yarn ,webpack等。

后端开发

后端开发目前常用为java,c++,c,python,php等,我这里就列举java后端学习大概方向:

java学习大纲


后端开发而后也分为大数据方向,分布式系统架构方向等,服务器方面后端也要学会常用linux命令,熟悉常用的web应用服务器,如tomcat,Apache ,nginx等,比如C语言,c++相关开发选择vs,java开发选择idea,es等,详细请查看java团长的博客http://www.cnblogs.com/java1024/p/8583274.html,他的体系介绍比较完整。
而后还需要学习其他方面的辅助知识,git,svn等代码版本管理工具。

 

总结

全栈工程师的核心能力就是全局思维,能够独自一人把控整个项目,不像常规单一职责的工程师一样不同的人有不同的看法持一孔之见。因为拥有全局统筹能力,所以全栈工程在未来会更加受到欢迎,同时全栈工程师之路所要学习的东西往往会比单一开发者要多得多,不过付出总会有收获的。如果决定成为一名全栈工程师,就不要在意别人的说辞,坚持走下去,走下去无论最后那份答卷会怎么样,最终的结果都不会令你失望。

 

如果说全栈工程师被称作万金油,被认为会很多却不精通,从而被认为油,那么就让把“油”字去掉,成为“万金”工程师,当然也可以不去掉,至于原因火影迷应该都知道“油”。

火影忍者-自来也

以上纯属个人见解,如有异议,还望指正。

最后奉上一句:

未来职场是留给会写作的人,不会写作的人,正在失去你的职场核心竞争力。


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我眼中的全栈工程师 的相关文章

  • tomcat线程池配置

    以Tomcat8为例 配置方式一
  • intellij idea vue js 报ESLint: Expected indentation of 0 spaces but found 2. (indent)错误解决方法

    ESLint这东西是真的烦 把人当做机器来验证 没办法 遇到他了 死磕 就因为script后面的内容被idea格式化之后空了两格 这就不得了了 你一个警告 总是搞一个error的标志 难道不知道程序员最忌讳的就是打断吗 你要求严格 也不能这
  • javaWeb监听器

    JavaWeb监听器 三大组件 Servlet Listener Filter 监听器 接口 内容由我们来实现 它需要注册 例如注册在按钮上 监听器中的方法 会在特殊事件发生时调用 观察者 事件源 事件 监听器 javaweb中的监听器 事
  • XML 和 JSON 学习笔记(基础)

    XML Why XML 的出现背景 在实际开发中 不同语言 如Java JavaScript等 的应用程序之间数据传递的格式不同 导致它们进行数据交换时很困难 XML就应运而生了 XML 是一种通用的数据交换格式 可以十分方便地实现格式交换
  • 我眼中的全栈工程师

    前言 全栈工程师 一直以来都是软件行业热议的话题 只要提到全栈工程师大家就觉得很高大上 当然也有人直接说万金油而已 往好听说是全栈工程师 综合能力全 但是实际上就是什么都会哪都不精通 有人唾之以鼻 也有人称赞不已 对于许多创业公司来讲 全栈
  • IE下载文件时,中文文件名乱码问题

    经排查 Content Disposition中的filename进行了两次URL转码 以汉字漫为例 第一次转码 漫变为 E6 BC AB 第二次转码 E6 BC AB变为 25E6 25BC 25AB 第二次转码时 因为 是特殊字符 所以
  • Java编写的美食网站 美食系统 功能齐全、界面漂亮 下载即可以运行

    8月份由于公司的事情太多 基本上没有更新博客信息 今天稍微空了点 继续为为大家介绍Java web项目 今天要介绍的是一个Java web编写的美食网站 美食系统 美食网站分两类用户 普通用户和系统管理员 普通用户具备的主要功能包括 登陆
  • JDBC连接数据库的几种方法与简单解析

    首先要知道jdbc 使用Java代码发送sql语句的技术就是jdbc技术 即jdbc是一个接口 用于不同的数据库 oracle mysql sqlserver 的操作 使用jdbc发送sql语句的前提 登录数据库服务器 连接数据库服务器 数
  • 自己实现图形验证码

    如果不想重复造轮子 参考上一篇文章 SpringBoot生成图形验证码 Muscleheng的博客 CSDN博客 这里不需要依赖开源组件包 完全自己实现图形验证码功能 两步完成 第一步 编写图形验证码工具 package com zhh d
  • Notepad++添加读取十六进制插件HexEditor

    下载地址 https github com chcg NPP HexEdit releases 安装方式 下载压缩包 例如 HexEditor 0 9 5 19 x64 zip 解压到本地目录 将文件夹更名为HexEditor 打开Note
  • js根据本地文件路径上传文件(流上传)

    最近使用vue做了个项目 把本地指定url下的png图片上传 废话不多说 直接上代码 var fs require fs 需要引入nodejs中的文件操作部分 var http require http 需要引入nodejs中http请求部
  • Spring属性注入方式

    1 Spring也表示一个开源框架 是为了解决企业程序应用开发的复杂性 框架的主要优势之一就是其分层架构 分层架构允许使用者选择使用哪一个组件 同时为J2EE应用程序开发提供集成的框架 Spring使用基本的bean来完成以前只能由EJB完
  • Java学习笔记:Servlet

    JavaWeb三大组件 Servlet Filter 过滤器 Listener 监听器 Servlet生命周期 1 初始化阶段 调用init 方法 2 响应客户请求阶段 调用service 方法 3 终止阶段 调用destroy 方法 生命
  • 计算机软件工程毕设推荐 40个高质量信息管理专业毕设项目分享【源码+论文】(六)

    文章目录 前言 题目1 基于SSM的在线教学视频点播系统 br 题目2 基于SSM的考研信息查询系统 br 题目3 基于SSM与垃圾分类的信息管理系统 br 题目4 基于SSM的留学生交流平台系统 br 题目5 基于SSM的企业销售培训系统
  • Java web 学习笔记

    Java Web 1 web基础 1 1 基本概念 web开发 网页开发 分为 静态web 和 动态web 静态web 由 html css JavaScript 共同组成 提供给所有人看 数据永远不变 动态web 提供给所有人看的数组 在
  • XML与JAVABean的相互转换

    一 XML生成JAVABean 1 将以下xml报文转为JavaBen实例
  • 基于SSM框架的多文件上传Controller类编写

    前端代码
  • 基于Spring Boot 框架的试卷自动生成系统的设计与实现

    项目描述 临近学期结束 还是毕业设计 你还在做java程序网络编程 期末作业 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 你想解决的问题 今天给大家介绍一篇基于Spring Boot
  • 基于Springboot的教学信息反馈系统的设计与实现(源码+调试)

    项目描述 临近学期结束 还是毕业设计 你还在做java程序网络编程 期末作业 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 今天给大家介绍一篇基于Springboot的教学信息反馈系统
  • 交友网站的设计与实现(源码+数据库+论文+开题报告+说明文档)

    项目描述 临近学期结束 还是毕业设计 你还在做java程序网络编程 期末作业 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 这里根据疫情当下 你想解决的问题 今天给大家介绍一篇缘来交友

随机推荐

  • 编写程序:5类员工有对应封装类,创建Employee数组,若干不同的Employee对象,并实现增删改查功能(《黑马程序员》P144编程题加强版)

    文章目录 Employee类 SalariedEmployee类 HourlyEmployee类 SalesEmployee类 BasePlusSalesEmployee类 Test类 实现增删改查 原题 1 Employee 这是所有员工
  • 【python】深入了解Selenium-PageObject

    1 PageObject 定义 Page Object 简称PO 模式 是Selenium实战中最为流行 并且是自动化测试中最为熟悉和推崇的一种设计模式 在设计自动化测试时 把页面元素和元素的操作方法按照页面抽象出来 分离成一定的对象 然后
  • Sophus使用记录

    sophus库是一个基于Eigen的C 李群李代数库 可以用来方便地进行李群李代数的运算 头文件 主要用到以下两个头文件 include
  • 基于水文规约SL651-2014的“定时报”解析

    一 概述 水文监测数据通信规约SL651 2014规定了水文监测系统中前端传感器与遥测终端以及中心站之间的数据通信协议 本文将以M21F系列RTU为例 详细描述符合SL651 2014数据通信规约标准的遥测站终端与中心站之间的 定时报 报文
  • Go开源库Excelize介绍,电子Excel表格操作强大的库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库 基于 ECMA 376 ISO IEC 29500 国际标准 项目作者是续 日 现任阿里巴巴软件工程师 曾就职百度 奇虎360公司 前百度Go语言编程委员
  • 循环监测b站用户粉丝数、舰长数及增量 程序

    前言 开发语言 python 3 8 功能介绍 循环监测b站用户粉丝数 舰长数及增量 实时打印 并存入数据库中 使用说明 运行 双击运行 bat 输入用户UID 回车 再输入循环周期 回车 即可开始监测 ps 数据存储是sqlite 可以使
  • 如何处理地址不对齐指令?

    连续不断是处理器取指的另一个目标 如果处理器在每一个时钟周期都能取一条指令 就可以源源不断的为处理器提供后续指令流 而不会出现空闲的时钟周期 地址不对齐导致问题 不管是从指令缓存 还是从ITCM中取指令 若处理器遇到了一条地址不对齐的指令
  • H桥L298N两端输出电压不同的原因

    目录 1 问题的证明 2 L298N的原理 3 问题的解决 在做拉力车的时候 电机总是转速不同 起初以为是电机问题 但换成新电机后仍然存在这种问题 又怀疑是导线的问题 因为两电机的导线粗细不同 误以为PWM调速时会被影响 后来锁定问题 就是
  • Leetcode337:打家劫舍 III

    在上次打劫完一条街道之后和一圈房屋后 小偷又发现了一个新的可行窃的地区 这个地区只有一个入口 我们称之为 根 除了 根 之外 每栋房子有且只有一个 父 房子与之相连 一番侦察之后 聪明的小偷意识到 这个地方的所有房屋的排列类似于一棵二叉树
  • 2605. 从两个数字数组里生成最小数字

    文章目录 Tag 题目来源 题目解读 解题思路 方法一 枚举比较法 方法二 集合的位运算表示法 写在最后 Tag 贪心 位运算 数组 题目来源 2605 从两个数字数组里生成最小数字 题目解读 给定两个各自只包含数字 1 到 9 的两个数组
  • ImportError: No module named ‘seaborn‘

    在已经使用pip install seaborn 或者 conda install seaborn 之后 在虚拟环境下 启动jupyter 但是报出下面错误 1 需要去考虑一下你的内核是不是发生改变 或者建议重启一下内核 注意 一般情况之下
  • ​微众区块链×华南理工:连续四年深度合作,共育区块链+ESG复合型人才

    近日 在经历了六周的紧张学习后 来自华南理工大学软件学院的同学们完成了第四届 区块链实训课 的答辩 该实训课由微众区块链与华南理工大学共建 也是双方第四次合作的成果 令人耳目一新的是 本次实训课在往年成熟的课程体系之上 新增了一门叫做 开源
  • thinkphp 随笔——模型更新成功返回的数据

    thinkphp 随笔 模型更新成功返回的数据 先上图 这是我修改了一个表内的 value 字段 修改成功之后返回了这个字段的最新值 thinkphp 随笔 个人博客 http www sharekong xyz 欢迎访问
  • 关于《时间管理》

    01 为什么需要时间管理 我们 多数人不是富二代 也不是官二代 如何比得过白富美和高富帅 在万千的不公平中 还有这唯一公平的资源 时间 好好把你的时间加以管理 以弥补并创造出其他的资源 人的一生两个最大的财富是 你的才华和你的时间 才华越来
  • 机器学习——线性回归模型及python代码实现

    机器学习 公式推导与代码实践 鲁伟著读书笔记 在机器学习的学习过程中 相信大家首先要学习的就是线性模型 而线性模型中 线性回归 Linear Regression 是一种非常经典方法 现在我从线性回归的数学原理出发 手推数学公式 并结合py
  • winform相关问题收录

    一 WinForm 代码实现以管理员身份运行 from http www cnblogs com 08shiyan p 3267165 html MY http user qzone qq com 319636886 2 二 winfrom
  • java EasyExcel 的使用

    java 中 excel 的写入和导出使用的是 阿里巴巴的 EasyExcel
  • 解决ES6.6.0开启锁定内存后不能重新,报错“memory locking requested for elasticsearch process but

    错误原因就是我们在配置文件里开启了 bootstrap memory lock true 不需要次需求的话 改成false就好 如果需要开启 按照下面来 亲测可行 root localhost 234 grep Ev etc elastic
  • FreeSwitch学习笔记

    FreeSwitch FreeSwitch应用场景 在线计费 预付费功能 电话路由服务器 语音转码服务器 支持资源优先权和QoS的服务器 多点会议服务器 IVR 语音通知服务器 VoiceMail服务器 PBX应用和软交换 应用层网关 防火
  • 我眼中的全栈工程师

    前言 全栈工程师 一直以来都是软件行业热议的话题 只要提到全栈工程师大家就觉得很高大上 当然也有人直接说万金油而已 往好听说是全栈工程师 综合能力全 但是实际上就是什么都会哪都不精通 有人唾之以鼻 也有人称赞不已 对于许多创业公司来讲 全栈