热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

全栈工程师在当今技术领域的角色与价值探析

当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。

现在越来越多的创业公司都想找全栈工程师,因此市场上就出现了很多伪全栈工程师,特别是学会了Node的前端工程师,前端工程师会Node就全栈了?这严重不符合我对全栈工程师的理解,这篇文章我主要是说下我对全栈工程师的个人看法。在我眼里,全栈工程师是下能玩硬件和驱动,上能写网页和js,中间能玩转服务器和数据库,没事还能自己做个安卓或iOS App, 对IT系统有着全面深刻的理解,熟悉所负责项目的整体技术栈。
我认为全栈工程师的特质应该有以下几个:强大的解决问题能力;广博的知识面,快速学习能力,不给自己设限,主动学习新技术;熟悉多种编程语言,熟悉整个系统从上到下的技术实现。

无人机之父拉菲罗·安德烈

强大的解决问题能力

我觉得强大的解决问题能力是全栈工程师最重要的素质,也是全栈工程师的核心能力。
全栈工程师的解决问题能力,应该不局限于软件研发中碰到的技术问题,范围可以扩展到工程和科学相关的问题。这一点我们要向国外的极客大神们学习,国外很多极客具备硬件,软件,网络和人工智能等领域的全方位能力,例如无人机领域的大神拉菲罗·安德烈。亚马逊运营中心里酷炫的、数以万计的Kiva机器人,就出自他手。公司被亚马逊收购后,这位“疯狂”的科技极客把注意力投向了无人机领域,三年时间研制出全球首个全向无人机。2015年获得“电子工程领域的诺贝尔奖”的IEEE机器人和自动化国际会议大奖,被人称为成为无人机之父。

在软件开发过程中所遇到的问题,真正的技术问题只占一部分,很多问题可能是工程或管理方面的问题。全栈工程师善于用全领域的知识积累从更本质的层面上找到解决问题的办法,而不是局限于某一种技术上寻求解决方案。例如前段时间遇到的HTML5 Hybrid App在某些安卓手机上兼容问题,最终的解决方案就是修改js代码,而是直接把Cordova的webview内核换成了腾讯X5内核,这个如果没有全栈技术能力是不可能做到的。

快速学习能力,不给自己设限,主动学习新技术

全栈工程师应该时刻保持开放的心态,主动学习新技术,能够快速进入新技术领域。广博的知识面有助于通过类比和知识迁移的方式,提高学习掌握新技术的速度。
例如做Java Web后端可以去熟悉前端开发的技术。做安卓开发的可以去学习iOS开发。做iOS的可以去学习下HTML5移动开发,研究下js。
我们现在计算机体系其实都是相通的,不同的编程语言体系,不同的操作系统平台,同样的任务或技术架构的处理方式可能是类似的,因此全栈工程师
现在我们已经进入了移动互联网的下半场,未来的大趋势是人工智能,全栈工程师对于人工智能,机器学习,深度学习等领域也要尽早准备学习了。

熟悉多种编程语言,熟悉整个系统从上到下的技术实现

我个人认为全栈工程师至少要熟悉5种编程语言,工作中不能只用一种特定编程语言。
现在TIOBE排行榜上主流的编程语言Java, C/C++, C#, Python, Javascript, PHP,Ruby,OC等都应该熟悉,Groovy,Scala,Go,Swift,Kotlin等相对比较新的编程语言也应该熟悉或了解几种。这样就可以根据具体情况(项目特质和团队情况)选择合适的技术栈,而不是整个系统只能用一种语言完成。当然了,大的项目具体的代码肯定应该由团队分工合作完成,但全栈工程师还是应该对项目整个技术栈具备一定的掌控力。
做Java Web应用的全栈工程师,应该熟悉Java,Javascipt,CSS,HTML,SQL,XML等常用语言,并且熟悉常用的前后端技术框架,例如Spring,JPA,Mybatis,Jquery,AngularJs,React等。用PHP,Python,Ruby,微软.net等技术栈做Web应用的应该也类似。
做移动互联网应用的全栈工程师,应该熟悉Android,iOS开发或微信开发,以及服务器端接口的开发,这样才能做到沟通无障碍。

全栈工程师的钱景和前景

成为一名真正的全栈工程师需要经过长期的持续学习和不断折腾,其中的甘苦只有自己知道。但和数年坚持一个领域的专家型人才相比,在薪酬方面全栈工程师可能并没有优势,这是可以理解的,因为在就业市场上,特别是像BAT这些比较大的公司,倾向于给行业顶级水平的人才很高的报酬,这符合赢者通吃的社会法则。而全栈工程师,由于关注和学习的领域太多,有限的精力必然被分散,导致在某个特定领域会比不上领域专家,因此在职业生涯早期和中期并不容易拿到足够高的收入。

从长期回报看,全栈工程师在架构师,CTO,技术合伙人等高端技术职务上会比领域技术专家更有优势,全面的技术背景有助于做出更加全面客观的技术架构和决策,从而对所在组织产生很大的正面影响。

对于创业公司,全栈工程师发挥空间会更大,多面手的特长可以帮助团队快速完成早期技术产品,成为公司创始人或技术合伙人,发展前景会很大。每一个全栈工程师,都有过一个创业梦。能否创业成功,在于是否有足够的勇气,综合能力和机遇。

真正的全栈工程师,对新技术有着强烈的好奇心,敢于不断地走出自己的舒适区,勇敢进入新的技术领域!


推荐阅读
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文探讨了如何在编程中正确处理包含空数组的 JSON 对象,提供了详细的代码示例和解决方案。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 从2014年,北美市场上正式听到SD-WAN这个用词,发展至今,全球装机量已达到10万个节点。国内对于SD-WAN这个“新宠”࿰ ... [详细]
  • 前言作为一个移动端初学者、爱好者,能使用前端技术开发原生游戏一直是一件渴望而不可及的事情,暂且不说游戏逻辑的复杂度,算法的健壮性ÿ ... [详细]
author-avatar
依喜若_138
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有