做全栈开发很难吗

​点击上方“罗晓胜”,马上关注,您的支持对我帮助很大

/   今日科技快讯   /

GitHub去年宣布了一项代码存档项目(GitHub Archive Program),他们计划将GitHub上面托管的代码保存到一个很安全的位置,这个“代码保险库”的位置定在北极。昨天他们宣布该项目已经于今年7月8日正式完成,共保存了21TB的数据,GitHub还为所有为北极代码保险库中贡献代码了的用户颁发了一枚勋章,看了下,我也有。。

这是一项异常浪漫的人类计划里

也是身处 2020 年的人类,留给未来历史学家们的礼物。

 

/   正文   /

 

很多人都说学全栈没有必要,是的,如果你去大公司,做一枚螺丝钉,确实不需要全栈,因为你只需要懂你会的那部分就行了,如果你会后台,前端自然有FE或者APP的同学去配合处理,再也不用像以前那样又要写后台功能逻辑,又要写界面布局。

 

▊ 不过,只专精一门技术真的好吗?

 

这个问题暂时我不去回答,好或者不好最终可能还是因人而异,关键我们自己到底是怎样看待软件开发这个流程,以及你到底想处在一个什么样的位置。

 

比方说,我就想每天写写接口,调一调数据,这个还用得着会前端么,这当然用不着,可是我们从一个正常项目立项开始,一般话的项目都是由后端处理提供数据,前端UI界面展示这两个模块,纯后端的不是没有,但是少,哪怕你不对用户开放,那你至少也需要一个后台管理系统去支持你的所有功能。

 

这个时候问题就很明显了,你把一个完整的项目拆分成多人,自然是可以的,我连我自己后台模块都可以拆成多人开发,前端当然可以拆。

 

▊ 可是,拆能解决所有问题吗?

 

后台如果你熟悉,你只要知道最基础的技术架构就可以接手,可是如果你不熟悉前端,那一旦拆出去了,你拿什么接手。

 

你可能想到找人,可是这一来二去,业务,流程,数据等等沟通起来都是需要成本的,程序员大厂为什么效率低,大部分时间都花在了扯皮,讨论,各种会上面了。你以为上班大部分时间是写代码吗,不,你错了,白天开会,晚上你加班写代码。

 

再说说这个代码review,熟悉前人代码也是不少程序员开发的噩梦,能找到一个对项目设计每个地方都清楚的人几乎没有(注意是几乎),特别是大型项目,根本就没法改,也不敢改,改的成本都不如重写一个,而且大家也心照不宣,没人会想去主动收拾别人的烂摊子。

 

 

▊ 大前端

 

现在前端日益复杂,大前端模型口号喊得震天响,各种模块化,工程化,可视化发展,再加上node的推送,前端都可以替代后端的部分工作,甚至不要传统后台。

 

终有一天,所见即所得,什么web,app,flutter,通通靠边站。

 

看到这里,你还觉得后端真的比前端要厉害吗,只会一个开发就能稳吃这碗饭了吗。

 

你品,你细品。

 

我个人认为不能简单的把前端和后端区别对待,这两个方向本身就是一个项目的组成部分,你想掌控项目甚至去主导项目,这个两个方向你都得去熟悉,了解。

 

或者说直白,在现有软件开发的潮流中,你想要赢得一席之地,这种多能力要求是未来业务所必备的。

 

知乎上有人拿谷歌来举例子:

Travis Addair, 曾于 2013 年至 2015 年在 Google 担任软件工程师一职。答道

谷歌几乎只招「全栈」工程师。

如果你在谷歌的职位是「软件工程师」,那么我们默认你有能力写出一个将杂乱的数据整理进数据库的 MapReduce 任务、有能力搭建一个读写数据库的服务器,也有能力开发出一套前端界面。

实际上,你在工作的前两周就会接触到上面所有任务,因为这是新员工的必修课程。

 

Mo Lam, 目前在 Google 工作,答道

是的。

我是我团队里唯一的一名「前端」工程师。这里大部分工程师都是全栈的,我只是更聚焦于前端的全栈工程师而已。

这里确实有人只写 JavaScript,但是这样的人在谷歌占的比例很小很小。

不过呢,确实有一些团队在招聘前端工程师。整个行业都非常需要优秀的前端,但是优秀的前端真的很少。

话虽如此,只要你是一名优秀的工程师,不管你是全栈、前端还是后端我们都需要。语言和框架学起来一点也不难,如果你技术过硬,写代码会是你工作中最容易的一部分。

P.S: 如果你对后端没有整体的了解,你不可能成为一个优秀的前端。

这就跟我们会了数据库,还要会缓存,缓存会了还有文件存储,NoSql等等,然后还有大数据在前面等着各位。

 

 

还有,更别忘了,还有AI这个即将颠覆行业的要命的东西正在高速发展,所以,固步自封,那就必然被时代抛弃。

 

 

▊ 专精 or 多能

我认为并不对立,关键是你怎么看他。

如果你想成为一名技术大牛,那你肯定需要一门拿手绝活,当然也要触类旁通,知道软件开发中的每个犄角旮旯。

 

作为一名合格的程序员,不断的学习那是本职要求,所有不要纠结专精或多能了,技术迭代的速度远超我们当下所掌握的这些,每天多学一点,今天比昨天要好,争取每一天的进步。

 

我在这里跟大家分享两个思维模型

  • 能力圈模型要求我们专注

  • 多元思维模型要求我们发散

这两者看似冲突,而真正的高手就是能把这些特质合二为一

 

/   总结   /

 

本文主要讲了我对全栈开发的一些看法,二者并不对立,对初学者和软件从业者给予我自己的一些看法。

欢迎关注我的公众号

学习技术或投稿

 

 

长按上图,识别图中二维码即可关注

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值