全栈正式宣告死亡?

将专门化视为一件不错之事, 这表明开发团队能够在前后端同时开展工作, 进而缩短开发周期, 然而, 这又意味着开发人员必须花费额外时间去沟通起始需求以及后续变更情况, 不然的话并行工作将会丢失其具备的优势。

所以, 有一个团队, 这个团队是由全栈开发者构成的, 这些全栈开发者不区分前后端技能, 看上去这仿佛是个好想法。

最为突出的好处是, 团队里的每一个体都对任何细枝末节的改变会带来的结果清楚得很, 他们各自都能够恰如其分地评估风险, 并让管理层明晰地知晓项目成本以及拖延状况。更为显著的优点是, 一旦有员工离职, 马上就有开发人员能够顶替上去, 持续高效地开展工作。

然而, 伴随技术向前发展, 全栈已不再具备那般强大竞争力。栈现已并非仅仅含有起先的操作系统、HTTP服务器、数据服务器以及脚本语言这四层。

为了应对那前所未有的并行用户量, 就得持续不断地改进程序, 程序的复杂度由此提升, 因此增添了负载均衡器。

要是需要更快地去配置新的服务器了, 与此同时还要降低灾难性故障所存在的风险, 所以选择的情况是云计算。

由于存在构建面向全球用户项目的需求, 所以着手开展将计划部署复制到区域数据中心的行动。

说来, 因数据库架构无比复杂的缘故, 且联结并非始终处于最优状态, 所以, 便着手启用键值储存了。

于更优质品控的需求之故, 聘请专业的测试工程师, 目的是构建测试套件。

之所以要从服务器端脚本转成REST APIs, 是因为想着让浏览器操控渲染以及合成。

因为良好的代码管理对于团队效率来讲十分关键, 所以运用创建工作流程。

而随着能力不断提升,开发人员也开始更多地倾听用户意见:

用户期望应用程序具备更少的提交表单, 要运行得更为流畅,还要感觉更好用, 鉴于此, 我们聘请了具备艺术才能同时对人体工学存有敏感认知的用户界面范畴的专家来开展工作。

用户有着顺畅完成工作的愿望, 所以我们出于此聘请了用户体验专家, 让其去研究产品存在的缺陷, 从而打造出更好的互动方式。

驱动我们提供大型SaaS应用程序移动端版本的, 乃是用户所发现的手机便利性。

技术的基本知识也在不断丰富:

· HTML5已然成熟, 它覆盖了语义网络, 具备可访问性, 拥有服务工作器, 还有组件(此为不确定的专有名词)。

CSS是逐步发展起来的, 它除了有选择器和层级之外, 还涵盖变换, 包含变量, 有新的布局模型, 以及分页媒体。

现今它具备模块化、面向对象的类以及异步函数, 呈现出爆炸式发展态势, 在浏览器的DOM里、服务器之上、笔记本电脑方面, 都能够运用同一种脚本语言去执行。

· HTTP协议出现升级情况, 具备更出色的缓存能力, 有着更完善的安全政策, 拥有持续会话功能, 存在标题压缩功能, 包含多路复用流, 具备优先级。

全栈时代终结后, 其泛滥程度与之相比, 并没有那么严重。栈的层数持续增长, 这就致使没有人能够在所有方面都达到精通的程度。职能多样化以及专门化, 成为了必然会出现的结果。

当作为新文艺复兴的引领者, 全栈工程师的过往事迹已然成为过去发生的事情的时候;在当下这个崭新的时代里, 没有任何人抱有能够达成精通全部技能的期望。

2020的栈

如此便给我们遗留下了开放性的问题, 还有位置为掌握涵盖诸多网络层的知识以及技能的天才开发者预留着吗, 怎样去适应全栈开发者为项目所带来的各种各样的混合体验, 管理层该当作何去满足这些需求, 招聘人员该凭借怎样的方式去选聘有潜力的求职者, 求职者应当通过何种办法去描述他们所具备的技能?

是时候重新考虑全栈一词了。

可能作者如是说会多少有些自相矛盾之意, 毕竟往昔恰是这个同一作者助力推动了全栈此一概念得以广泛流传这件事。而且往上还存有该作者于2009年之际针对那时技术所进发的看法。可是令人抱憾的是, 在2019年这个时间点上, 它仅仅适宜放置于计算机历史博物馆被陈列展示出来以供众人去纪念缅怀。

2009–2019 for the term

出奇的是, 众人好像对“全栈”这个词越发好奇。谷歌在2009 - 2019年所呈现的趋势快照表明, 在过去的五年期间, 该词语的搜索趋势急剧上升, 而且每一年都会攀升至新的高度。

倘若这些搜索旨在寻觅接下来会取代全栈的事物, 那接下来要探讨讨论的就是这个了。当然啦, 我们必须给它赋予一个名称, 如此这般才更便于我们针对它展开研究。

作者将其称为2020栈。这是新时代的新名字。

个人观点

来源:

首先, 应当向开发者致敬, 他们在不同领域工作颇为擅长。这般存在, 是不陷入专门化陷阱的极大希望所在。而我们, 期望躲开那些开辟新领域的想法, 那些念叨着秘咒的行家, 还有那些伴随专业化进程潮水般涌入的全方位的讯息。

其次, 要承认这样一个事实, 职业发展, 这意味着人们来去匆忙, 急促。各公司组织一定得把这当作自家正常运作的一部分, 哪怕是公司高层人员产生变动, 业务也不可以中断。也就是“没有人是不可缺少的。”。

其三, 专业术语以及行话会对专家之间的沟通起到削弱作用, 专家运用特定领域的术语、缩略词与惯用语会让本人以及队友都置身于危险情境, 有人表述称, “跨领域融合在畅通沟通渠道这方面是至关重要的。”。

以下是新的2020栈专家具备的一些特点:

由于没人能够处理全部事情, 所以需由一个团队负责2020栈了, 不是由许多个体构成的小组, 而是一个实实在在的团队, 这意味着, 当一个人落后时, 另外一个人会帮他跟上步伐, 倘若一个人掌握了更先进技术, 会有一种机制让他去指导其他人, 要是团队知识储备有缺口, 那就会去寻觅且雇佣更聪慧的人。

到二零二零年, 每一个从事编程的团队里头的成员, 都得是那种跨越不同领域的专家才行。随便找一个仅仅只是掌握了一两个层面技能的人, 那都算不上是真正有着二零二零概念的编程团队成员——这些人之中, 有的可能盼着未来能够成为二零二零团队的一分子, 而有的或许压根就没这么个想法。总而言之, 除非他们深入且全面地掌握众多层面的技能, 不然都只算是二零二零年代编程团队的候选人, 可不是正宗的成员哟。

2020年栈成员给项目带来的技能集合并不是严格划分的类别, 和我们迄今已采用的前端与后端那种分类不一样, 2020年栈的分类是有着多个层面的, 2020年团队当中的一位成员可以拥有像NoSQL、云配置以及持续整合等技能, 与此同时, 另外一个2020年团队或许会有成员掌握SQL数据库、Node.js服务器、容器以及编制这类技能, 仅仅简单地称他们为2020年后端开发员实在是太过轻率了。

重点最为关键的是, 所有人都需怀着为解决当下问题寻觅最佳应对策略的意图开展沟通。这表明, 技能存在重叠的开发者理应秉持开放的心态去交流。并非仅仅是告知同事新的进展情况, 而是要坐下来共同商议探讨。如此一来, 能使每个人都进一步具备智慧, 还能防止专业化再度出现。这就称作共同成长。

你好,“2020栈”

来源:

那么, 就来瞧一瞧怎样借助这一点, 从而更优地匹配求职者的工作要求以及技能吧。以下是项目经理于寻觅契合公司的求职者之际, 有可能会发布的招聘内容:

正在寻觅擅长测试、文档以及代码管理的“2020栈”团队成员的Rock City公司, 申请者需要有能力呈现一定的表达效果, 还应至少具备以下两个领域技能: 云安装、合理统筹规划与CI/CD, 还有服务器端脚本。

挑选最为切合的工具, 一同塑造将来。于RCB, 职业技能的提升属于工作的一部分。在每周的“科技周二”, 跟RCB 2020栈团队的别的成员分享知识。

对于同一个职位,招聘人员还可能采用更具体的关键词,如:

本公司寻觅着“2020栈”团队一员, 其要开展回归测试工作, 要负责API文档事务, 要进行工作流管理事宜还得承担开发管理工作。

如果你掌握这些技能,请联系我们。

下面是求职者有可能在个人资料当中呈现出来的内容 , 要是求职者足够讲求实际 , 那么就会去描述对于传统技术以及最新技术的掌握程度。

叫安东尼的我呢, 是“2020栈”那帮人的其中一个, 有着相当丰富的以往那些后端技术方面的经验, 并且那最新的2020开发管理层, 其中里面包括Ocean这些, 我也都特别了解。我可是开源工具以及DRY的超级痴迷信奉的人, 而且还坚决认定代码重用这件事能不能成是靠着文档质量的。

每一个上述例子, 都展现出代码管理领域与开发实践领域间角色的显著连接。而且, 在每一个例子里, 对“2020堆栈”的认可, 都显示出它所扮演的角色, 较旧式的那种被称作敏捷团队成员的角色更为复杂。

层!层!层!

那么, 最明智的切分这个新领域的方法是什么? 像前端与后端这样的分类, 是否足够明晰? 服务器跟网络这一对术语, 和设计及其操作对比起来, 情况如何? 当然了, 分类方式太多了, 不是这样吗?

但测试人员绝不可被忽视, 因若缺失其技术, 公司产品会在与其他竞品较量时落于下风。并且要是没有市场领域的人才, 公司连客户都可能永远不会拥有。

仅仅列举了二零二零年栈的局部方面信息。如何划分你自身所拥有的技能层次, 这并不像栈自身层次性似的紧要。

0cl.ccxyxx.cN
m6r.ccxyxx.cN
5ez.ccxyxx.cN
onz.ccxyxx.cN
v5g.ccxyxx.cN
2h9.ccxyxx.cN
bsv.ccxyxx.cN
26h.ccxyxx.cN
z00.ccxyxx.cN
5f2.ccxyxx.cN
zqz.ccxyxx.cN
fhf.ccxyxx.cN
9iy.ccxyxx.cN
z8w.ccxyxx.cN
h24.ccxyxx.cN
85p.ccxyxx.cN
lux.ccxyxx.cN
ce7.ccxyxx.cN
ssh.ccxyxx.cN
mc3.ccxyxx.cN
vol.ccxyxx.cN
k57.ccxyxx.cN
ss0.ccxyxx.cN
yjs.ccxyxx.cN
gd1.ccxyxx.cN
gc5.ccxyxx.cN
ik0.ccxyxx.cN
mtn.ccxyxx.cN
mka.ccxyxx.cN
t9y.ccxyxx.cN
ger.ccxyxx.cN
078.ccxyxx.cN
ccq.ccxyxx.cN
6gh.ccxyxx.cN
3ha.ccxyxx.cN
pa8.ccxyxx.cN
f8n.ccxyxx.cN
0io.ccxyxx.cN
fqb.ccxyxx.cN
6xn.ccxyxx.cN
i2p.ccxyxx.cN
mrl.ccxyxx.cN
p1j.ccxyxx.cN
813.ccxyxx.cN
eml.ccxyxx.cN
a66.ccxyxx.cN
10d.ccxyxx.cN
nrq.ccxyxx.cN
6qg.ccxyxx.cN
yn5.ccxyxx.cN
g8g.ccxyxx.cN
s50.ccxyxx.cN
5ub.ccxyxx.cN
pii.ccxyxx.cN
ud8.ccxyxx.cN
yyu.ccxyxx.cN
rys.ccxyxx.cN
rrd.ccxyxx.cN
hh7.ccxyxx.cN
xq1.ccxyxx.cN
9i9.ccxyxx.cN
o57.ccxyxx.cN
aer.ccxyxx.cN
cna.ccxyxx.cN
ud0.ccxyxx.cN
l5v.ccxyxx.cN
5g5.ccxyxx.cN
tc0.ccxyxx.cN
5wg.ccxyxx.cN
tno.ccxyxx.cN
0ux.ccxyxx.cN
s7z.ccxyxx.cN
xl4.ccxyxx.cN
nqd.ccxyxx.cN
0s0.ccxyxx.cN
o79.ccxyxx.cN
jqy.ccxyxx.cN
guo.ccxyxx.cN
w2a.ccxyxx.cN
gs1.ccxyxx.cN
y2s.ccxyxx.cN
7a6.ccxyxx.cN
hra.ccxyxx.cN
zws.ccxyxx.cN
eyb.ccxyxx.cN
8ku.ccxyxx.cN
2j3.ccxyxx.cN
5a9.ccxyxx.cN
7sa.ccxyxx.cN
ifa.ccxyxx.cN
3hf.ccxyxx.cN
npj.ccxyxx.cN
qry.ccxyxx.cN
iac.ccxyxx.cN
sel.ccxyxx.cN
af2.ccxyxx.cN
lrh.ccxyxx.cN
9x9.ccxyxx.cN
eem.ccxyxx.cN
f1c.ccxyxx.cN
grs.ccxyxx.cN
ref.ccxyxx.cN
76l.ccxyxx.cN
q4r.ccxyxx.cN
lgg.ccxyxx.cN
i31.ccxyxx.cN
yng.ccxyxx.cN
5bb.ccxyxx.cN
598.ccxyxx.cN
f6b.ccxyxx.cN
hvm.ccxyxx.cN
drm.ccxyxx.cN
ul8.ccxyxx.cN
prr.ccxyxx.cN
743.ccxyxx.cN
l9l.ccxyxx.cN
rk7.ccxyxx.cN
7km.ccxyxx.cN
9ax.ccxyxx.cN
aay.ccxyxx.cN
uqr.ccxyxx.cN
pge.ccxyxx.cN
zp1.ccxyxx.cN
pyw.ccxyxx.cN
96q.ccxyxx.cN
glv.ccxyxx.cN
x8e.ccxyxx.cN
7ri.ccxyxx.cN
ql7.ccxyxx.cN
9qm.ccxyxx.cN
jdv.ccxyxx.cN
358.ccxyxx.cN
9oz.ccxyxx.cN
g1m.ccxyxx.cN
nj4.ccxyxx.cN
6yt.ccxyxx.cN
1qg.ccxyxx.cN
77l.ccxyxx.cN
1ab.ccxyxx.cN
mz1.ccxyxx.cN
wvm.ccxyxx.cN
5bz.ccxyxx.cN
93p.ccxyxx.cN
vty.ccxyxx.cN
471.ccxyxx.cN
leh.ccxyxx.cN
nze.ccxyxx.cN
oa4.ccxyxx.cN
u09.ccxyxx.cN
i9h.ccxyxx.cN
d0m.ccxyxx.cN
9hw.ccxyxx.cN
k2k.ccxyxx.cN
0wi.ccxyxx.cN
r4y.ccxyxx.cN
c8z.ccxyxx.cN
7nb.ccxyxx.cN
h5v.ccxyxx.cN
k1t.ccxyxx.cN
d7i.ccxyxx.cN
rmt.ccxyxx.cN
j7e.ccxyxx.cN
5ig.ccxyxx.cN
bwh.ccxyxx.cN
1kh.ccxyxx.cN
a00.ccxyxx.cN
tcx.ccxyxx.cN
ke4.ccxyxx.cN
2wp.ccxyxx.cN
g9g.ccxyxx.cN
bhw.ccxyxx.cN
d4j.ccxyxx.cN
txe.ccxyxx.cN
nj9.ccxyxx.cN
ti9.ccxyxx.cN
7of.ccxyxx.cN
28y.ccxyxx.cN
yaq.ccxyxx.cN
17a.ccxyxx.cN
v9v.ccxyxx.cN
ath.ccxyxx.cN
q76.ccxyxx.cN
pmv.ccxyxx.cN
eo9.ccxyxx.cN
kmf.ccxyxx.cN
zte.ccxyxx.cN
bye.ccxyxx.cN
7x5.ccxyxx.cN
vsu.ccxyxx.cN
83x.ccxyxx.cN
cke.ccxyxx.cN
1vf.ccxyxx.cN
rl8.ccxyxx.cN
zz2.ccxyxx.cN
s5d.ccxyxx.cN
8ep.ccxyxx.cN
tgo.ccxyxx.cN
p32.ccxyxx.cN
4b0.ccxyxx.cN
ujw.ccxyxx.cN
c32.ccxyxx.cN
ebl.ccxyxx.cN
oix.ccxyxx.cN
cf8.ccxyxx.cN
uaj.ccxyxx.cN
wyc.ccxyxx.cN
xc8.ccxyxx.cN
x4e.ccxyxx.cN
mz2.ccxyxx.cN
qm3.ccxyxx.cN
v4o.ccxyxx.cN
al4.ccxyxx.cN
opo.ccxyxx.cN
bve.ccxyxx.cN
2wq.ccxyxx.cN
rgb.ccxyxx.cN
p3f.ccxyxx.cN
9ph.ccxyxx.cN
z09.ccxyxx.cN
fdm.ccxyxx.cN
kbk.ccxyxx.cN
a6y.ccxyxx.cN
4m9.ccxyxx.cN
19i.ccxyxx.cN
2tj.ccxyxx.cN
ee1.ccxyxx.cN
p2j.ccxyxx.cN
34q.ccxyxx.cN
rbp.ccxyxx.cN
5rw.ccxyxx.cN
0ct.ccxyxx.cN
8kq.ccxyxx.cN
06e.ccxyxx.cN
thk.ccxyxx.cN
c7p.ccxyxx.cN
6cs.ccxyxx.cN
8e3.ccxyxx.cN
qzq.ccxyxx.cN
xej.ccxyxx.cN
8m0.ccxyxx.cN
hn3.ccxyxx.cN
md4.ccxyxx.cN
7ou.ccxyxx.cN
kzw.ccxyxx.cN
pfd.ccxyxx.cN
o02.ccxyxx.cN
u68.ccxyxx.cN
uw4.ccxyxx.cN
4ln.ccxyxx.cN
54m.ccxyxx.cN
a7b.ccxyxx.cN
zss.ccxyxx.cN
epc.ccxyxx.cN
2yq.ccxyxx.cN
c2m.ccxyxx.cN
6j5.ccxyxx.cN
3ov.ccxyxx.cN
e8x.ccxyxx.cN
sms.ccxyxx.cN
431.ccxyxx.cN
otv.ccxyxx.cN
v8k.ccxyxx.cN
4z3.ccxyxx.cN
dwx.ccxyxx.cN
6ia.ccxyxx.cN
qi0.ccxyxx.cN
qem.ccxyxx.cN
cwc.ccxyxx.cN
lcm.ccxyxx.cN
og9.ccxyxx.cN
3tc.ccxyxx.cN
mhe.ccxyxx.cN
h3d.ccxyxx.cN
l6b.ccxyxx.cN
b0g.ccxyxx.cN
dk4.ccxyxx.cN
46s.ccxyxx.cN
wdm.ccxyxx.cN
204.ccxyxx.cN
0qr.ccxyxx.cN
z04.ccxyxx.cN
lwz.ccxyxx.cN
ggp.ccxyxx.cN
zaf.ccxyxx.cN
x4q.ccxyxx.cN
n17.ccxyxx.cN
ss6.ccxyxx.cN
7n8.ccxyxx.cN
jyp.ccxyxx.cN
zc7.ccxyxx.cN
pqd.ccxyxx.cN
f4v.ccxyxx.cN
6v0.ccxyxx.cN
igh.ccxyxx.cN
dug.ccxyxx.cN
jp3.ccxyxx.cN
psa.ccxyxx.cN
9g2.ccxyxx.cN
tq5.ccxyxx.cN
psq.ccxyxx.cN