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

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

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

全栈工程师,也叫全端工程师,英文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技术本质是相同的,打好技术才能以不变应万变
  • 对自己负责——所有你发现的问题,都是你的问题

@author zhoushengtao(周圣韬)

@weixin stchou_zst

微信:

@blog http://blog.csdn.net/yzzst
@交流学习QQ群2:473140254

“全栈这个概念坑害了多少开发者相关推荐

  1. 前端、后端、全栈都要学什么?薪资前景如何?

    随着信息产业的迅猛发展,IT行业人才需求量也在逐年扩大. 据国内权威数据统计,未来五年,我国信息化人才总需求量高达1500万-2000万人.其中"软件开发"."网络工程& ...

  2. 后端返回list前端如何处理_前端、后端、全栈是什么?薪资前景如何?

    随着信息产业的迅猛发展,IT行业人才需求量也在逐年扩大. 据国内权威数据统计,未来五年,我国信息化人才总需求量高达1500万-2000万人.其中"软件开发"."网络工程& ...

  3. Python全栈视频教程-尹成-专题视频课程

    Python全栈视频教程-77316人已学习 课程介绍         Python全栈视频培训教程,帮助开发者从零到一入门python:1.深入理解python语法机制与底层原理,2.深入实战pyt ...

  4. 视频教程-Python全栈视频教程-Python

    Python全栈视频教程 毕业于清华大学,曾担任Google算法工程师,微软人工智能领域全球最具价值专家,微软Tech Ed 大会金牌讲师. 精通C/ C++,Python ,Go语言,Sicikit ...

  5. 为什么你应该尝试全栈

    程序员看到全栈这个概念,大概会有两种反应: 1. 卧槽,这个好,碉堡了 2. 你懂毛,全栈就是样样稀松 以上两种反应其实都有失偏颇,即使只做一种技术,做的很菜的多的是,而全栈但是样样都做的不错的也不少 ...

  6. angularjs全栈开发知乎_为什么你要去尝试全栈开发?

    程序员看到"全栈"这个概念,大概会有两种反应 1. 卧槽,这个好,碉堡了 2. 你懂毛,全栈就是样样稀松 以上两种反应其实都有失偏颇.因为即使只学一门技术,水平很菜的人也多的是,而 ...

  7. unity全栈开发是什么意思_为什么你应该尝试“全栈”

    程序员看到"全栈"这个概念,大概会有两种反应 1. 卧槽,这个好,碉堡了 2. 你懂毛,全栈就是样样稀松 以上两种反应其实都有失偏颇.因为即使只学一门技术,水平很菜的人也多的是,而 ...

  8. 何去何从?——从性能测试到全栈测试的思考

    性能测试与结果分析 受合作伙伴邀请,在北京实施了一次<性能测试与结果分析>的活动,要谈的东西很多,所以几经思考罗列了这样的一个课程大纲出来. 目标: 针对有性能测试工具基础的同学深度分析性 ...

  9. 从全栈工程师到全栈管理师——全栈管理师诞生记

    近年来,全栈这个概念似乎在IT圈子里面被炒得火热,耳濡目染之后,自己也就慢慢的开始关注全栈这个新鲜的事物.记得早些时候,流行的是一些Web栈.移动栈.服务栈.技术栈等等这些概念.慢慢的,这些纷繁复杂的 ...

  10. unity全栈开发是什么意思_为什么你要去尝试全栈开发?

    程序员看到"全栈"这个概念,大概会有两种反应 1. 卧槽,这个好,碉堡了 2. 你懂毛,全栈就是样样稀松 以上两种反应其实都有失偏颇.因为即使只学一门技术,水平很菜的人也多的是,而 ...

最新文章

  1. VC++ 鼠标非显示区域命中测试消息WM_NCHITTEST和相关编程问题学习1
  2. ios自定义日期、时间、城市选择器
  3. ESP32 OTA 接口简略说明
  4. 求两数最大公约数,最小公倍数-Java
  5. 大数据 机器学习 算法概论
  6. 使用MemoryStream和FileStream
  7. hdu 1249 三角形 (递推)
  8. Kubernetes -K8S安装部署及SpringCloud应用
  9. 关于粽子的生产产线提速
  10. 中国石油大学《计算机应用基础》第三次在线作业
  11. scapy:网络数据包操作
  12. STL:string容器特性、定义、初始化、等号、取值、拼接、查找、替换、比较、字串、插入、删除
  13. JZ2440:yaffs2 格式根文件系统制作
  14. 宝石塔防的贴吧地址:
  15. 《奇点临近》奇点和六大纪元
  16. 【java8 stream操作List集合】
  17. 基于奇特物联MQTT协议设备接入示例
  18. MYSQL高可用之PXC
  19. 摸底考察-Linux系统搭建WEB网站服务
  20. JMeter 配置元件-CSV Data Set Config 参数化配置

热门文章

  1. HCIP/HCIE RoutingSwitching / Datacom备考宝典系列(八)VLAN知识点全面总结
  2. 【FTP】错误描述:200 Switching to ASCII mode,227 Entering Passive Mode
  3. 一步一步教你在Linux上搭建云服务器
  4. android 动态毛玻璃,Android毛玻璃背景效果简单实现代码
  5. [转]Sublime Text 2 设置文件详解
  6. Robot Framework+Autoit 安装教程
  7. 虚拟化之Proxmox VE虚拟机创建及模板制作
  8. Carsim安装教程-破解carsim2016.01和Carsim2018
  9. 生肖android编程,android小程序,根据生日年份计算出生肖
  10. 在Word中嵌入Mathtype公式编辑器