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

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

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

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

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

全栈工程师,也叫全端工程师,英文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高级研发岗位的面试题目及答案。
|
NoSQL API 网络架构
MongoDB REST Api介绍
MongoDB默认会开启一个HTTP协议的端口提供REST的服务,这个端口是你Server端口加上1000,比如你的Server端口为27017,那么这个HTTP端口就是28017,默认的HTTP端口功能是有限的,你可以通过添加–rest参数启动更多功能。
2227 0
|
SQL 监控 关系型数据库
实际应用中监控和诊断SQL语句执行情况的具体案例
实际应用中监控和诊断SQL语句执行情况的具体案例
241 3
|
11月前
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
463 23
|
11月前
|
存储 安全 网络安全
.[[BitCloud@cock.li]].wstop勒索病毒数据怎么处理|数据解密恢复
在数字化时代,数据安全威胁日益严重,勒索病毒以其独特的加密技术对个人和企业构成重大挑战。.wstop勒索病毒,如[[BitCloud@cock.li]].wstop等,通过加密用户文件要求赎金,传播途径多样,影响广泛。遭遇攻击时,及时求助专业服务(如vx技术服务号data388)至关重要。预防策略包括强化网络安全防护、定期更新软件、谨慎处理邮件附件、安装防病毒软件、定期备份数据及提高安全意识等。面对不断演变的勒索病毒,如2024年出现的多种变种,企业和个人应加强服务器安全加固与数据备份,共同维护网络安全环境。关注“91数据恢复”可获取更多帮助和支持。
676 14
|
人工智能 自然语言处理 Serverless
方案测评 | AI大模型助力客户音频对话分析
该方案利用阿里云的函数计算、对象存储及智能对话分析技术,实现客户对话的自动化分析,精准识别客户意图,评估服务互动质量,提供数据驱动的决策支持。其特点包括智能化分析、数据驱动决策、低成本、自动化处理、精准识别、实时反馈及成本效益。方案适用于提升企业服务质量与客户体验,尤其在处理海量客户对话数据时表现突出。
|
存储 安全 Java
小说阅读平台设计与实现
小说阅读平台设计与实现
|
SQL JavaScript 关系型数据库
号称下一代Node.js,Typescript以及go的orm的prisma 浅谈如何在nest.js中使用
号称下一代Node.js,Typescript以及go的orm的prisma 浅谈如何在nest.js中使用
号称下一代Node.js,Typescript以及go的orm的prisma 浅谈如何在nest.js中使用
|
传感器 供应链 物联网
ERP系统与物联网(IoT)集成:实现智能化业务管理
【7月更文挑战第29天】 ERP系统与物联网(IoT)集成:实现智能化业务管理
1132 0