程序人生 - “全栈”这个概念坑害了多少开发者

简介: 程序人生 - “全栈”这个概念坑害了多少开发者

全栈”这个概念坑害了多少开发者

技多不压身,这么一个传统观念充斥着每一个行业希望进取进步的人们,当然包括了互联网行业。作为互联网行业“技多”的头号标签就是“全栈”,作为公司之中的技术负责人,“深度”和“广度”哪个更为重要,一直是一个争论不休的话题。最近我和朋友也对此有些争论,这里反跟大家分享一下。我们先看看:

全栈的定义是什么? 度娘给出的答案是:

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

相信很多人不认同此观念,但是不得不说,绝大多数的开发者都以此为目标。近段时间在工作中,频繁的与同事聊到这个话题,也让我深思了一下。

何为“全栈”工程师?

以实现一个电商APP作为例子:

  • 使用Java之中的maven项目管理,以Spring + SpringMVC + MyBatics作为服务端框架,以RestFULL形式提供API接口。数据存储使用MySQL,使用Redis作为缓存加速。刚开始可能由于不够熟悉运维,设备云服务都在阿里云和七牛上购买现成的。将整个需要制作的需求全部理清楚,API接口开发完毕之后。可以开始书写前端和客户端逻辑了。
  • JavaScript对于每个后端的开发者都是一个较为头痛的问题,好在与朋友咨询过,前端页面使用Google的AngularJS作为MVVM框架,使用Bootstrap作为UI,使用Gulp作为整个项目的打包工具。调用之前自己封装的接口,终于能够出现一些商品展示页面了。
  • 这个时候开始书写客户端了,Android客户端开发之中在github上淘了一些华丽的第三方控件,使用OkHTTP、Retrofit作为网络框架,EventBus作为整个APP中的事件流传递系统。配置使用Gradle并使用第三方的360加固保护自己的APP。iOS开发使用AFNetworking作为网络框架,JSONKit来解析协议之中传输过来的JSON。等~

左青龙,右白虎,老牛在腰间,龙头在胸口。人挡杀人,佛挡杀佛的不叫全栈工程师,而是一个公司之中的救世主。他凭借一己之力,减少了公司内部的沟通成本,人员招聘成本,帮助画饼的CEO,把饼变成了现实。对于这样,我只能说“请收下我的膝盖~!”。

然而,这样的人存在吗?

根据格拉德威尔的10000小时定律,希望熟练的掌握前端、后端、客户端方向的知识内容,每天都花时间来专研也得花10年左右的时间。大多数自称为“全栈”的工程师,都停留到这个方向我“略懂”的境界。至于具体如何实现,如何让架构更时候后面阶段的模块化开发,那就真不知道了。

什么公司会招聘“全栈”?

国内的公司基本很少在自己的招聘JD上书写自己需要招聘全栈工程师,很多CTO的职位所描述的也不是对一位“全栈”的要求。。Facebook的一位员工就曾在OSCON上说他们只招聘全栈工程师,这样很多了解很多方便技术的人才都欢欣鼓舞。然而,“全栈”指的不是掌握不同方向的技术,在Facebook工作的朋友之前就和我说过,自己曾是一位做推荐系统方向的专家,然而由于Facebook部门内部的人员变动,自己却要扛起整个部门系统架构的事情。随着公司业务的发展,每个缺少人力的方向都会得到补充,这里的“全栈”所指的更多是,在业务需要的时候迎难直上的自我学习能力与责任担当能力。并不是让一个人亲手的完成公司内部的业务,这从时间成本、精力成本都不现实。这样的“全栈”工程师才是Facebook所真正需要的。

对于创业公司来说,“全栈”工程师无意是一个香饽饽,因为这么一个人对于创业公司来说,能够解决很多的招聘成本。鄙人的朋友小B,在大学的时候学习过Java,毕业之后现在一个初创公司使用Python写过1年的网页后端,后面发现公司的业务发展需要,自己又转头回去从事Java的开发。近两年由于iOS的大力发展,工资待遇也不错,自己又转行去做了iOS APP的研发。自称自己为“全栈”,从起频换更换技术方向来说,我并不认为他在之前的那几个方向都擅长,反而模糊了自己的定位,弄不清楚自己想要什么。对一个企业来说,我招聘Python工程师、iOS工程师、Java工程师,他都能算是中级(也许还算不上)。这个时候,除了跳槽去一个不懂技术CEO的初创企业之中扛大旗,其他也别无他法。

锚定自己的目标,培养自己的“一技之长”

如同我们公司的CEO一样,公司初创的时候,自己得做PR、市场、金融产品采购、企业注册、工资发放、融资、产品需求确定、以及扫地阿姨。但是,HR+市场+财务+PM+扫地阿姨 ≠ CEO,只要CEO的事情他们没有做好,其他方向他做的再好那也是百搭。一个牛逼的人,能够在需要他的时候承担一些之前没有从事过的工作。反过来,一个每个方向都做得得心应手的技术小能手,却未必是一位牛逼的人。

希望奋斗在一线的年轻工程师不要迷信“全栈”的歪理邪说,把自己的精力都投入到学习井喷式的“新技术”之中。明确自己的目标是什么,系统架构师? or 客户端安全专家? or 推荐系统大神? 每个方向都感兴趣就等于没有兴趣,“略懂”足以能够帮助你在后面的工作中减小你与别的工程师沟通的成本,“深究”一门技术才能然自己的眼界变得更宽。毕竟技术在进步,时间不等人,锚定目标,才能不断的接近目标。最后,给大家几个建议:

  • 尝试与别人沟通自己的想法——不做困在笼子里的孤鸟
  • 学会阅读英文文档——拒绝阅读英文意味着永远只能接受别人的二手资料
  • 要做思维迁移——IT技术本质是相同的,打好技术才能以不变应万变
  • 对自己负责——所有你发现的问题,都是你的问题
目录
相关文章
|
安全 网络安全
现代化企业网络安全架构设计与实践
随着企业信息化程度的提升,网络安全问题日益凸显。本文从企业网络安全架构设计与实践的角度出发,探讨了现代化企业网络安全的重要性、设计原则和实施方法,并结合具体案例进行分析,为企业构建健壮的网络安全体系提供了参考和指导。
|
网络协议 Java 中间件
2024年最新阿里Java高级岗200+面试题,掌握80%进阿里没问题
更新的阿里集团Java岗JD标准,信息来源于阿里集团的招聘专场,包括天猫、蚂蚁金服、中间件团队的高级Java、技术专家岗位。文末随附BATJTMD等一线互联网企业的Java高级研发岗位的面试题目及答案。
|
图形学
GLTF编辑器如何快速重置模型原点
模型原点是一个虚拟三维空间中的参考点,它在三维建模中具有定位、对齐、变换、导出、动画和约束等多个重要作用。
706 0
|
Ubuntu 编译器
Ubuntu18.4下交叉编译X264和FFMPEG到ARM平台(aarch64-linux-gcc)
Ubuntu18.4下交叉编译X264和FFMPEG到ARM平台(aarch64-linux-gcc)
2300 0
|
5月前
|
人工智能 自然语言处理 安全
氛围编程走远,规格驱动开发降临
本文分析了目前行业内github,openai,amazon等对规格驱动开发的尝试和工具,提出了需求规格在将来的开发模式中的重要作用。
855 5
|
12月前
|
人工智能 前端开发 Java
AI大模型进阶系列(02)基于Spring AI实现AI chatbot助理|一句话让deepseek实现
本文介绍了通过DeepSeek生成一个基于Spring AI的在线AI聊天助手项目的全过程。项目采用JDK17+Spring AI+Thymeleaf+Spring Web技术栈,实现了一个简单的聊天界面,用户可输入内容并获得DeepSeek返回的结果。文章详细描述了从需求明确、项目结构设计到配置参数启动的步骤,并展示了核心代码片段如pom.xml、application.properties及主要Java类文件。尽管功能简单,但体现了AI在编程领域的高效应用,未来有望进一步优化上下文记忆等功能,提升开发体验与效率。
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
710 23
|
人工智能 自然语言处理 Serverless
方案测评 | AI大模型助力客户音频对话分析
该方案利用阿里云的函数计算、对象存储及智能对话分析技术,实现客户对话的自动化分析,精准识别客户意图,评估服务互动质量,提供数据驱动的决策支持。其特点包括智能化分析、数据驱动决策、低成本、自动化处理、精准识别、实时反馈及成本效益。方案适用于提升企业服务质量与客户体验,尤其在处理海量客户对话数据时表现突出。
|
机器学习/深度学习 数据可视化 PyTorch
PyTorch小技巧:使用Hook可视化网络层激活(各层输出)
这篇文章将演示如何可视化PyTorch激活层。可视化激活,即模型内各层的输出,对于理解深度神经网络如何处理视觉信息至关重要,这有助于诊断模型行为并激发改进。
646 1
|
人工智能 前端开发 数据可视化
手猫助手Agent技术探索总结(2)
手猫助手Agent技术探索总结
453 8

热门文章

最新文章