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

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

3天内不再提示

如何看待全栈工程师

工程师人生 来源:工程师吴畏 2019-03-21 10:54 次阅读

我敢打赌,没有人可以凭借一己之力掌握下图这些领域不断更新的先进知识。单单是紧跟每个类别中的进化和新的编程接口,就几乎是一个全职的工作量。

如何看待全栈工程师

在Web 2.0时代,全栈工程师是可能的,但是随着新一代创业公司的兴起,推动了各种技术的边际突破。从机器智能到数据分析、再到可穿戴/移动设备,让一个程序员个体实现跨全栈编程实际上变得不现实了。

在还没有移动和Web的上世纪七十年代后期,通常是一个人从头到尾写全部的程序,在程序员和硬件之间并没有很多其他的软件层。8位处理器和内存非常有限的机器,迫使程序员使用规范的汇编语言。

随着上世纪80年代末和90年代初客户机/服务器处理(client/server computing)的演进,以及90年代末20世纪初互联网浪潮的来临,编程应用很快成为一项团队行为。新技术的每一面都是如此复杂,以至于需要专门的专家,即一个人精通好几层(如前端/数据库/应用服务器等)。维护一个商业网站成为一门专业,包括操作网络设备(e.g.路由器和负载平衡器等),调整Java虚拟机,以及使用各种数据库索引机制。

到了21世纪中期,创造几乎任何东西,从简单的网站到下一代SaaS服务,都十分地昂贵。上涨的费用直接与从各个层相关的许多个人之间的开销通信(并且经常错过通信),以及在一层级联到其它层和成部署参数的改变有关。正如Marc Andreessen(网景创始人,现风投)在Twitter上刷屏讨论烧钱问题时说:「大量员工将使通信效率呈指数式下降,导致所有一切速度放慢。」(More people multiplies communication overhead exponentially, slows everything down.)

另一方面,创造新一代Web 2.0网站的技术越来越精简和简化。程序员从使用复杂的企业级Java堆栈和数据库(e.g.Oracle),切换到更直接的LAMP组合(Linux操作系统,Apache,MySQL和PHP/ Python/Perl)。新的语言和框架(e.g.Diango和Ruby on Rails)使得网站和数据库之间的层自动化。前端框架(e.g.jQuery)帮助简化了不同浏览器之间错综复杂的关系。云服务(e.g.Amazon Web Services)简化了部署,提供了钥匙网络

到21世纪后期,对许多程序员来说,提供一个完整的消费者或SaaS的网站成为可能,包括一个动态的Web客户端,服务器端的业务逻辑,一个可伸缩的数据库,部署和运营支持。这种新品种的全栈工程师可以和一支团队一样完成整个任务的环。当这个项目做大了,全栈工程师可以实现一个人在应用的所有层加一个功能,这样就减少了和不同层的人沟通的通信成本,从而加速功能交付。

如果你建的网站是上面这样的全栈模型,找到全栈工程师可以有效地解决问题。但是现如今,我认为,这并不是够格的全栈工程师。第一张图才是更全面的全栈。

我们正处在向更多复杂科技迅速转型的中期,随着时间的流逝,在每一层都需要专家。开发优秀的iOSAndroid应用需要理解这些平台错综复杂的专家。在实际操作中,转向新的数据库,比如MongoDB,需要不断的关注和调整。在云服务(e.g.Amazon)上运行一个应用需要了解它的各种服务的细节,以及如何实现跨区域故障转移的专业知识。即便是古老的Web前端,现在都演变成CSS4、JSON和JavaScript的MVC框架,比如Angular.js和Backbone.js。

在这个全新的世界中,关键是至少有这样一个人:对每一个部件都至少有功能性的了解,同时可以把不同的层连接起来,和不同领域的专家一起合作,从而最终实现某个功能。在这种意义上,这些连接层、建桥的软件工程师,即精通某一层或好几层的专家,就是比全栈工程师少一点,比全栈综合者(Full Stack Integrator)多一点儿的人。

总之,「全栈工程师」,可以安息了。在无限广阔的未来,我们欢迎在某一特定领域有深入技术见解的「全栈综合者」!

100offer的用户是怎样看「全栈」的?

用户背景

周瑾(化名),7年以上开发经验,国内一本毕业,BAT资深研发工程师,具备多个大型平台前端架构设计开发经验,有iOS、MAC开发经验,有移动Web开发经验,精通NodeJS,熟悉后端开发的流程和技术面,具备全栈开发能力。团队管理经验丰富。在5月第3期拍卖中收获37个面试机会,现已入职北京某创业公司。

100offer:普通程序员如何向全栈发展?

周瑾:我认为工程师可以分为两种:一种喜欢钻细一个东西,然后以此为生;还有一种喜欢不断折腾,需要去满足自己了解未知的欲望。拿我自己来说,我属于后者。我有创业经历,也做过大公司的螺丝钉。螺丝钉其实满足不了我对技术的兴趣,所以在工作过程中我在不断寻找自己的技术边界,并试图打破它。就这样,技术开始变得一点点全面起来。

全栈绝对是自我驱动的一个过程,我其实是在不知不觉中会了这么点东西,变成了所谓的「全栈」似的。业界的高手多得很啊^^

100offer:全栈工程师适合创业公司,还是大公司?

周瑾:创业公司比较喜欢招全栈,这和创业公司的需求有关系,因为创业初期的公司可能需要一个人做几个人的活。另外,可能老板是技术出身,了解部门之间衔接所需要付出的巨大沟通成本,所以倾向于更少的沟通单位。

其实大公司也不错,大公司有更人性化的工作时间,且稳定,一般情况下是不会让员工的工作饱和到满(当然有些个别组很过分)。在大公司的时候,我完成了自己的工作,喜欢折腾什么就折腾什么,然后你觉得自己可以了就可以申请转岗成其他职位(当然这里也要自己承担角色转换带来KPI问题,毕竟换了领域就是一个新兵了嘛)。

总之,全栈不应该是对所有技术浅尝辄止,而是一专多能或多专多能。无论是自己去创业,还是放到固定岗位上都能大放异彩。

100offer:全栈工程师有什么优势呢?

周瑾:我其实不怎么觉得全栈有优势,我只能说能看到这种人身上的一点点共性。视野,思维和学习能力确实有点优势,但我认为共性是性格上的。我接触到的在互联网行业跨领域性的人,其实都比较单纯,或者说编程对于这类人来说不是一种谋生途径而是一种个人兴趣。

我觉得全栈更多的是自己对纯技术的渴求,深入任何一个技术领域都是很细致的一件事,全栈与否更多的是一种经验上量变到质变的过程。

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

    关注

    59

    文章

    1569

    浏览量

    68495
收藏 人收藏

    评论

    相关推荐

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    用二创,1:1复刻工程师的职场现状

    工程师
    扬兴科技
    发布于 :2024年07月19日 18:30:07

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

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的一种专业工程师,他们主要负责设计和开发嵌入式软件,
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    工程师必掌握的10种精密波整流电路,你都吃透了吗?

    工程师必掌握的10种精密波整流电路
    的头像 发表于 03-12 19:45 5496次阅读
    <b class='flag-5'>工程师</b>必掌握的10种精密<b class='flag-5'>全</b>波整流电路,你都吃透了吗?

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

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

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00

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

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

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

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