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

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

3天内不再提示

一名优秀的全栈工程师应当具备哪些素质?

工程师人生 来源:网络整理 作者:工程师吴畏 2018-08-13 15:42 次阅读

最近网上在热烈讨论一则传闻,说Facebook在招聘所谓的“全栈工程师”(Full Stack Engineer),要求应征者对开发堆栈的每个方面都有所掌握。那究竟何为 “全栈工程师”呢?从字面上来理解,全栈工程师必须熟悉开发堆栈的每一个层次,或者至少熟悉绝大多数并且对所有的软件技术有天生的热情和兴趣。

对于这样的开发者,他们非常擅长使用掌握的技术让自己的生活变得轻松,这也正是为什么Facebook会希望雇佣他们,他们用自己的脑子与热情编码, 好的产品也自然能在最短的时间呈现。那么,具体而言,一个合格的“全栈工程师”要具备哪些素质呢?

开发堆栈剖析

服务器,网络以及宿主环境

需要理解哪些模块可能失效以及为什么,而不能理所当然地认为,只要不断增加资源就能解决所有问题。

知道如何运用操作系统、云存储、网络资源,并能理解数据冗余以及可用性是必需的。

了解应用的规模是如何对硬件造成限制的。

还有多线程和竞态条件,这些概念在开发机上往往不会遇到,但是他们在现实的部署环境中却无处不在。

全栈工程师还必须要能够与DevOps很好地协作。他们所设计的系统应该提供有用的错误消息和日 志能力,这样DevOps就能够及时获得这些信息,并采取有价值的行动。

数据建模

如果数据模型存在缺陷,那么就常常需要在业务逻辑和更高的层面上使用丑陋的代码来弥补那些数据模型没办法覆盖的死角。

知道如何建立合理的范式关系模型,具备完善的外键、索引、视图、查询表等等。

还要熟悉非关系型数据的存储,知道非关系型数据库在哪些方面超越关系型数据库。

业务逻辑

这是系统应用价值的关键所在。

掌握SOLID设计能力(单一职责,开放且封闭,Liskov替代性,接口分离,依赖注入)。

熟悉一些常用的框架。

API/Action/MVC

这些关乎外部世界如何与业务逻辑及数据模型交互。

会使用到大量的框架。

有能力写出清晰、一致、使用简单的接口。

用户界面

全栈工程师需要:a)懂得如何构建易读的布局;b)能意识到艺术家和图形设计师的作用。总之,实现一套好的视觉设计方案尤为关键。

熟练掌握HTML5/CSS。

从目前的趋势来看,JavaScript将会是明日之星,最近这一领域硕果累累(NodeJs, backbone, knockout, Angular(自己的加的, 原文没有))。因此,掌握JavaScript必不可少。

用户体验

全栈工程师应该意识到:用户仅仅是希望一切运转良好。

一个好的系统是不会让用户得腕管综合征或产生眼疲劳的。全栈工程师能审视全局,可以将一个需要8次点击+3个步骤的过程,简化为仅需要一次点击。

知道如何向用户提示错误信息。如果出现故障,真诚道歉。有时一些无意的错误信息,会让用户感到莫名奇妙。

理解用户和市场需求

这层关系到系统架构,但也绝不是一个不能碰的角色(有可能翻译有误,原文:but that is too much of a hands off role)。

全栈工程师要领悟客户使用软件过程中会需要些什么以及整个市场需要些什么。

其他方面

能写出高质量的单元测试,时至今日,甚至连JavaScript都能写出单元测试了。

知道如何使用可重复的自动化工具来构建系统、测试、撰写文档以及按需部署。

系统的安全意识非常重要,要知道,开发堆栈中的每一层都可能存在薄弱环节。

总结

将代码与某个特定的实现(无论是软件库,操作系统,硬件,等等)紧绑在一起并不是好的实践。全栈工程师虽然学术渊博,但不意味着他们能抄 捷径,除非他们是在开发一个建完即扔的一次性原型。

技术型的创业企业在初期为了满足灵活性,对全栈工程师的需求比较大,但是,随着企业的成熟,会需要越来越多的专业型人才。

要成为一名全栈工程师,至少要使用过多种编程语言在各种领域的不同平台工作多年。全栈工程师除了像“高级工程师”那样要掌握多门编程语言, 还必须具有更高的视野将所有的模块联系起来。值得注意的是,在以上列表中,仅有3——5项是与编码有关的。

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

    关注

    59

    文章

    1570

    浏览量

    68516
  • Facebook
    +关注

    关注

    3

    文章

    1429

    浏览量

    54745
收藏 人收藏

    评论

    相关推荐

    电力电子工程师拿到50W以上的年薪需要具备哪些技能

    高薪电力电子工程师需要具备的技能
    的头像 发表于 11-05 09:44 303次阅读
    电力电子<b class='flag-5'>工程师</b>拿到50W以上的年薪需要<b class='flag-5'>具备</b>哪些技能

    如何成为一名优秀的天线微波工程师?前华为终端天线负责人访谈来了

      点击文尾阅读原文查看 作者 | 程胜祥  仿真秀特邀专家 首发 | 仿真秀App 导读: 大家好,我是程胜祥,92年毕业于西安电子科技大学微波技术与天线专业。曾在华为公司负责华为公司所有研究所的手机、固定台、无线上网卡天线的研发工作。在中兴通讯天津研究所任天线和RFID标签开发部部长。在小米公司,于2014-2020独立负责整个公司电视类、音响类产品天线及无线性能。在清华大学,指导博士和硕士进行天线相关科研工作。在香港回归、澳门回归交
    的头像 发表于 07-03 08:44 571次阅读
    如何成为<b class='flag-5'>一名优秀</b>的天线微波<b class='flag-5'>工程师</b>?前华为终端天线负责人访谈来了

    嵌入式软件工程师如何提升自己?

    嵌入式软件工程师如何提升自己? 作为一名嵌入式软件工程师,在这个充满机遇和挑战的领域里,如何提升自己显得非常重要,它决定了你未来的发展方向和成就。接下来,我们起探讨
    发表于 06-12 11:20

    索尼诚邀软件工程师参与PS免费手游平台设计

    据悉,近日,澳大利亚知名媒体TweakTown发现,索尼互动娱乐正在为其旗下的PlayStation Studios Mobile招募一名资深的软件工程师,负责设计PlayStation的免费手机游戏平台。
    的头像 发表于 05-23 17:08 726次阅读

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的种专业工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #威廉希尔官方网站 知识 #面试题

    电子工程师威廉希尔官方网站
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    单片机如何通过代码控制硬件:一名工程师的分享

    今天跟大家聊聊单片机是怎样通过代码来操控硬件的。作为一名单片机工程师,我们平时的工作就像是给单片机编写“指令集”,让它按照我们的意图去驱动各种硬件设备。
    的头像 发表于 03-06 14:46 1487次阅读
    单片机如何通过代码控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程师</b>的分享

    OVP过压保护芯片:为何电子工程师需要它?功能、作用解析

    OVP过压保护芯片:为何电子工程师需要它?功能、作用解析
    的头像 发表于 03-06 10:27 6132次阅读
    OVP过压保护芯片:为何电子<b class='flag-5'>工程师</b>需要它?功能、作用<b class='flag-5'>全</b>解析

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    优秀电源工程师需要哪些必备技能?

    就带大家细数优秀电源工程师具备的那些技能。、新手必备课程成为一名电源高手需要扎实的理论基础
    发表于 01-29 11:29

    【2023电子工程师大会】单片机/RTOS/Linux工程师

    【2023电子工程师大会】单片机/RTOS/Linux工程师修炼之路ppt
    发表于 01-03 16:31 45次下载