订阅
纠错
加入自媒体

程序员工作模式的展望—基于中台的研发或将成为主流

2020-12-08 09:53
EAWorld
关注

这个分享是基于从2020年初的一个疫情之后,我们作为一个技术产品公司的一种思考。

从我们分析角度来讲,我今天会从三个维度进行阐述:

第一个维度就是说从宏观角度来讲,其实整个社会的运转方式在潜移默化的发生一些变化。第二个维度其实是我们对于我们的一个IT从业人员或者程序员工作方式的一种思考以及现状的一种延伸。第三个维度其实是基于这种现状来讲,对于我们工作的一个产品研发的一些思考与趋势的一种展望。 

1、疫情加速转变社会运转方式

今天首先我们可以用简单一个数字来看一下,一个美国在线的零售业,美国在线的零售业其实是很有意思一个事情,因为在疫情之前,美国在线或者说网商、电商其实是很差的一个数据,直到2020年疫情的发生,对于这个角度来讲,其实所有的社会运转其实可以看到潜移默化的变化。

同样其实在线教育的付费用户,这是在国内的其实也发生一些变化。预计到2020年可能在2.6亿人次,当然我也是一个父母了,那么体现了其实在疫情情况下,大家对于在线教育的从不认可到认可,这里面其实隐含的是说社会的运转方式在变。

2、程序员的工作方式正在面临转变

对于我们一个程序员,我们在这个社会里难免会遇到各种的一个随着时代变化的一些转变,从这个角度来讲,我们首先去看一些现象,疫情期间其实程序员的工作方式发生一些变化,众所周知,其实在疫情期期间,很多尤其美国那边,其实很多人无法回到自己的办公地点。据报道,据某一个科技媒体报道,其实微软已经允许每周有半数的时间在家自由的办公,如果经过主管的批准,可以永久在家办公。同样的一个问题就是Facebook也是在发生变化,Facebook的首席执行官他预测在5~10年内,Facebook的人员可能有半数以上的在家办公。

这就引发的我们的一个思考。就是说传统的方式我们会回到办公室,办公室里会给你创造各种优良的环境,提供各种舒适的环境,甚至可以带你宠物上班或者这种方式,都是让大家聚焦在办公的环境去办公。而现在我们面临着是在家办公,整个IT的建设和我们程序员的工作方式到底发生什么变化呢?这个其实可能会在未来一段时间内形成一个深远的影响。

这一块其实,因为作为一个供应商,我们反思了一下疫情期间我们面临的情况。众所周知,我们现在的甲方在疫情期间,其实有很多IT系统人由于人员不到位情况下,其实是(IT建设)停滞的,甚至一些新项目的采购,因为疫情的控制,所以最核心的本质是说大概在2、3、4月份左右,其实供应商是很难入场的。 

对于供应商本身角度来讲,其实遇到的问题是什么?是说我们现在无法入场,导致没有收入,成本和现金压力都非常大。比较有幸运的是说在我们中国的一个疫情控制下,其实控制较好,供应商也都顺利的进入场地了。这里面就有一个隐含的反思,就是说现在是我们解决好了在疫情这种远程办公情况下的,我们的供应商和甲方的一个合作模式,还是说现在因为疫情控制住了,问题不存在了。 

我们的反思是说问题不存在,但是问题并不是真正因为解决了而不存在,这个就开始反思我们到底整个IT建设会何去何从?那么我们在思考这个问题的时候会想到其实整个社会在进行数字化,而我们的工作,我们程序员的工作是不是真的数字化了呢? 

回到我们这一个核心的主题,就是说我们认为数字化其实有一个很核心的方向,那么这里面其实福布斯其实在大概9月份,9月21日发布了一个2021年的十大数字化转型趋势,他每年都会发布。因为我每年都会去看,我会发现惊奇的发现了一个点是原来从来没有提到的点,就是说work from home。从疫情之后,可能在家办公远比疫情还要持久,简单点说就是说疫情会改变我们整个的一个工作模式。这个模式的变化会导致的一个问题就是说疫情之后仍然会在家办公这种,或者是叫远程办公成为一个主流。

对于我们角度来讲,我们在反思在远程办公或者疫情情况下,这个趋势是我们如何去改变我们的IT建设?

我个人认为其实程序员也在迎来一个数字化时代,其实我们现在或者说绝大多数情况工作环境是一个信息化的或者IT信息化的时代,包括我们之前的分享或者其他也分享,我们有时候会有Jira、有Git呀,我们会去建一些编译系统。其实本质来讲,其实对于传统行业来讲,其实传统行业也会有自己的信息化,其实是在做我们程序员工作或者是IT工程师的一个信息化工作,而未来我相信一定会趋向于一个数字化时代。 

数字化时代,其实对于传统的信息化时代,其实大家有很多争论说区别在哪里?从我核心的角度来讲,其实数字化是改变的一个行为模式,而不是简单的把工作信息化掉这个过程。为什么这么说?就是说我们传统理解说ok,我需要一个版本管理,我需要搭一个Git,Git可能需要一个账号,我需要注册一个账号,只是把我们的工作变成了一个信息化工作,未来可能会融入一体的进行数字化改变。 

这里面首先我要去重申一下,我说我们的认知的一个变化。其实我在这个产品预研的过程中,包括跟一些友商的竞争产品的了解以及未来趋势的了解,我会发现有很多认知是在打破我十几、二十年老程序员的一个理解。

比如最典型的在Linux下你去使用一个root权限,我们传统认知里是需要知道root的一个用户名密码,否则我是无法工作的。 

第二个问题就是说,既然我们程序员经常会用到一些代码提交,那代码提交,我们现在最早用CVS、SVN,现在变成了Git,对于我来讲,我肯定会被分配一个Git账号和密码,这是我专属的。

这两个问题是说我们在反思这个问题,就是说在未来的数字化时代的时候,这种方式是否合理?是不是必须?从我的分析看答案是不必须的。我举两个例子,第一个就是说我们在试用一些云化的产品的时候,比如说Google cloud,Google cloud默认其实是不提供root的密码的,这里面就是说我如何去使用 root权限去做?其实root的权限只是一种服务,当我去使用一个需要root的时候,我仅需要去作为一个sudo这种方式去做,不需要用密码,然后就可以获取到相关的权限,只要在我的账号体系里或者认证体系里,我是被认证成可以使用root的,这里面有一个问题就是说这个账号的密码是什么呢? 

其实是有平台提供的,我去尝试一下是否可以在Google cloud上去使用root密码的登录?答案是可以的,但是非常繁琐,我需要开通很多东西才可以使用,这里面其实就是说在未来的默认的很多方式里,我可能只是需要,我有权限使用 root这个服务,而不是说我需要这个用户和密码。 

同样我们有很多人在使用一些小程序开发,小程序开发的时候,其实有对应的代码提交和版本,我们可以看到,我会去下一个小程序开发工具,我在整个过程中我会有版本管理的概念,但是我根本就没有对应的Git的一个账号和密码,甚至我都可以理解为我看了结构,我才知道它是Git,而实际上它不需要任何的Git的相关知识。 

这也就是我想说的是说未来的数字化里很多对于系统的边界会被模糊掉,而对于所有的系统的提供的服务,会以一个以我们程序员为中心的这种使用习惯的转变而转变,这也将是会对我们整个理解的一些变化。 

同样的过程中,我们也会发现一些开发环境或者是习惯上的一些变化。因为在这个过程中,我们已经不是单纯的面向于一些我们的JVM(一些函数)去编程,我们可能面向大量的服务,甚至是说传统的,包括老的一些服务,这个过程中其实是未来是会基于大量的基础服务或者运转的,甚至连root权限,我就认为是一种可被使用的一个服务。

3、面向中台的开发或许成为一种趋势

这里面就会提到另外一个东西就是说未来的数字化时代,IT建设,我们认为其实不仅限于一个单纯的用户体验和服务基础。这个是Gartner一个理解,Gartner建议是企业去建立一个网格化的应用和一个服务架构,以实现全局和面向未来的规划和管理。

说的比较罗嗦,整个架构其实可以看到它其实是多用户体验的,以及一个 API怎么翻译?其实是一个(API)集成的一种方式,而对应的后端的service其实是多种多样的,它可以有传统的一些方式,也可能会有一些SaaS的服务,甚至是说一些微服务的架构,这都可能会存在。 

当然跟这个东西在国内不是特别的流行,从我们直接角度来讲,我们认为国内和国外的环境不是完全相同,也就是说为什么我们会把中台提出来,而不是说MASA这种模式去提出来,我们技术从理念角度来讲可能会去参考一些,但是实践角度来讲,我会发现在国外的一个体系里,其实传统的立柱架构比较严重,甚至可能有七八十年代,或者是八九十年代的一些东西来做,可能大家都也见过新闻,有些系统要召回老程序员去进行改造,但是对于国内其实建设是一个滚动的、持续版本迭代的一种替换式的一个更新,也就是说未来三五年内,或者5年内,或者远的说是十年内有些架构会彻底重新进行做,这些东西其实就会变得一个架构的更合理度上,是更容易去做一些架构的话。 

所以从我们这个理解来讲,我们认为数字中台,我们整个大的主题里也会提到,数字中台其实跟MASA这种模型其实是异曲同工,而且我们从国内的趋势看,其实中台化的架构演进是一种趋势。当然这里面中台其实大家有各种争论,以最早的阿里系的这种说法,以及包括腾讯系,腾讯会把内容中台作为一个呈现,它其实是一个业务领域的中台,但是我觉着这个东西是会随着认知去发生一些变化的。

基于这个角度来讲上,我们会拿出一个我们普元CTO的在一个数字化中台领域的相关的分享的一份材料,就是说从现在看未来可能会延续的去发展,现在架构来讲,在普元的这个体系里是一个薄前台,这个里面其实一个厚中台以及一个稳定的后台去做一些呈现。 

这些其实对于我们角度来讲,其实仔细去看的话,其实跟MASA这个模型其实有异曲同工之处,不同点其实在于MASA这个模型,其实中台是一个更像一个API的快速编排集成,而普元的中台其实是需要一个标准化,甚至有一些分各种领域,数据中台,业务中台,甚至是一些技术中台的承接,它是一个厚平台的理念。 

从我们直接角度来讲,这个可能是符合国内IT建设的一种趋势,当然大家也知道IT本身是一个螺旋式上升,未来可能随着时代的发展,可能在三五年内版本不断迭代,可能会有新的特性,一些理念进入,这都是有可能的。 

从这个角度来讲,我们去看这件事情,这是一个技术架构上的一个变化,就是说传统的,我们仔细去看一下,其实这里面没有去过多提我们普元经常会提到的微服务架构的一些说法,因为其实架构只是中台理念的一种实践模型,而这个其实是一个没有过多去涉及到的东西(技术细节的实现)。

第二部分就是说数字化时代,其实我认为IT的诉求会爆发,然后会推动一个技术的全民化。这个词其实国内很多技术人员分享就叫做技术的民主化,但这个词从我个人角度来讲,我觉得国内不是特别恰当的使用。从这个角度来讲,我们认为未来的IT会分为三大类用户使用,第一个是大众开发者,第二部分是IT或者IT业务人员开发者,第三部分是专业的开发人员。

作为分享,其实我相信现在能看到这个视频绝大多数是专业的开发人员和IT开发人员,比如说未来我们会去分享一些,或者是在之前我们已经听到过的我们顾主任的一个分享,他可能是站在一个技术中台,如何去做技术人员分享,这个部分是专业的一个开发人员,他会用专业的工具去解决专业的问题。 

对于我们认识最少的一部分其实是大众的开发人员,这也是数字化转型而带来的一个点,这些人员可能是对于业务非常熟悉,对于技术可能就是一个小白。对于这个解决方案来讲,其实它恰恰是在数字化时代里更多承接的一些人群。

对于这个角度来讲,我会从几个维度去看,第一个其实技术全民化在不同厂商的理解是不完全相同的,这一部分其实是Power APP,微软的一个产品体系的理解,它基本上把他所有东西都依赖于一个它的service,它的云上的一个service,基于这个把用户分成了一个,你可以理解为全民的developer和一个专业的developer,我觉得这个东西不是特别恰当一个原因是说它把云作为一个基础,说认为所有的云的服务不用你再去承接了。

但对于国内的一些架构体系里,其实私有云或者一些其他的基础能力,其实是需要甲方去进行采购,去建设,而这一部分其实恰恰是更专业的人群在做,比如说像普元这种公司在承接,或者其他的合作伙伴、友商在承接,这个其实是绝大多数云厂商在做的一个方案就是说我不希望让你看到对于IaaS、PaaS层的一个承建,你看到的就是一个广泛的开发者以及部分的人员可能会解决不了的一个问题。 

但对于我们的理解里,我们认为第一,专业的开发人员是中台的缔造者和技术中台的使用者。我这里面有两个概念,第一个就是中台的缔造者,因为无论怎样中台都会是有人在承建的,无论是甲方自行承建,还是普元这种中台厂商去承建。

其实中台的技术平台部分有大量的一个扩展性的工作,这一部分其实放出去其实是一个,对于一般的IT从业人员,比如说纯业务开发的一些供应商,甚至说一些广泛的一些业务人员,其实使用是很难使用的。 

所以从这一点角度来讲,我们认为业务开发人员去面对的是这么一个场景,中台的专业人员他会屏蔽到一个基础环境,也会把中台做成标准化,端到端,柔性的,当然有一部分业务人员会直接去使用技术的特性,有一部分的扩展能力却是专业人员来承接的,这也是我们普元最核心的定位之一。 

我们的IT从业人员或者业务开发人员是基于业务中台进行快速的创新的,这里面就有一个隐含的主题,业务中台是谁建设的?在我们整个理念里,首先是有专业开发人员和IT人员去统一建设去完成的,为什么这么说?

其实业务的理解其实不是一个技术单纯这么理解的,所以从这个角度来讲,我们可能会有更多的中台,比如产品中台、渠道中台、运营中台、营销中台。甚至可能细分到业务领域,比如说像腾讯信息平台,它内容中台,其实它角度来讲,它的内容是核心,比如说由不同厂商提供了不同的中台,对于这个角度来讲,其实我认为专业(业务)人员的开发,其实基于一个业务的开发,它的使用手段其实从我们刚才看那前者,其实专业的(业务)开发人员是专业的工具,那么这一部分其实我们一般理解来讲,它应该是统一的一个开发工具,他可能基于VS code做了一个二次开发的工具,它也可能将来走上一个web端的开发工具,但他都是一个相对于偏开发的人员,当然少量的会用一些低代码的一个方式去做。

第三部分其实是我们重点去阐述的一个说大众型的一个开发人员,这个基本上来讲从现在的展望看,他会基于一个web端的开发,对于这个角度来讲,我认为他未来会结合着人工智能驱动的一个低代码的,配置化的平台支撑。

为什么这么说?因为未来如果你中台化以后,你大量的开发人员使用的习惯形成,就会在中台被沉淀,他也有可能去做一些工作,这里面我们会提到了几个概念,第一个就是说,这里截图里会有两部分,第一部分是说我可以移动端,或者未来会有一些展开去讲,就是说它通过一个很简单的配置,能把一个APP进行开发出来。 

第二部分其实是一个业务的配置,业务配置其实有各种属性,或者是相关的一些内容,可以看到它是个标签化,纯业务化的业务人员开发的,这两部分实践分别落在了我们某一个产品里,移动平台里以及某一个甲方里做的一个业务中台,它面向的是一个业务人员使用的开发平台,或者是中台体系去做的,这个是我们认为是未来大众化开发的一个很核心理念。 

其实刚才我们如果留心的话,其实在微软整个Power APP的体现里,右侧里会提到了一个两种开发人员做,他会提到一个概念DevOps,回到我们对这个东西的一个理解,因为未来我们会去基于任何时间、任何点都能接入的情况下,无需进入甲方场地的情况下去有被控制的使用,相关的开发能力,或者远程使用开发能力。 

很核心的一个宗旨就是它是个集中的、统一、动态的授鉴权的一个远程开发为基础的。为什么这么说?就是说我们会发现如果我们开了VPN,我们其实是对用户或者对于一个开发者开放了所有权限。如果是我给它开放了一个root密码,我不可能为它去把root密码修改掉,而集中的管理其实是确实可以做这件事情。 

我们直接来看,其实未来可能会有一个承载体去承接相关的统一授鉴权的这一套体系里,对于云的厂商,对于云的IaaS层的管理,他可能在云的一个平台里去做,但是PaaS业务层的这种访问是谁会在承接呢?未来是在中台去做的。中台哪部分?可能会在一些有单独的授鉴权,也可能是一个DevOps,因为很多甲方那边是很难有一个很好的载体,DevOps却是一个很好的载体。

从我们直接角度来讲,我们会把软件研发协作平台也作为一个中台化的一个重要支撑。它支撑未来能够授鉴权的动态化的一个很核心的基础支撑。

总结回来看,我们认为未来面向后疫情时代的一个场景是什么样的?

首先我们可以允许开发人员在不同场合下去使用相关的资源、服务以及开发环境,这是第一个问题,而这些授鉴权是可以动态的去授鉴权的,而不是开放了root权限用户名密码方式。 

第二部分就说未来的架构一定不是基于裸的API这种方式去做的,一定会有一个更复杂力度的类似于MASA这种架构的一个支撑,它是一个粘合的一种方式,集成的方式做,但是对于我们角度来讲,我们中台有一部分功能是承接这一部分能力的,这是我们认为第二个观点。 

第三个观点其实是说面向未来的三种开发人员,尤其是第三种开发人员,大众开发人员往往是被忽略的人群,未来会形成一种全民化的IT承建的时候,它其实是整个中台发展的一个重要的核心的趋势,这也是为什么现在有很多做这一类平台的会被高估值的原因。

最后我们认为会有一个相关的体系去把他们相关的概念粘合在一起,而DevOps可能,我说是可能,未来可能会有更多的新的概念或者新的一个合理架构去承接,但是从现在看可能DevOps是一个很不错的载体,最后用我们的一个solgan,就是说我们希望我们未来的中台能够让我们一起去预见未来,谢谢。

关于作者:郝振明,现任普元软件产品部移动线总经理,十多年IT从业经验,一直专注于以平台化方式推进企业信息化、数字化转型。近两年来,一直以平台化、中台化、移动中台化的方式协助企业推进企业的数字化和移动化建设,整体负责普元移动平台(Primeton Mobile)的产品研发和交付工作,曾负责推动某大型保险公司官方App的规划和实施、某国有大型央企的移动平台的总体建设和实施、某大型电信企业的移动平台的规划及建设、某国有投资公司的移动平台的规划建设以及多家中大型银行和城商行的移动中台的规划和建设。在数字中台、移动中台、AI与中台结合等领域有丰富的经验和独到的见解。

声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    云计算 猎头职位 更多
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号