精华内容
下载资源
问答
  • 工程师职业发展四个阶段

    千次阅读 2016-11-04 17:00:53
    工程师职业发展四个阶段
    工程师职业发展的四个阶段

    在我看来, 一个工程师的养成, 可以分为四个阶段:
    新人期
        硬技能: 理论转化实践
        软素质: 养成基本的职业观
    成熟期
        硬技能: 积累业务知识, 积累技术知识
        软素质: 固化职业观
    发展期
        硬技能: 明确细化的职业发展方向, 深入研究[可能技术, 可能管理, 可能两者兼具]
        软素质: 逐步总结并形成自己的方法论
    事业期
        硬技能: 释放自己, 创造价值
        软素质: 输出方法论, 影响其他人

    我自己目前徘徊在发展期, 能看到的问题有限. 另一方面, 俗话说"三岁看大, 七岁看老", 很大程度上, 职业发展的前面两个阶段, 已经决定了未来的职业发展路径.

    所以, 这篇文章, 我主要针对新人期/成熟期的一些问题, 进行阐述分析.

    现象: 成长越来越慢

    在我接触过的工程师中, 这是一个非常普遍的现象. 并且, 这个现象多发于工作3年以上的同学身上.


    这张图, 是我理解的职业发展模型.

    首先, 职业发展过程, 是阶梯式的, 一个台阶一个台阶往上走, 而不是线性提升.
    其次, 职业发展前期, 上台阶所需时间更短, 即: 成长速度更快.

    是什么造就了这种现象?
     
    我认为, 造成这种现象, 主要有两方面的原因:
    随着职业等级的提升, 所需的基本素质越来越抽象
    没有及时从"积累具体知识"调整到"提升抽象思维"
    随着职业等级的提升, 所需的驱动力, 越来越转向内在
    没有及时从"被动成长"调整到"主动成长"
     
    首先, 没有及时从"积累具体指示"调整到"提升抽象思维"

    回到职业发展的四个阶段, 看看各阶段职级都在做什么样的事情:

    新人期: 完成一项具体的任务.
    成熟期: 完成一个项目的整体把控.
    发展期: 引领一个专业方向的发展.
    事业期: 引领一个或多个专业方向的团队, 将技能转化为实际生产力.

    很容易看出, 随着职业的发展, 我们需要具备的基本素质越来越抽象.

    结合上面的职业发展模型图, 一个人的成长, 分为两个方向:
    一方面是横向的同级别的知识/经验积累
    另一方面, 是更高层级的抽象思考

    我认为, 这就是造成这个现象的第一个关键点.
    很多人都只关注了同级别的知识积累, 而一个人能Hold的同级别知识总量是有限的.

    所以, 工作两三年后, 相关的东西就积累的差不多了, 你很难找到一些自己"不会"的东西.
     
    那么, 问题就来了:
    感觉成长越来越慢了
    不知道该学什么了
    是不是该考虑做做管理了
    ......

    建议: 提前用下一个职业等级的思路(或者说超越当下的视角), 去思考问题.

    其次, 没有及时从"被动成长"调整到"主动成长"

    还是从职业发展的四个阶段来看, 每个阶段是什么在驱动你做事情?

    新人期: 按照领导的安排, 1, 2, 3个步骤, 完成一件事情.
    成熟期: 按照领导的安排, 把一件大的事情, 拆解到具体的事情, 独立完成, 或者和其他人合作完成.
    发展期: 在完成领导安排的既定事务的同时, 还要从专业角度主动的发现并解决问题.
    事业期: 需要自主的从公司或产品战略出发, 全方位找到要解决的问题.

    可以看出, 随着职业发展, 驱动力越来越收敛到自身.

    前两个阶段, 更多的是公司的事情驱动着你的前进, 通过公司的驱动力, 被动的获取成长.
    后两个阶段, 更多则需要自己主动的驱动事情往前走, 通过这种方式, 主动的获取成长.

    所以, 从这个角度讲, 一个人要想获得更好的职业发展, 一定要很好的去培养自己的主动性, 一方面主动获取成长, 另一方面, 还要在公司中, 主动的承担更多的问题, 这样才能够获取到更多思考的机会.

    如何避免走向平庸?

    上面所提的现象, 如果不注意去克服, 就很容易走向平庸.
    在上面的分析中, 有一些建议, 这里, 要分享的是3点具体的总结.

    学习方法

    我对学习方法有一个抽象的总结, 是在阅读了<如何阅读一本书>这本书之后, 在一次和团队成员的OneOnOne中总结出来的.



    我认为, 知识的传递, 和网络通信模型有异曲同工之妙.

    从知识的分享者角度来看, 比如, 一本结构良好的书, 应该有几个明确的, 抽象的基本观点. 其他所有的内容, 都是围绕着这些基本观点, 一层一层的将问题具象化, 帮助读者逐层的理解最终那几个抽象的观点.
    (Ps. 并不适用所有书籍, 比如小说类书籍, 可能抽象程度更高, 更加隐晦)

    从读者角度来看, 一定是先理解了那些具体的实例, 然后才能逐步的Get到原作者想要表达的抽象观点. 通过这个过程, 吸取原作者分享的知识.

    所以, 在技术领域的学习方面, 我觉得有两点特别关键:
    从实践出发, 因为有效的信息传递大部分都是通过这层完成. 所以, 大量的实践才能让你Get到原作者直接传递的更多信息.
    以抽象的思想为目标, 所有实践的目的, 都是为了尽可能多的Get到原作者表达的抽象思想, 只有理解了抽象的思想, 才能用它指导自己解决大量同类问题, 甚至对原作者提出的概念进行延伸, 形成自己的方法论.

    工作方法

    从工作的角度去看一个问题, 我认为分3个阶段:
    接收需求
    执行需求
    完成需求

    我见过相当一部分工程师, 其实只有"执行"这一个阶段.

    拿到一个需求, 草草看几眼MRD, 然后就开始编码, 这是对自己不负责, 对公司不负责, 对其他同事不负责.

    对一个系统的设计和实现之间的权衡, 我有这样一个观点: 思考1-3年的变数, 设计6-12月的架构, 只实现当下需要的.

    所以, 我认为, 作为一名优秀的工程师, 接到一份需求的时候, 首先应该做的就是认真的阅读需求, 从产品角度思考这个需求背后的逻辑. 只有真正理解一个需求之后, 才能够考虑到未来1-3年可能存在的变数, 才可能设计出符合6-12月业务发展所需的架构.

    再来看经常被忽视的"完成需求"阶段. 通常, 工程师在整个项目的研发过程中, 只是其中一环, 要使得整个流程能够顺畅的运转起来, 每一环就必须都及时的通知到下一个环节.

    上面这是站在公司角度考虑的.

    另一方面, 站在个人角度而言. 对自己做过的事情, 复盘总结, 往往是最佳的成长机会. 因为, 当你完成一件事情之后, 你就对事情的全盘有了了解. 这个时候, 回过头去看这件事情, 就是现成的"站在更高视角看问题"的机会.

    技能是什么?

    技能 = 技术 + 能力.

    技术, 是由你的知识体系, 外加你的经验构成的. 它能够通过量的积累直接获得提升. 不过, 它只能用来解决已知的问题.

    能力, 是由你的抽象思维能力, 你已有的方法论构成的. 它不能直接通过量的积累获得. 一方面, 它会由天生的智商情商等决定一部分; 另一方面, 要在量化积累的基础上, 经过深度的思考, 找寻问题的本质, 引发质变才能获得. 能力可以被用来解决未知问题.

    技术和能力是相辅相成的. 分享这一点, 是因为在我看来, 如果能够认清两者的区别, 对两方面的应用和提升就会更加得心应手.

    新人期常见问题分析

    下面列举三个在我平时和团队成员OneOnOne过程中, 经常碰到的软素质方面的问题, 以及我认为比较好的解决方案, 供参考.

    如何处理并行任务?

    有没有碰到过你的Leader在你上一件事情没有完成的时候, 给你就分配了下一件事情的情况? 同时, 又来了几个来自其他同事的需求.

    在新人期的工程师, 主动性方面通常并不会差, 他们希望快点把所有问题解决, 但又无法同时都解决掉.

    所以, "好烦啊", 焦虑感就产生了.

    一般而言, 很多新人都会使用下面两种方式之一进行处理:
    FIFO: 谁先找我, 就先把谁的问题处理完, 然后再去看后面的事情.
    LIFO: 谁现在来找我, 我就处理谁的问题.

    哪种方式好呢? 都不好!

    首选方案, 是建议大家查阅时间管理相关的资料, 找到适合自己的解决方案.

    下面是我建议的一种解决方案(GTD工作法):
    全身心投入当下正在处理的事情
    如果有新的需求过来, 2分钟内, 判断出这件事情的重要性.
    重要且十万火急的事情, 立即处理
    否则, 扔进自己的TODO List, 设定一个时间提醒自己再进行关注.
    完成手头的事情后, 从你的TODO List整理, 找出下一件最重要的事情.
    如果有多项重要紧急的事情, 无法独自完成, 将问题暴露给Leader.
    每天早晨看看自己的TODO List, 对当天一定要处理的事情有明确的认知.
    每周review回顾自己做过的事情.

    看看上面方法的核心是什么? 让所有的事情, 掌握在你的TODO List中, 对它们形成一种明确的管理. 当一切都了然于胸的时候, 你自然知道该怎么为这些事情分配自己的时间片.

    无法找到当下最重要的事情?

    上一个问题的建议方案中提到, 我们需要找到最重要的事情.

    那如何找到最重要的事情呢?

    从我以往的经验来看, 在新人期和成熟期碰到的事情中, 只需要问一个问题, 就能够判断大部分事情是否重要.

    "如果这件事现在不做, 会有什么后果?"

    比如:
    会导致这个版本不能如期发布
    会导致在线服务故障
    ...

    不过, 通常我们得到的答案都是"没什么影响".

    新人很容易陷入无法判断优先级的困境, 这是人类天性的弱点. 我们会对未知产生恐惧, 进而产生焦虑, 进入一个恶性的循环状态.

    解除这种状态的思路, 就是让未知变成已知.

    如何准确评估排期?

    经理安排下来一个项目, 询问排期, 这个时候, 新人很容易慌乱, 不知道该如何评估.

    这个问题的产生, 和上面两个问题, 是一样的. 因为对新人而言, 并不了解一个项目到底需要多少时间才能完成.

    那就束手无策了吗?

    试想, "读完<钢铁是怎样炼成的>需要多少时间?", 面对这个问题, 你怎么解答?

    思路是不是这样?
    看这本书有多少页
    经验告诉自己, 读一页需要3分钟.
    然后计算出需要的总时间.

    软件开发的排期预估, 是同样的思想.

    大事化小.

    大事是不明确的, 无法直接给出工作量预估, 那么, 把它拆解到你能预估的小的事情, 就可以了.

    同时, 在你评估过工作量的事情, 最终完成之后, 去复盘, 看自己的评估是否准确, 如果有偏差, 思考问题出在哪里, 长此以往, 一些大事, 你也就可以直接评估出工作量了.

    总结

    通过上面三个问题, 可以看出一些共性, 三个问题, 都是通过把抽象的, 不明确的事务, 拆分成具体的, 明确的事务, 使我们心里更加有谱.

    如果你有这三个问题之外的其他问题, 不妨也试试这种思路.

    成熟期常见问题分析

    成熟期, 是工程师成长中的一个关键时期, 迈过去这个坎儿, 更多需要的是精神层面的东西. 所以, 这里提到的成熟期的三个常见问题, 都和"心"有关.

    如何保持高速成长?

    首先, 请再思考下"现象: 成长越来越慢"中, 提到的造成这个现象的原因:
    没有及时从"积累具体知识"调整到"提升抽象思维";
    没有及时从"被动成长"调整到"主动成长"

    仔细研究这两个原因, 都可以看做是在没有挑战性的状态, 形成了舒适区造成的.

    对大部分工程师而言, 参加工作, 是第一次正式的和社会接触, 基本正式脱离了"学习压力"所带来的约束. 而新人期又可以"轻松的"(主要指心里压力方面)通过公司获取被动性的成长.

    温水煮青蛙. 大部分人都会被煮熟的.

    请思考一个问题, "是不是你所学的20%就足以解决工作中80%的问题".
    请再思考一个问题, "是不是工作中剩下20%的问题, Google和咨询别人可以全部解决".

    进入成熟期后, 很快, 工作就很少, 甚至不能给你的成长产生驱动力了.

    剩下的, 就得靠自己. 告诉自己两件事, "主动提升", "主动思考下一职级的问题".

    我想通过这篇文章传递的核心价值, 就是这一点, 希望能帮助一些工程师(尤其工作3年内的), 意识到舒适区, 并跳出舒适区.

    如何使自己更自信?

    这个问题, 源自一周前和一位团队成员的沟通.

    我仔细的思考了自信的来源, 然后我认为, 自信是成就感驱动的.

    那成就感来自哪里呢? 我认为可以从内部/外部两个角度去看:
    内部: 来自自己的认可
    自己的技术或能力得到提升, 让自己觉得自己牛逼
    将技术或能力, 应用到实际项目中, 让自己相信自己真牛逼
    外部: 来自别人的认可
    将自己的实践, 讲出来让别人认可, 让别人觉得自己牛逼
    将自己的实践, 抽象总结出来, 帮助别人变得牛逼

    每个人因为性格的不同, 成就感获取的主要渠道可能不尽相同, 但结合自己的情况, 找到适合自己的成就感获取渠道, 通过成就感建立自信, 是一种有效的方法.

    不过, 自信和自大一线之隔, 谨慎.
    展开全文
  • 软件开发生命周期的四个阶段

    万次阅读 2017-12-13 13:58:44
     规划阶段是理解为什么要建立一信息系统以及确定如何建设的基础。规划阶段由两步骤: 1. 项目启动期间,系统对于组织的业务价值已经被确认:如何降低成本或增加收入?大多数新系统的想法来自于在IS区域以外...

    规划阶段

             规划阶段是理解为什么要建立一个信息系统以及确定如何建设的基础。规划阶段由两个步骤:

    1.      项目启动期间,系统对于组织的业务价值已经被确认:如何降低成本或增加收入?大多数新系统的想法来自于在IS区域以外(例如来自市场部门,会计部门)系统请求的形式。系统请求提供业务的简要摘要需要,并解释了如何支持需求的系统将创造商业价值。信息系统部门与产生信息的人员或部门一起工作要求(称为项目发起人)进行可行性分析。

    将系统请求和可行性分析呈现给信息系统审批委员会(有时也称为指导委员会),决定该项目是否应该进行。

    2.      一旦项目获得批准,即进入项目管理。在项目管理期间,项目经理创建一个工作计,工作人员的项目,并提出技术以帮助项目团队控制和指导项目整个SDLC。项目管理的交付成果是一个项目计划描述了项目团队如何开发系统

     

    分析阶段

    分析阶段回答谁将使用系统的问题,系统将会如何做什么,以及何时何地将被使用。 在这个阶段,项目组调查任何目前的系统,找出改进的机会,并为新系统形成一个概念。

    这个阶段有三个步骤:

    1.      一个分析策略是用来指导项目团队的工作。这样的策略通常包括对当前系统(称为现状系统)及其系统的分析问题,然后再设计一个新的系统(称为待定系统)。

    2.      下一步是需求收集(例如,通过访谈或调查问卷)。分析这些信息 - 连同项目的投入赞助商和许多其他人– 产生新系统的开发概念。然后系统概念被用作开发一套业务的基础分析模型,这些模型描述了新系统如何运作开发。

    3.      系统分析,系统概念和模型被合并成一个文件,称为系统提案,系统提案被提交给项目发起人等关键决策决策者(例如审批委员会成员),由他们决定是否决定项目应该继续前进。

    系统建议是最初的交付成果,描述了新系统应该满足的业务需求。因为这是新系统设计的第一步,一些专家认为用“分析”作为该阶段的名称是不合适的,有人认为更好的名字是“分析和初步设计”。大多数组织继续用分析作为该阶段的名称,所以我们也在本书中使用它。只是请记住,分析阶段的交付成果既是分析性的,也是高层次的新系统的初始设计。

    设计阶段

    设计阶段决定系统如何在硬件,软件,和网络基础设施方面操作;并决定用户界面,表单和报告; 特定的程序,数据库和将需要的文件。虽然关于这个系统的大部分的战略决策都是在分析阶段制定系统概念的过程中,但是设计阶段步骤确切地确定系统将如何操作。

    在设计阶段有四个步骤:

    1.      首先产生设计策略。它阐明了系统是否会被公司自己的程序员开发,或者外包到另一家公司(通常是咨询公司),或者公司是否会现有的软件包。

    2.      形成系统的基本结构设计,基本结构设计说明了硬件、软件和网络基础设施的使用。多数情况情况下,系统将添加或更改已经存在的基础设施组织。界面设计规定了用户如何在系统(例如,诸如菜单和屏幕上的按钮的导航方法)以及系统将使用的窗体和报告中的操作流程。

    3.      制定数据库和文件规范。这些确切地定义了什么数据将被存储并存储在何处。

    4.      分析团队做出程序设计,确定需要写什么程序,每个程序要做什么。

    这些交付成果的集合(架构设计,界面设计,数据库和文件规范,和程序设计)是系统的规格说明书,转交给编程团队来实现。在设计阶段结束时,可行性分析和项目计划进行重新审查和修改,另外由项目发起人和批准作出决定委员会是否要终止项目或继续。

    实施阶段

    SDLC的最后阶段是系统实施阶段,在这个阶段系统被真正创建(或者在包装软件设计的情况下购买)。这是最受关注的阶段,因为对于大多数系统来说,它是开发过程中最长和最昂贵的一部分。这个阶段有三个步骤:

    1.      系统建设是第一步。创建系统并测试以确保它按设计执行。因为修复bug的成本可能是巨大的,所以测试是实施过程中其中一个最关键的步骤。大多数组织给予测试更多的时间和关注,而不是开始写的程序。

    2.      按安装系统。安装是关闭旧系统,打开新系统的过程。转换系统的一个最重要的方面是一个培训计划的开展,教导用户如何使用新系统并且帮助管理由新系统造成的改变。

    分析团队为系统建立一个支持计划。这是计划通常包括正式或非正式的后审查以及动态地确定系统的主要和次要的需求改变。
    展开全文
  • 阿里数据中台演进四个阶段

    千次阅读 2020-10-21 10:50:23
    「数据中台」已经从一技术词汇,慢慢转变成为企业界的共识:如果想要在信息商业中拥有一席之地,就必须要借助云计算和数据的力量,完成企业的数字化转型。 只是,数据到底在转型中扮演什么样的角色,要如何利用好...

    2009年,阿里云开启了中国的云时代。

    十年市场教育,中国的公有云市场也已经从无到有,迈过了300亿元大关,预计到2021年更是能达到900亿元的规模。

    「数据中台」已经从一个技术词汇,慢慢转变成为企业界的共识:如果想要在信息商业中拥有一席之地,就必须要借助云计算和数据的力量,完成企业的数字化转型。

    只是,数据到底在转型中扮演什么样的角色,要如何利用好数据,数据上云后如何支持业务,企业需要哪些核心能力?这些问题,对于大多数的非技术业者而言,仍然是知其然不知其所以然。

    一般而言,「数据上云」更多强调的是数据的存储和计算,而要让数据能够赋能业务,则更需要「数据中台」来进行数据处理,进而支持业务决策和优化运营。

    这是「数据中台」和「数据上云」最大的不同。

     

    1.数据中台最终要帮助企业降本增效

    作为数据业务领域的先行者,阿里云总裁张建锋,在最新的演讲中,把数据智能作为数据处理的核心能力:

    今天处理数据绝大部分都不是单纯靠算力,算力是基础,而主要是靠上面的智能化的算法,算法跟各行各业的业务有密切相关,所以阿里巴巴通过与各行各业合作,沉淀了一个完整的智能化平台。我们认为在基础设施的云化、核心技术的互联网化以及在之上叠加大数据+智能化的平台和能力,完整地组成了阿里云智能的整体能力框架。这是我们核心的能力。

    这里面传达出了几个核心信息:

    1.云计算为数据智能提供了基础算力;

    2.行业(经验转化而来的)算法是智能处理数据的主要工具;

    3.数据+智能的平台和能力,前提是基础设施的云化和核心技术的互联网化;

    这是阿里云所认为的数据处理的能力框架,而在目前的市场上,我们通常把这种能力框架称为「数据中台」。

    舆论往往会更强调技术的作用,强调技术对业务的推动作用,但事实上,在商业领域,更多的时候,技术发展都是跟着业务走,技术的发展常常来自于业务需求和业务场景的倒逼。

    例如,随着越来越多的企业把业务流程上云,日益增长的数据存储和仍然稀缺的数据应用就成为了企业的主要矛盾之一,而且,这种矛盾不是一天就能够解决,需要从业务、技术、组织几个不同的领域一起来探寻数据的解决方案。

    简单来说,「数据中台」就是这一系列解决方案的基础设施。

    数据中台不是一套软件系统,也不是一个标准化产品,站在企业的角度上,数据中台更多地指向企业的业务目标,也即帮助企业沉淀业务能力,提升业务效率,最终完成数字化转型。直白点说,中台只讲技术,不讲业务,都是大忽悠。

    这么多年来,互联网的发展都建立在更低成本、更高效率的连接之上,线下也一定会复制线上的发展逻辑,用更多连接带来更多的数据。

    比如,通过摄像头,我们就可以低成本建立顾客的Face ID档案,从而丰富人和店铺的关系数据,店铺进而可以根据数据分析结果,给顾客提供更有针对性的服务项目。

    更多连接,更低成本,更高效率——所有跟流通相关的线下生意,数据中台的意义就在于降本增效,别无其他。

     

    2.数据中台发展经历了四个阶段

    在数据史上,2015年是一个重要的关口:2015年全年产生的数据量等于历史上所有人类产生数据的总和,这是数据从乘数型增长全面转向了指数型增长的方向标,海量数据处理成为全人类的挑战;

    同一时间,阿里巴巴向外发布了DT时代的提法,用Data Technology(DT,数据技术)替代了Information Technology(IT,信息科技),强调数据技术将成为未来商业的驱动力。

    一个标志性的事件是:阿里巴巴用几百人的运营团队支撑了几万亿的GMV,其中60%-70%来源于数据支持的机器决策,机器智能赋能业务,用更低的成本,更高的效率去服务顾客,提供千人干面的个性化体验。

    未来学家认为,机器智能最终会超越人的智慧,而这两者的临界点就被称为「奇点」。从这点来说,我们可以认为,阿里巴巴已经跨越了奇点,真正成为一家数据公司。

    下面我们从数据的角度来梳理下这个过程。

    阿里巴巴的数据处理经历了四个阶段,分别是:

    一、数据库阶段,主要是OLTP(联机事务处理)的需求;

    二、数据仓库阶段,OLAP(联机分析处理)成为主要需求;

    三、数据平台阶段,主要解决BI和报表需求的技术问题;

    四、数据中台阶段,通过系统来对接OLTP(事务处理)和OLAP(报表分析)的需求,强调数据业务化的能力。

     

    第一个阶段是数据库阶段。

    淘宝还只是一个简单的网站,淘宝的整个结构就是前端的一些页面,加上后端的DB(DataBase,数据库),只是个简单的OLTP系统,主要就是交易的事务处理。

    这个阶段,互联网黄页才刚刚出现,数据来源大部分还是传统商业的ERP/CRM的结构化数据,数据量并不大,也就是GB的级别。简单的DB就能满足需求。

    这里要说明的是,OLTP的交易场景和OLAP的分析场景区别在于,前者强调高并发、单条数据简单提取和展示(增删改查),后者对并发的要求不高,但是需要打通不同的数据库,比如ERP、CRM、行为数据等等,并且能够进行批量的数据处理,也就是通常说的低并发,大批量(批处理)、面向分析(query+计算,用于制作报表)。

    随着淘宝用户超过100万,分析需求的比重就越来越大。淘宝需要知道它的交易来自于哪些地区,来自于哪些人,谁在买淘宝的东西等等,于是,就进入了数据处理的第二个阶段。

    第二个阶段是数据仓库阶段。

    正如前文所述,OLTP和OLAP对数据存储和计算的需求非常不一样,前者处理的是结构化的交易数据,而OLAP对应的是互联网数据,而互联网里面数据量最大的是网页日志,90%以上的数据都是点击(log)什么的非结构化的数据,而且数据量已经达到了TB的级别。

    针对分析需求,就诞生了数据仓库(DW,DataWarehouse),我2004年加入阿里,用Oracle RAC搭建了阿里巴巴第一个DW,解决大量数据的存储和计算需求,也就是去把非结构化的数据转化成结构化数据,存储下来。

    这个阶段,DW支持的主要就是BI和报表需求。

    顺带提一下,数据库(DB)这时也在从传统DB转向分布式DB。主要原因是以前交易稳定,并发可控,传统DB能满足需求,但是后来随着交易量的增长,并发越来越不可控,对分布式DB的需求也就出来了。

    随着数据量越来越大,从TB进入了PB级别,原来的技术架构越来越不能支持海量数据处理,这时候就进入了第三个阶段。

    第三个阶段是数据平台阶段,这个阶段解决的还是BI和报表需求,但是主要是在解决底层的技术问题,也就是数据库架构设计的问题。

    这在数据库技术领域被概括为「Shared Everything、Shared Nothing、或Shared Disk」,说的就是数据库架构设计本身的不同技术思路之争。

    Shared Everything一般是针对单个主机,完全透明共享CPU/MEMORY/IO,并行处理能力是最差的,典型的代表SQLServer。

    Shared Disk的代表是Oracle RAC,用户访问RAC就像访问一个数据库,但是这背后是一个集群,RAC来保证这个集群的数据一致性。

    问题在于,Oracle RAC是基于IOE架构的,所有数据用同一个EMC存储。在海量数据处理上,IOE架构有天然的限制,不适合未来的发展。阿里巴巴的第一个数据仓库就是建立在Oracle RAC上,由于数据量增长太快,所以很快就到达20个节点,当时是全亚洲最大的Oracle RAC集群,但阿里巴巴早年算过一笔账,如果仍然沿用IOE架构,那么几年后,阿里的预计营收还远远赶不上服务器的支出费用,就是说,如果不去IOE,阿里会破产。

    Shared Nothing的代表就是Hadoop。Hadoop的各个处理单元都有自己私有的存储单元和处理单元,

    各处理单元之间通过协议通信,并行处理和扩展能力更好。中间有一个分布式调度系统,会把表从物理存储上水平分割,分配给多台服务器。

    Hadoop的好处是要增加数据处理的能力和容量,只需要增加服务器就好,成本不高,在海量数据处理和大规模并行处理上有很大优势。

    综上,用一个关键词来概括第三阶段就是「去IOE」,建立Shared Nothing的海量数据处理平台来解决数据存储成本增长过快的问题。在阿里巴巴,前期是Hadoop,后期转向自研的ODPS。

    第四阶段是数据中台阶段。

    这个阶段的特征是数据量的指数级增长,从PB迈向了EB级别,未来会到什么量级,我也说不清楚。

    主要是因为,2015年之后,IOT(物联网)发展起来,带动了视图声(视频、图像、声音)数据的增长,未来90%的数据可能都来自于视图声的非结构化数据,这些数据需要视觉计算技术、图像解析的引擎+视频解析的引擎+音频解析的引擎来转换成结构化数据。5G技术的发展,可能会进一步放大视图声数据的重要性。

    线下要想和线上一样,通过数据来改善业务,就要和线上一样能做到行为可监测,数据可收集,这是前提。线下最大量的就是视图声数据,而这些数据靠人来手工收集,肯定是不靠谱的,依靠IOT技术和算法的进步,最终会通过智能端来自动化获取数据。

    要使用这些数据,光有视觉算法和智能端也不行,要有云来存储和处理这些数据,以及打通其他领域的数据。

    另一方面,从业务来看,数据也好,数据分析也好,最终都是要为业务服务的。也就是说,要在系统层面能把OLAP和OLTP去做对接,这个对接不能靠人来完成,要靠智能算法。

    目前的数据中台,最底下的数据平台还是偏技术的,是中台技术方案的其中一个组件,主要解决数据存储和计算的问题;在上面就是一层数据服务层,数据服务层通过服务化API能够把数据平台和前台的业务层对接;数据中台里面就没有人的事情,直接系统去做对接,通过智能算法,能把前台的分析需求和交易需求去做对接,最终赋能业务。

    综合上述两个方面,我认为未来要做好数据中台,只做云或者只做端都不靠谱,需要把两者合起来做。智能端负责数据的收集,云负责数据的存储、计算、赋能。端能够丰富云,云能够赋能端。

    未来的数据中台,一定是「AI驱动的数据中台」,这个中台包括「计算平台+算法模型+智能硬件」,不仅要在端上具备视觉数据的收集和分析能力,而且还要能通过Face ID,帮助企业去打通业务数据,最终建立线上线下触达和服务消费者的能力。

    真正做到「一切业务数据化,一切数据业务化」。

     

    3.数据中台需要具备三大能力

    那么,数据中台是怎么来赋能业务使用数据的呢?这里举一个TCIF的例子。

    现在大家可能都认识到了统一消费者数据的必要性,但是在几年前,哪怕是在阿里巴巴,消费者的信息也分散在各个业务中,碎片化、散点化,而业务当时需要把这些分散的人的数据集中起来,进行人群画像。道理很明白,人群画像越清晰,服务就会越精准。

    怎么统一消费者数据?

    首先,定义埋点规范,同一个人就用同一个标识,ID打通,也就是所谓的One ID;

    其次,还会碰上一家人使用一个登录帐号的问题,那么就需要建立同人的数据模型,通过一些方式,比如,IP网段是不是一样,来分辨出具体的那个人,建立AID(Alibaba ID);

     再次,每个人还有各种网络行为,要如何把这些行为结构化,装到各种框架里面?这个特别难,我们当时主要是跟人类学家合作,一起把行为的分类树做出来。这个分类树非常细,甚至能够把一个人的发质都结构化了。

    最后,就需要通过算法模型,把所有的标签都贴回到人上面,当时TCIF用上述方式生产出了3000多个消费者标签。

    这些标签被阿里巴巴的其他产品所使用,比如阿里妈妈的达摩盘就把这些标签提供给广告主,让广告主能够通过标签去建立人群画像,进行人群细分,以及建立投放用的人群包。

    从TCIF的例子来看,数据中台未来一定需要具备三种能力。

    第一是数据模型能力。

    在业务层面,业务抽象能够解决80%的共性问题,开放的系统架构来解决20%的个性问题,但同时又要把平台上的业务逻辑分开,因为不同的业务逻辑之间可能有冲突。

    这在数据中台就表现为数据的中心化,也就是数据的高内聚、低耦合,需要对共性问题抽象出业务的规则,建立数据模型,一个好的内聚模块能够解决一个事情,同时又要降低模块和模块之间的耦合度,让模块具有良好的可读性和可维护性。

    这里的前提是要有真正懂业务能沉淀经验的人,以及要在企业层面开展数据治理,让数据能够准确、适度共享、安全地被使用。

    第二是AI算法模型能力。

    要实现数据业务化,前提是做到数据的资产化。要能够从数据原油里面,去提炼出可以使用的汽油。

    比如说数据的标签化,背后就有投入产出比的考量:通过标签,广告主可以非常方便快捷地去建立自己的人群包,实现精准营销,同时投放的ROI也是可见的、透明的,广告主可以自己去评估数据资产的使用情况。

    第三是行业的应用能力,也就是我们通常说的数据业务化能力。

    和数据中心化类似,数据业务化也需要很强的行业经验来指导,建立合适的业务场景,在场景里面去使用数据,从而体现数据的价值,来大大扩展数据在行业中的应用能力。

    在奇点云和某酒类客户的合作过程中,我们最大的收获不是帮助客户完成了数据中台的搭建,而是通过理解客户的业务,把其经验沉淀到数据中台,从而赋能客户更多的端上的创新业务,带来了生意的增量。

    最后总结一下,未来的数据中台最重要的不单是数据的存储和计算能力,而是要能从「存、通、用」的角度和业务结合,帮助企业从数据中获取价值,沉淀数据资产,最终用数据赚钱。

     

    展开全文
  • 技术人成长的四个阶段

    千次阅读 2017-11-02 00:00:00
    通过整理团队岗位书,发现也能看到自己过去这十多年成长的一过程,在这里和大家做一简单的分享。阶段1:入门学习阶段 (毕业后1~3年不等)1)在同事的帮助下完成任务, 走入职场的第一份工作,如果能得到遇到...
        

    640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

            最近两天花了一些时间整理团队的岗位说明书。通过整理团队岗位书,发现也能看到自己过去这十多年成长的一个过程,在这里和大家做一个简单的分享。


    阶段1:入门学习阶段 (毕业后1~3年不等)

    1)在同事的帮助下完成任务, 走入职场的第一份工作,如果能得到遇到优秀的同事或者领导的指导,那是一份幸事。

    2)适应职场的工作环境 , 找到适合自己的工作方法,非常的重要,务必走出自己的舒适区,切勿停留在名校的光环下。

    3)遇到问题,能及时向上反馈,并在同事的帮助下解决问题。在职业阶段的初期,遇到问题请教,并不是一件丢人的事情。不能拿出结果,才需要好好反思。


    阶段2:独立贡献阶段 (毕业后3~5年不等)

    1)按时高质量完成分配的任务,拿结果,更快更好的拿结果,就是这个阶段的第一要务。

    2)独立解决有挑战性的任务,如果想尽快的晋升和脱颖而出,多参与攻坚的项目,就是一条“捷径”。

    3)独立解决超出预期的问题, 对于互联网行业的工程师理当如此,现实的业务情况往往超过开发初期的设想。如果能跑到业务需求的前面,那么就能有高价值的体现。

    4)能有项目/系统全局的认知水平,初中级工程师与高级工程师的典型分界线。


    阶段3:带团队一起贡献阶段 (毕业后5~9年不等)

    1)具备深度和广度相结合的专业知识和技能,如果说前5年可以往一个方向专下去,那么现在需要开始横向扩展了,了解前端/后端/测试/运维的知识和技能。

    2)能在团队内外分享经验,扩展自己的技术影响力,通过分享提高自己的沟通能力。

    3)协助团队成员处理问题并传授处理问题的方法,从自己明白到让团队明白,通过带应届的实习生或者刚毕业1~2年的初级工程师,梳理知识和技能体系。

    4)带领团队一起拿结果,无论是走技术线还是管理线,都不是一个人在战斗了,拉着团队一起往前冲,解决团队中的一切”短板“。

    5)如果走管理路线,能完成5人以上团队的组建,招聘,选拨和培养工程师梯队是必须要掌握的技能。


    阶段4: 领导创新阶段 (毕业10年以上)

    1)对行业和领域具备一定的前瞻性,切勿停留在技术本身,也需要成为所在行业或者领域的专业人士,清楚业务的下一步走向。

    2)专业水平得到组织内部及同行的认可,树立自己在技术社区的品牌,无论是建立自己的开源项目还是输出项目经验。

    3)为团队制定发展战略,无论是做TechHead还是Chief Engineer这个时候,完成代码已经不是第一要务,更重要的是规划整个团队技术栈的发展,并实实在在的落地。


    如果你想了解更多,可以参考之前写过的一些技术人成长的文章1文章2或者文章3)。


    最后请大家注意身体,保持好身材。

    0?wx_fmt=jpeg


    扫描二维码或手动搜索微信公众号【架构栈】: ForestNotes

    欢迎转载,带上以下二维码即可

                              640?wx_fmt=jpeg


    点击阅读原文”,所有【架构栈】近期的架构文章汇总

    ↓↓↓

    展开全文
  • SCM供应链管理系统思考四个阶段

    千次阅读 2019-09-18 07:15:02
    因此,供应链管理不再局限于企业内部管理效率的提升,逐渐的将客户(或消费者)也纳入到供应链管理之中,在这个阶段,供应链管理开始真正意义上转变为涵盖商品全流程的供应链管理系统。   第三阶段:信息化主导的...
  • 零售大数据分析应用的四个阶段

    千次阅读 2017-10-18 11:39:38
    要建立数学模型要解决三问题,首先是数据的量要达到一定的规模和质量;其实是用什么样的算法,如用时间序列还是回归或是人工智能算法;第三是“数据+算法”可以围绕什么业务场景,建立什么样的模型及参数。 中国...
  • 中国商业环境发展的五个阶段浅析

    千次阅读 2017-03-04 20:00:37
    中国商业发展的五个阶段,我们需要了解自己处于什么阶段,每个阶段背后的思维,商业的顶层设计。
  •  提起区块链,还要从比特币说起。从比特币诞生以后,经过一段时间的沉积,到2012年、2013年以后,才逐步为社会所认可,... 一般将区块链的发展划分为三个阶段,分别称为区块链1.0、区块链2.0和区块链3.0。  ...
  • 经过几十年的发展、摸索与思考,互联网应用(而不是接入)的发展进入了一个新的阶段,在这个阶段,对互联网的认识正在逐渐现实而理性,互联网的应用也越来越多地接近民众的真实需要,从而诱导更多的人进入互联网,...
  • 区块链发展阶段及应用场景

    千次阅读 2018-03-21 20:22:01
    本文内容来自最近的一次分享,整理成一篇文章,主要关注区块链技术特点,几个发展阶段以及应用场景,文末有PPT下载地址。一、进击的区块链作为分布式记账(Distributed Ledger Technology,DLT)平台的核心技术,...
  • 转载 web前端进阶四阶段

    千次阅读 2017-12-07 18:21:47
    前端工程的四个阶段 写在前面:引用别人的,在我看来说得比较浅显易懂的。   现在的前端开发倒也并非一无所有,回顾一下曾经经历过或听闻过的项目,为了提升其前端开发效率和运行性能,前端团队的工程建设大致会...
  • 布鲁斯·塔克曼的团队发展阶段模型

    千次阅读 2009-11-09 10:01:00
    团队发展阶段模型概述 布鲁斯·塔克曼(Bruce Tuckman)的团队发展... 团队发展的五个阶段是:组建期(Forming)、激荡期(Storming)、规范期(Norming)、执行期(Performing)和休整期(Adjourning)。(休整期是在19
  • 一名大专同学的四个问题

    万次阅读 多人点赞 2020-01-01 11:19:23
     收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做回复。  2020年到了,就以这一封信,作为开年标志吧。 【正文】  您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。 ...
  • 计算机软件发展四十五年

    千次阅读 2011-08-08 23:09:49
    计算机软件发展四十五年 2011年05月17日 09:00博览网原文链接我要评论(0)   摘要:通过对计算机软件发展的四十多年历史的回顾,详细论述其发展的三不同阶段:开创阶段、稳定阶段以及发展阶段的过程与特点,...
  • 埃里克森的心理社会发展阶段理论

    万次阅读 2006-06-23 14:01:00
    艾里克森也在相当程度上背叛了经典的心理...艾里克森尤其注重个人与社会环境的交互作用对人格的影响,认为个体人格是在与环境的不断相互作用中发展、成长,建立起来的。 艾里克森的突出贡献之一,是他构造了一庞大的
  • 产品经理的七个阶段

    千次阅读 2017-12-19 11:40:29
    个阶段基本上每天的工作都是写PRD、画原型、做DEMO。也就是基本处于一种被动分配任务的状态,接收的都是“二手需求”。一般而言自己思考产生的产品优化会比较少。也就是目前IT行业里面数百万的产品助理,甚至一些...
  • 在大数据时代,凡是AI类项目的落地,都需要具备数据、算法、场景、计算力四个基本元素,缺一不可。 处理大数据已经不能仅仅依靠计算力就能够解决问题,计算力只是核心的基础,还需要结合不同的业务场景与算法相互...
  • 一个程序员的成长的六个阶段

    千次阅读 2008-04-04 09:04:00
    到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。第三阶段此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。第阶级此阶段能直
  • 设计师成长的五个阶段

    千次阅读 2017-12-30 13:43:24
    经常有设计师找我闲聊,在工作中有时候很迷茫,觉得遇到了瓶颈,涨薪很慢,项目很无趣,看不到成长的希望。不知道下一步该怎么办。...这个阶段设计师属于入门阶段,设计师的瓶颈在于软件技能掌握与设计
  • IT价值评估

    万次阅读 2014-04-13 22:31:42
    问题也暗暗涉及到CIO的价值,如果IT说出不价值/感受不到显性价值,那CIO的价值又有几何,企业IT部门和CIO又怎能获得重视,CIO的职业发展阶梯就看不到希望。我说这问题需要体系性的分解才能获得
  • 对于大数据给企业带来的价值,已经毋庸置疑。在国内,银行业应该是IT建设更为领先的行业之一。特别中、农、工、建四大银行,更是走在整个银行业的前面。那么,他们对于大数据是如何看待的?在这四大银行,大数据的...
  • 大数据发展面临七挑战

    千次阅读 2019-06-15 20:49:45
    大数据挑战和机遇并存,大数据在未来几年的发展将从前几年的预期膨胀阶段、炒作阶段转入理性发展阶段、落地应用阶段,大数据在未来几年将逐渐步入理性发展期。未来的大数据发展依然存在诸多挑战,但前景依然非常乐观...
  • 用户运营几个阶段具体怎么做?

    千次阅读 2019-07-02 14:09:55
    以用户行为数据为基础,用户激励与奖励为手段,不断提高用户体验,促进用户行为转化,延长用户生命周期价值的运营就是“用户运营”。 用户运营以最大化提升用户价值为目的,通过各类运营手段提高活跃度、留存率或...
  • 不仅如此,甚至就算是同一角色/岗位,在公司发展的不同阶段,也需要侧重不同的能力。 以技术经理为例,如果是在公司刚起步的创业阶段,需要具备极强的带领团队去披荆斩棘、冲锋陷阵的能力,能使产品快速的落地...
  • 知识的四个主要特征

    千次阅读 2004-11-23 01:46:00
    关于知识价值如何体现,是我目前一直在思考的一个问题,问过很多人,都说知识是无形的,其价值很难衡量,所有的回答都说到了知识一个特性,要想界定知识的价值不得不先说说知识的四个主要特征第一个特征:指数性的...
  • 软件开发过程包括哪几个阶段

    千次阅读 2013-09-23 22:53:41
    软件开发过程包括哪几个阶段 Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 IEEE:软件工程是开发、运行、维护和修复软件的系统方法。 ...
  • 数据分析最具价值的49案例(建议收藏)

    万次阅读 多人点赞 2019-01-04 16:18:44
    本文力图从企业运营和管理的角度,梳理出发掘大数据价值的一般规律:一是以数据驱动的决策,主要通过提高预测概率,来提高决策成功率;二是以数据驱动的流程,主要是形成营销闭环战略,提高销售漏斗的转化率;三是以...
  • 软件工程分哪几个阶段

    千次阅读 2007-04-23 14:27:00
    软件生存周期每个阶段的基本任务和结束标准。 问题定义,可行性研究,需求分析,总体设计,详细设计,编码与单元测试,综合测试,软件维护 1问题定义 问题定义阶段必须回答的关键问题:“要解决的问题是什么?”...
  • 招聘网站作为一平台,连接着人才市场的供需双方,劳动力和资本在这里进行良好的匹配。 作为一市场化的平台,充分展示了人才领域的市场需求,预示着社会的未来发展方向。
  • IT:银行类金融科技岗笔试习题集合—四个模块包括【综合知识+EPI+英语+个性测评】 导读:行测、综合知识、英语和性格测试。综合知识,包括货币学、金融、会计、计算机等内容。  行政能力测试,内容大家可以参考...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,033
精华内容 36,813
关键字:

价值发展的四个阶段