0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是全栈工程师

工程师人生 来源:工程师吴畏 2019-05-31 16:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

全栈工程师(Full-Stack Engineer):一个能处理数据库、服务器、系统工程和客户端的所有工作的工程师。根据项目的不同,客户需要的可能是移动栈、Web栈,或者原生应用程序栈。

全栈:表示为了完成一个项目,所需要的一系列技术的集合。应该从能力和思维方式两方面,来判定一个人是否是一个合格的全栈工程师。简单来说*全栈工程师就是可以独立完成一个产品的人。

1、Web开发流程

大中型互联网公司的产品研发流水线:产品设计--》交互设计--》视觉设计--》前端开发、后台开发--》测试--》发布。

产品经理:产品经理其实是对一个产品负根本责任的管理者。他通常的工作包括制订产品规划、协调多方资源、把控产品方向和质量细节,等等。有时候,他会从头策划一个新的产品,而更多的时候,他是在优化已有产品的一个部分。总之,在流水线中,产品经理需要从策划跟进到发布,是一个非常重要的角色。

用户研究员:用户研究员的工作是研究用户行为,有时候他会从宏观的角度分析数据,有时候也从微观的角度分解用户场景,有时候会召集一些用户专门来访谈,或者观察用户对产品的使用情况。从输出品的角度来说,用户研究员一般输出用户研究报告来交付给产品经理和交互设计师,作为产品设计的目标参考。

交互设计师:交互设计师常被简称为“交互”。他与视觉设计师最大的区别是,交互设计师更多着眼于如何优化用户界面的信息分布和操作流程。交互设计师的输出品一般是描述用户与网站“交互”过程的流程图,以及描述页面信息结构的线框图。输出的线框图会交付给视觉设计师。

视觉设计师:在细分交互设计师和视觉设计师的大公司,视觉设计师根据交互设计师输出的线框图来做一些润色和设计,输出最终的产品视觉稿之后将视觉稿交付给前端工程师。在一些不细分交互设计师和视觉设计师的小公司,二者被统称为“设计师”,他们的职责就是负责整个用户界面的设计。

前端工程师:产品视觉稿在得到产品经理和交互设计师等多方确认之后,会交给前端工程师,由前端工程师制作页面,实现视觉稿以及交互功能。从头衔上的变化就可以看出,这时候才真正开始编码。前端工程师需要非常熟悉HTML、CSS和JavaScript,以及性能、语义化、多浏览器兼容、SEO、自动化工具等广泛的知识。

后台工程师:使用服务器编程语言,进行服务器功能的开发。在编程语言的选择上,很多公司都会出于团队已有成员的知识储备、程序员的供给量或者语言性能方面来进行选择。在这一方面,后台语言的选择是相对自由的一件事,不像前端工程师,为了页面兼容性,必须使用HTML和CSS。如果关注各大公司招聘信息的话,您就会了解,不同公司使用不同的后台语言,比如传统的C#C++、Java、PHP,或者新潮的RoR和Python。小公司的后台工程师除了负责功能开发,可能还会负责服务器的配置和调试、数据库的配置和管理等工作。在大公司,这些工作会分别委派给后台工程师、运维工程师、数据库管理员(DBA)等岗位。

运维工程师:运维工程师是跟服务器打交道的人,他会关注服务器的性能、压力、成本和安全等信息。

测试工程师:顾名思义,测试工程师保证产品的可用性,即使在小公司,这一职位也是不可或缺的。

备注:在项目管理中,经常会用到甘特图。甘特图(Gantt Chart)是柱状图的一种,显示项目、子项目、进度以及其他与时间相关的系统的进展情况。

2、技术的发展

提到全栈技术,不得不提一个代表性的全栈框架——MEAN,它是MongoDB-Express-AngularJs-Node.js的缩写,是从数据库、服务器到前端页面的一个完整技术栈。

MongoDB是一个面向文档的、NoSQL类型的数据库。MongoDB颠覆了传统的基于表的数据存储方式,而采取了类似JSON的文档结构来存储数据,因而它在储存数据时可以更加灵活。

Express是一个Node.js框架,可以创建灵活的Web服务,比如单页面应用程序、多页面应用程序和混合型App。

AngularJS是一个开源的JavaScript框架,由Google和开源社区共同维护,它用来创建单页面应用程序。它的目标是使用model-view-controller模式来规范Web应用程序,让开发和测试富交互的单页面应用程序变得更加轻松。

Node.js是一个运行在服务器端的JavaScript运行环境,它的底层是基于Chrome的JavaScript运行环境——V8引擎。Node.js可以作为服务器端语言,用来创建快速、可扩展的应用程序。Node.js也可以在本机运行,做一些本地操作,比如加速本地开发流程,或者实现一键发布。

MEAN可以说是传统的LAMP方案的有力竞争者。因为从服务器端到页面端都采用同样的语言(JavaScript)和同样的架构模式(MVC),所以一个擅长JavaScript的工程师可以兼顾前后端的开发,并且前端模板代码和后台模板代码是可以复用的。

3、提供PaaS服务的平台越来越多

随着Web技术的发展和开源社区的积极努力,有很多公司提供便宜又方便的一条龙服务,可以解决独立开发者的大量麻烦。

比如Amazon提供的PaaS(Platform as a Service,平台即服务),就可以让创业公司的开发者省去架设和维护服务器的麻烦。

而GitHub在2012年获得了一亿美元融资,也可以看出市场对代码托管市场的信心。可以预期,未来可能会出现越来越多为开发者提供服务的公司。以后,小公司也可以用更低廉的价格获得世界级的IT服务支持,毫无疑问,更多的IT服务将托管在第三方的服务器上。

VPS(Virtual Private Server,虚拟专用服务器)是把一台物理服务器虚拟成多个虚拟专用服务器的服务。每个VPS都可分配独立的公网IP地址,运行独立的操作系统,拥有独立的磁盘空间、内存、CPU资源、进程和系统配置,模拟出“独占”使用计算资源的体验。

4、一专多长

我跟一位行业专家讨论过全栈工程师的话题,他不是很赞同全栈工程师这个方向。他认为,工程师应该有专精的技能和目标,如果初学者贪图大而全,反而样样不精。我理解他的担心,如果一个工程师没有坚实的基础(比如专业理论知识,对常用设计模式的理解,或者特定职业的基础知识),那么了解的非本专业技能越多,越容易迷失。

所以我认为,全栈工程师首先要“一专多长”。一专多长的意思是,工程师首先有一个专精的方向,在这个方向上足够精通之后(高级工程师级别),以此为突破点去学习更多的知识,增加自己的长处。如果还没有获得某个方向上足够深入的理解,就不要囫囵吞枣地去学习其他领域的知识。

有些知识需要时间的积累,并不是快速阅读就可以掌握的。“全栈工程师”这个名词可能会引起读者的误解。勿在浮沙筑高台,“全栈”是一个长期积累的过程,是专精型工程师在不断解决问题的过程中积累知识和经验所形成的能力,而不是一蹴而就的过程。

5、解决问题,而不是醉心技术

公司存在的意义就是解决问题,公司要解决用户的问题,而员工要解决公司的问题。

公司的问题可能是降低成本、扩大用户群、增加成交量、优化性能,等等。不同的问题优先级不一样,投入同样的时间,有的项目能为公司增加上百万的收入,而有的项目却只能增加几万。

互联网领域发展很快,问题的优先级永远都是在动态变化的,所以团队往往每半年或者三个月就要回顾一下当前形势,并制定新的工作计划。如果新计划不是您擅长的,怎么办?您应该马上开始学习新的技术,这就是我说的关注问题,而不是醉心技术。

高级工程师可以选择往上下游去扩展自己的能力,并承担更多的责任,给公司带来更大的收益,也给自己带来更大的成长空间。程序员在小公司里主动去承担更多责任,自己跟公司都会获得相应的成长。在自由职业市场,全栈工程师是最闪耀的明星。全栈工程师还是天生的创业者。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1600

    浏览量

    70647
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    科技巨头疯狂抢人!年薪126万起,AI人才岗位暴增三倍

    的需求如何?一则公开的招聘信息显示,DeepSeek正在用百万年薪招AI人才。智联招聘的报告显示,2024年三季度企业招聘薪酬T20职业中,人工智能工程师的平均薪酬月薪高达2.19万元,超过芯片工程师、大模型
    的头像 发表于 02-14 01:26 6040次阅读
    科技巨头疯狂抢人!年薪126万起,AI人才岗位暴增三倍

    AI+嵌入式双赛道课程就位!从0基础到项目实战,硬实力拿offer

    、学完不会实战的难题上。别担心,华清远见的AI+大模型工程师实战课、嵌入式STM32工程师
    的头像 发表于 10-24 15:02 121次阅读
    AI+嵌入式双赛道课程就位!从0基础到项目实战,硬实力拿offer

    硬件工程师面试必会:10个核心考点#硬件设计 #硬件工程师 #电路设计 #电路设计

    硬件工程师
    安泰小课堂
    发布于 :2025年09月23日 18:00:33

    嵌入式 STM32 零基础入门:「降维打击式学习法」适配零基础,高效进阶工程师

    “黑盒子”,芯片内部的工作原理,看不见,摸不着,全靠死记硬背,抽象难理解!其次,嵌入式知识体系庞杂,只懂软件或只懂硬件,缺乏流程系统认知,知识碎片化!理论学一堆
    的头像 发表于 08-25 15:24 521次阅读
    嵌入式 STM32 零基础入门:「降维打击式学习法」适配零基础,高效进阶<b class='flag-5'>全</b><b class='flag-5'>栈</b><b class='flag-5'>工程师</b>

    没辞职、没报天价班,6个月AI学习的成绩单

    距离元宇宙AI线上学习平台正式对外招生快一年了,今天给大家分享一个真实而激励人心的学习故事。2024年12月底,一位学员加入了我们“人工智能工程师实战课”,在经过6个月的系统学习后,通过了
    的头像 发表于 07-04 10:37 381次阅读
    没辞职、没报天价班,6个月AI学习的成绩单

    怎么结合嵌入式,Linux,和FPGA三个方向达到一个均衡发展?

    在嵌入式领域,不少人都怀揣着让嵌入式、Linux 和 FPGA 三个方向实现均衡发展的梦想,然而实践中却面临诸多挑战。就像备受瞩目的工程师稚晖君,他从大学玩单片机起步,凭借将智能算法融入嵌入式而
    的头像 发表于 06-25 10:08 649次阅读
    怎么结合嵌入式,Linux,和FPGA三个方向达到一个均衡发展?

    开发进阶指南:LuatOS-log库从入门到实战!

    本文将带你深入探索LuatOS系统中log库的核心原理与实战技巧,通过代码示例解析日志管理、错误追踪及性能优化的最佳实践,助力工程师构建更稳健的物联网应用。 今天,我们一起来认识LuatOS
    的头像 发表于 05-15 16:12 2672次阅读
    <b class='flag-5'>全</b><b class='flag-5'>栈</b>开发进阶指南:LuatOS-log库从入门到实战!

    解锁LuatOS-log库:工程师的日志管理实战课!

    针对开发者设计的实战教程,本文聚焦LuatOS平台log库的高效使用,从基础配置到高级调试策略,手把手教你搭建可扩展的日志系统,提升项目维护效率。 今天,我们一起来认识LuatOS的log库
    的头像 发表于 05-12 15:23 1314次阅读
    解锁LuatOS-log库:<b class='flag-5'>全</b><b class='flag-5'>栈</b><b class='flag-5'>工程师</b>的日志管理实战课!

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    STM32虚拟仿真系统:零基础小白到嵌入式工程师的进阶秘籍

    在嵌入式开发领域,硬件原理的抽象性和项目流程的复杂性一直是初学者面临的挑战,尤其是像STM32单片机开发这种软硬件结合的方向,初学者很容易被复杂的硬件知识、寄存器配置、PCB设计这些东西劝退
    的头像 发表于 03-12 11:46 1046次阅读
    STM32虚拟仿真系统:零基础小白到嵌入式<b class='flag-5'>全</b><b class='flag-5'>栈</b><b class='flag-5'>工程师</b>的进阶秘籍

    【嵌入式学习利器】STM32流程虚拟仿真系统,零基础小白到软硬件工程师的修炼之路

    在嵌入式开发领域,硬件原理的抽象性和项目流程的复杂性一直是初学者面临的挑战,尤其是像STM32单片机开发这种软硬件结合的方向,初学者很容易被复杂的硬件知识、寄存器配置、PCB设计这些东西劝退
    的头像 发表于 03-11 16:20 141次阅读
    【嵌入式学习利器】STM32<b class='flag-5'>全</b>流程虚拟仿真系统,零基础小白到软硬件<b class='flag-5'>全</b><b class='flag-5'>栈</b><b class='flag-5'>工程师</b>的修炼之路

    底层开发与应用开发到底怎么选?

    。 应用开发:适合希望快速积累项目经验、注重职业晋升和转型的人。职业路径可能包括工程师、产品经理等。 3. 评估技术能力 如果你已经掌握了C/C++等底层语言,对硬件有一定了解,底层开发是一个
    发表于 03-06 10:10