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

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

3天内不再提示

为什么全栈工程师会存在争议

工程师人生 来源:wv 作者:简书网 2019-10-11 16:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

如何成为一名全栈工程师(full stack developer)?互联网最热的话题之一。LinkedIn, Facebook上标榜自己是全栈工程师的人也越来越多,似乎正在成为IT行业的新潮流和新趋势。Full Stack的概念早已不新鲜,广大开发人员之间对”全栈”类话题的讨论也从未停止。曾经看到过一篇关于全栈设计师的文章,毁誉参半。有的人认为全栈只是一个头衔而已,真正的还是看个人的能力和技术。

中国有句老话:鱼和熊掌不可兼得。而类似全栈工程师,全栈设计师这类的职业,似乎正在挑战这一可能性。因为他们横向发展的技能树赋予了他们鱼和熊掌兼得的能力。而国外对于全栈型人才,有这么一个说法:Jack of all trades, but master of none. 翻译成中文就是无所不能便一无所精。如何避免成为广而不精的全栈工程师,是广大想要成为全栈设计师朋友们需要深入考虑的一个问题。

本质上来讲,这个话题其实是对互联网行业“技多”是否等于“全栈”,“深度”和“广度”哪个更重要的一场深层次的讨论。

1.什么是全栈工程师?

全栈工程师,也叫全端工程师,英文Full Stack developer,是指掌握多种技能,并能利用多种技能独立完成产品的人。

Quora上有人提出了这个问题,其中一个高票回答是:

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

其实,“全栈”指的是为了完成一个项目,所需要的一系列技术的集合。“栈”是指一系列子模块的集合。这些软件子模块或者组件组合在一起即可实现既定功能,不再需要其他模块。

2.为什么全栈工程师会存在争议?

上面提到过,全栈工程师的争议在于对技能深度和广度的探讨。特别是在OSCON会议上,一名Facebook的工程师说他们只聘请“全栈(Full stack)的程序员。”此话题一出,更引起了大家对成为全栈工程师的优势与劣势的热烈讨论。

优势:全栈工程师的技术发展是横向的,涉猎技术很广,能快速的运用他所掌握的技术知识开发出产品原型。因为他们视野更宽阔,思维更活跃,对技术和产品都十分敏感,对于任何技术或设计,他总是有话可说。可以对团队中的每一个人都提供有益的帮助,能大大减少团队人员沟通、技术对接的时间和技术成本。所以他们当中,很多人成为了创业者或者在创业公司担任技术合伙人。

劣势:正是由于横向的技术发展,导致全栈工程师往往博而不精。大多数自称为“全栈”的工程师,都停留在一种浅尝辄止的“略懂”的境界。至于具体如何实现,如何让架构更适合后面阶段的模块化开发,那就真不知道了。

3.即便如此,仍有人在问,如何成为全栈工程师?

一个合格的全栈开发人员应具有在构建应用程序时涉及的所有方面的功能知识和能力。

1) 掌握多门编程语言

你需要精通多门编程语言,JAVA 、PHP、C#Python、Ruby、Perl 等,因为你的大多数核心业务处理都需要用这些语言来写。你既要掌握这些语言的语法,又需要非常熟悉如何基于这些语言进行项目的架构、设计、实现以及测试。

2)运用开发框架和第三方库

流行的开发语言,一般都伴有出色的开发框架,比如JAVA的Spring、MyBatis、Hibernate,Python的Django,PHP的 thinkphp、yin,nodeJs的 express 等等。

3)前端技术

前端技术在今天的项目和产品研发过程中变得愈加重要。除了实现产品功能,用户体验也是检验产品是否成功的标准之一。而这都依赖于前端技术的实现,你至少需要掌握 HTML5、CSS3、JavaScript 等基本前端技术,同时进一步学习 JQuery、LESS、SASS、AngularJS或REACT等前端框架或第三方库。

4)数据库与缓存

任何产品或项目都需要一个数据库来存储数据。作为全栈工程师,你也需要至少掌握一到两个数据库,并知道怎样与数据库进行交互。目前流行的数据库主要有MySQL、MongoDB、Redis、Oracle、SQLServer等。MongoDB作为文档型数据库,在互联网产品中正被越来越多地使用,对于规模稍大一些的项目,我仍推荐使用MySQL或商用的Oracle作为后端数据库。而Redis这样的内存数据库则可以用于缓存,以提升系统的性能。

5)基本设计能力

大部分关于全栈工程师的文章或讨论中都很少涉及到设计能力的要求。但我却认为这项技能非常重要,基本的原型设计,UI设计,UX设计都是需要了解的。

6)除了良好的开发技术知识,自我要求也是全栈工程师必备的因素:

全局性思维

良好的沟通能力

创造力

好奇心

时间管理能力

总结

根据格拉德威尔的一万小时定律,希望熟练的掌握前端、后端、客户端方向的知识内容,每天都花时间来钻研也得花10年左右的时间。所以,全栈工程师决不是一夜练成的,你需要打好技术基础,强化核心技能,并持续学习才能应对更多的挑战。

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

    关注

    59

    文章

    1600

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    做了电子工程师之后,最好拍的视频出现了#硬件设计 #电子DIY #电子工程师

    电子工程师
    安泰小课堂
    发布于 :2025年06月24日 17:45:57

    新编电气工程师手册

    新编电气工程师手册,一款最新的、最全面的电气知识手册。 手册1522页。共五篇、四十六章。 该手册不愧为对从事电气专业的所有人员都实用的一部非常好的工具书。不用再一册一册地找了,内容丰富,有图有
    发表于 06-03 16:26

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

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

    (仰天长啸)为什么受伤的总是硬件工程师...#MDD#MDD辰达半导体 #电子工程师

    电子工程师
    MDD辰达半导体
    发布于 :2025年04月27日 18:21:47

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

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

    Allegro工程师能力升级建议 工程师技能如何升级进阶

    根据Cadence认证体系及中国企业需求,Allegro工程师能力分三级,分别是初级、中级、高级工程师。那么这三种工程师技能如何升级进阶?   1、初级工程师(Layout基础) ①六
    的头像 发表于 03-31 11:39 1305次阅读

    硬件工程师:回答我!#回答我 #硬件工程师 #YXC晶振 #扬兴科技

    硬件工程师
    扬兴科技
    发布于 :2025年03月25日 18:46:59

    一招拿捏电子工程师#被AI拿捏了 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    焊板子前,焊板子后,硬件工程师居然两幅面孔!# #电工 #电路知识 #电路原理

    硬件工程师
    MDD辰达半导体
    发布于 :2025年01月07日 18:15:30

    笑死,掌握一眼识别资深硬件工程师的诀窍了!# #电路知识 #电工 #硬核拆解

    硬件工程师
    MDD辰达半导体
    发布于 :2024年12月20日 17:48:17