当前位置: 首页 > 科技观察

为什么不需要做全栈工程师

时间:2023-03-12 19:19:29 科技观察

所谓的“全栈工程师”,对所有技术都有品味,已经OUT了,那么现在,我们需要什么样的跨领域技术集成商?我敢打赌,没有人能够掌握如下所示领域中不断更新的高级知识。仅仅跟上每个类别的发展和新的编程接口几乎是一项全职工作。Web2.0时代,全栈工程师成为可能,但随着新一代创业公司的崛起,推动着各种技术的边际突破。从机器智能到数据分析,再到可穿戴/移动设备,靠一个程序员个人实现跨全栈编程其实是不现实的。在20世纪70年代后期,在移动和网络出现之前,一个人通常从头到尾编写整个程序,程序员和硬件之间没有太多其他软件层。8位处理器和内存非常有限的机器迫使程序员使用规范的汇编语言。随着20世纪80年代末和1990年代初客户端/服务器计算的发展,以及1990年代末和2000年代初互联网的出现,应用程序编程迅速成为一项团队活动。新技术的方方面面都非常复杂,需要专门的专家,也就是一个人精通好几层(如前端/数据库/应用服务器等)。维护一个商业网站成为一种职业,包括操作网络设备(如路由器和负载均衡器等),调优Java虚拟机,使用各种数据库索引机制。到2000年代中期,创建任何东西,从简单的网站到下一代SaaS服务,都非常昂贵。不断增加的成本直接与来自不同层级的许多个人之间的开销通信(并且通常是错过的通信)相关,以及在一层级联到其他层级和部署参数的变化。正如马克·安德森(网景创始人,现风险投资)在推特上刷屏讨论烧钱问题时所说:“大量的员工会让沟通效率成倍下降,导致一切都变慢。”(更多的人使通信开销成倍增加,一切都变慢了。)另一方面,创建新一代Web2.0站点的技术越来越精简和简化。程序员从使用复杂的企业级Java堆栈和数据库(例如Oracle)转向更直接的LAMP组合(Linux操作系统、Apache、MySQL和PHP/Python/Perl)。新的语言和框架(例如Diango和RubyonRails)自动化了网站和数据库之间的层。前端框架(例如jQuery)有助于简化不同浏览器之间的复杂性。云服务(例如AmazonWebServices)简化部署并提供关键网络。到21世纪后期,许多程序员可以提供完整的消费者或SaaS网站,包括动态Web客户端、服务器端业务逻辑、可扩展的数据库、部署和运营支持。这种新型的全栈工程师可以作为一个团队完成整个任务周期。当项目做大时,一个全栈工程师可以一个人给应用的所有层级添加一个功能,减少了与不同层级人员沟通的沟通成本,从而加快了功能交付。如果你搭建的网站是像上面这样的全栈模式,找一个全栈工程师可以有效解决问题。但是现在,我认为,这对于全栈工程师来说是不够的。第一张图是比较全面的fullstack。我们正处于向更复杂技术的快速过渡之中,随着时间的推移,每一层都需要专家。开发出色的iOS和Android应用程序需要了解这些平台复杂性的专家。在实践中,迁移到一个新的数据库,比如MongoDB,需要不断的关注和调整。在云服务(例如亚马逊)上运行应用程序需要了解其各种服务的细节,以及如何实施跨区域故障转移的专业知识。即使是古老的Web前端现在也正在演变为CSS4、JSON和JavaScriptMVC框架,例如Angular.js和Backbone.js。在这个全新的世界里,关键是至少有一个人对每个组件至少有功能性的理解,可以连接不同的层次,与不同领域的专家合作,最终实现某个功能。从这个意义上说,这些层层衔接、架起桥梁的软件工程师,也就是精通某一层或若干层的专家,是比全栈工程师差一点,比全栈集成商高一点的人(全栈集成商)。.总之,“全栈工程师”,你可以高枕无忧了。在最美好的未来,我们欢迎在特定领域有深入技术洞察力的“全栈集成商”!100offer用户如何看待“全栈”?用户背景周劲(化名),7年多开发经验,国内某某毕业,BAT高级研发工程师,拥有多个大平台前端架构设计开发经验,iOS、MAC开发经验,移动Web开发经验,精通NodeJS,熟悉后端开发的流程和技术方面,具备全栈开发能力。有团队管理经验。5月在三期竞拍中获得37个面试机会,现已加入北京一家创业公司。100offer:普通程序员如何发展到全栈?周进:我觉得工程师可以分为两种:一种是喜欢把东西钻得很细,然后以此为生;对于我自己来说,我属于后者。我有创业经历,也曾在大公司当过螺丝钉。螺丝钉其实并不能满足我对技术的兴趣,所以我一直在寻找自己的技术边界,并在工作的过程中试图打破它们。就这样,技术开始变得有点全面了。全栈绝对是一个自我驱动的过程。居然不知不觉就学会了这么一个东西,就成了所谓的“全栈”。业内专家多如牛毛^^100offer:全栈工程师适合创业公司还是大公司?周进:创业公司更喜欢招全栈公司。这跟创业公司的需求有关系,因为创业初期的公司可能需要一个人做几个人的工作。另外,老板可能有技术背景,明白部门之间的联系需要巨大的沟通成本,所以他的沟通单位往往较少。其实大公司也不错。大公司的工作时间比较人性化,也比较稳定。通常情况下,他们不会让员工工作饱和(当然,有些个别群体太多了)。我在大公司的时候,工作做完了,想干什么就干什么,然后你觉得可以就可以申请跳槽(当然要承担带来的KPI问题)关于角色转换,毕竟Domain只是一个新人)。总之,全栈不应该是尝遍所有的技术,而是一门多才多艺或者一门多才。无论是自己创业,还是放在固定位置,都能发光发热。100offer:全栈工程师有什么优势?周进:其实我真的不觉得全栈有优势。我只能说,我在这种人身上看到了一点共性。眼界、思维和学习能力确实有一些优势,但我觉得共性是性格。我在互联网行业接触过的跨界人士其实都比较简单,或者说编程对这类人来说并不是谋生手段而是个人兴趣。我觉得全栈更多的是我对纯技术的渴望。深入到任何一个技术领域,都是一件非常细致的事情。是不是全栈,更多的是体验上从量变到质变的过程。