我是如何带团队从0到1做了AI中台

经历心得

我从18年初就开始带这小团队开始做项目,比如最初的数字广东的协同办公项目,以及粤信签小程序等,所以,在团队管理,人员安排,工作分工,项目拆解等方面都有一定的经验。

19年中旬,中心总监找到我说,我们要成立一个数据项目,做政府行业的大数据平台。虽然我当时已经有七年+的工作经验,但是在数据这方面的经验,几乎为0。当时听到这些东西也是有点蒙,不知道我要做的工作内容是什么。但是领导安排下来的任务,不管怎么样,也都要扛下来,于是我就欣然的答应了。

首先,要跟项目的项目负责人以及产品同学进行了初步的接触,拿到了立项的ppt以及文档以后。看了里边的内容,尤其重点关注了AI中台的内容,什么标签,模型,多维分析,深度学习等等概念,虽然我都听过,但是如何去做,我真的是很是胆怯,不知道能不能搞出来,按照当时的一个从未在数据领域做过项目的同学,真的是感受到了巨大压力,但是很快转变思维,鼓励自己,虽然在做业务后台已经做了七八年,转型做数据类型的项目,可以让自己涉及到自己的未知领域,所以,确定的目标就是:

面对困难,不断学习,将困难分解,逐一破解。

但是,我要如何做项目呢?

第一步,技术预研,确定主要技术栈,开发语言。我拿到立项书,确定我们的主要是做大数据,数据分析,机器学习深度学习的工程类的项目,其主流的技术栈偏java,python等语言,但是,我对java基本上零经验,那我应该选择什么语言开发呢,最后还是决定使用java主要开发语言

第二步,招人,必须有人,才会推动项目进展下去。因为这个项目是经费立项的形式,腾讯侧会以每半年投入百万经费的形式到项目组,因为部门也是成立不就,编制人员紧缺,只有核心岗位为腾讯的正式员工,也就是说,我们需要自己招外包同学来建立自己的团队,鉴于之前做粤省事成立开发团队的经验,如何快速的打造一直技术团队,只能招市场上多人会的语言,因此,果断我们选择了java作为开发语言,虽然我之前的java开发经验非常之少。所以,总结一句话,做项目是一个团队,首先必须要有人做事情,才能往前开展。

在项目成立之初,到能够交付给用户使用的一年时间里,我面试了外包同学不下几百份简历,形形色色的人员真的是太多了,各种培训班出身,简历包装的很漂亮,但是一面试就啥也不知道,最开始的项目一定找到比较合适的人选进入到项目团队,才会不会写出烂代码。随着各种事情的发生,想法逐渐改变,聊的稍微不错的,先让他进来做一下,如果不错就留下来。不行就在换人。

第三步,确定核心需求。项目伊始,作为技术负责人,一定要和项目的总负责人进行深度的沟通和交流。两人进行深度的意见交换,达成一致,才会凝聚整个团队的成员。

所以,经过一番的讨论,我们把项目初步分成五期功能来实现:

1、实现基本的多数据源管理能力,并选择基于腾讯内部的TBDS的大数据套件的能力

2、实现核心的自动化机器学习核心流程,数据预处理,特征工程,automl,部署,预测等能力

3、实现基于spark的的数据算子能力

4、实现深度学习模型训练能力

5、实现模型管理能力。

等等

讲完以上,我们就开始动工开始项目动工了。虽然第一行代码是我开始写的,但是当我们进来第一个程序员的时候,我就开始了我们指定研发的基本规范了,因此规范包括如下:

1、研发流程规范,包括从需求阅读,到需求分解,tapd需求录入与跟进,概要设计,库表,接口设计,内部评审,研发周期确认等等一些列流程规范

2、代码规范,做项目,最终项目能够跑起来就是我们的生产力代码了。其中包括分支规范,代码分层结构,命名规范等等。

3、其他规范,不一一介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/7259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WireShark对tcp通信数据的抓包

一、抓包准备工作 安装wireshark sudo apt update sudo apt install wireshark 运行 二、WireShark工具面板分析 上图中所显示的信息从上到下分布在 3 个面板中,每个面板包含的信息含义如下: Packet List 面板:显示 Wireshark 捕获到的所…

Qt QImageReader类介绍

1.简介 QImageReader 是用于读取图像文件的类。它提供了读取不同图像格式的功能,包括但不限于 PNG、JPEG、BMP 等。QImageReader 可以用于文件,也可以用于任何 QIODevice,如 QByteArray ,这使得它非常灵活。 QImageReader 是一个…

【Docker】docker compose服务编排

docker compose 简介 Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。 docker swarm(管理跨节点) Dockerfile可以让用户管理一个单独的应用容器;而Compose则允许用户在一个模板&#xff08…

商城数据库88张表结构完整示意图51~60(十三)

五十一: 五十二: 五十三: 五十四: 五十五: 五十六: 五十七: 五十八: 五十九: 六十:

GEE案例分析——2019年3月30日,四川省凉山州木里县雅砻江镇立尔村火灾面积分析(Sentinel-2和NBR)

简介 2019年3月30日18时许,四川省凉山州木里县雅砻江镇立尔村发生森林火灾,着火点在海拔3800米左右,地形复杂、坡陡谷深,交通、通讯不便。 1212据凉山州人民政府新闻办公室消息,火场在雅砻江边上,距木里县车程6到7个小时,火场平均海拔4000米,多个火点均位于悬崖上。森…

如何进行音频压缩大小?6个软件教你快速的压缩音频

如何进行音频压缩大小?6个软件教你快速的压缩音频 以下是六款常用的音频压缩软件,它们可以帮助您快速压缩音频文件大小: 迅捷视频剪辑软件: 这是一款非常实用的音频编辑软件,除了编辑音频外,它还提供了音…

文件加密软件排行榜前四名(2024年4大好用的加密软件推荐)

说到文件加密,想必大家都很熟悉,文件加密已经普遍应用,文件加密是一种重要的安全措施,可以确保数据的机密性、完整性和可用性,降低因数据泄露或丢失带来的风险 。 下面小编给大家分享几款常用的加密软件,…

权益商城系统源码 现支持多种支付方式

简介: 权益商城系统源码,支持多种支付方式,后台商品管理,订单管理,串货管理,分站管理,会员列表,分销日志,应用配置。 上传到服务器,修改数据库信息&#xff…

C++例题:大数运算---字符串相加(使用数字字符串来模拟竖式计算)

1.代码速览 class Solution2 { public:string addStrings(string num1, string num2){//end1和end1是下标int end1 num1.size() - 1;int end2 num2.size() - 1;string str;//下标(指针)从后向前走,走到头才可以结束,所以是end>0int next 0;while (end1 > 0 || end2 &…

Swift 周报 第五十期

文章目录 前言新闻和社区WWDC24:6 月 10 日至 14 日 (太平洋时间)苹果“内忧外患”,库克中国求援苹果被起诉!市值一夜蒸发8000亿元 提案通过的提案正在审查的提案拒绝的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组自主…

行业推荐:数据防泄漏软件首先解决方案

随着信息时代的快速发展,数据安全已成为企业经营的关键之一。然而,数据泄漏事件时有发生,不仅可能导致巨大的经济损失,更会损害企业的声誉和客户信任。 为了帮助企业有效地保护数据安全,Ping32 数据防泄漏系统应运而生…

SpringSecurity6配置requestMatchers().permitAll() 无效问题

版本 <spring-boot.version>3.0.2</spring-boot.version> <jjwt.version>0.12.5</jjwt.version>问题描述 题主在写 SpringSecurity6 JWT 做登录认证开发。一路跟着教程叭叭的敲。等到接口验证的时候&#xff0c;发现我的登录接口虽然在SecurityConf…

【Linux】掌握Linux系统编程中的权限与访问控制

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

电源小白入门学习7——USB充电、供电、电源路径管理

电源小白入门学习7——USB充电、供电、电源路径管理 USB充电系统需要考虑的因素开关充电和线性充电充电路径管理输入限流路径管理&#xff08;动态功率管理&#xff09;理想二极管帮助提高电池利用率输入过充抑制 上期我们介绍了锂离子电池的电池特性&#xff0c;及充电电路设计…

QT--1

类型界面 #include "mywidget.h"myWidget::myWidget(QWidget *parent): QWidget(parent) {//窗口相关设置this->resize(680,520);this->setFixedSize(680,520);this->setWindowTitle("Tim");this->setWindowFlag(Qt::FramelessWindowHint);th…

生成一个好故事!StoryDiffusion:一致自注意力和语义运动预测器必不可少(南开字节)

文章链接&#xff1a;https://arxiv.org/pdf/2405.01434 主页&#xff1a;https://storydiffusion.github.io/ 对于最近基于扩散的生成模型来说&#xff0c;在一系列生成的图像中保持一致的内容&#xff0c;尤其是那些包含主题和复杂细节的图像&#xff0c;是一个重大挑战。本…

视频降噪算法 Meshflow 介绍

介绍 Meshflow 视频降噪算法来自于 2017 年电子科技大学一篇高质量论文。 该论文提出了一个新的运动模型MeshFlow&#xff0c;它是一个空间平滑的稀疏运动场 (spatially smooth sparse motion field)&#xff0c;其运动矢量 (motion vectors) 仅在网格顶点 (mesh vertexes) 处…

一般显卡3d建模渲染够用吗?3d云渲染助力

3D建模和渲染对计算机硬件有较高要求&#xff0c;特别是显卡。显卡的性能直接影响渲染速度&#xff0c;低端和高端显卡在渲染效率上存在显著差异。对于追求快速渲染的用户&#xff0c;高端显卡是首选。那么&#xff0c;4050显卡是否能够满足3D建模渲染的需求呢?下面我们来探讨…

[蓝桥杯2024]-PWN:ezheap解析(堆glibc2.31,glibc2.31下的double free)

查看保护 查看ida 大致就是只能创建0x60大小的堆块&#xff0c;并且uaf只能利用一次 完整exp&#xff1a; from pwn import* #context(log_leveldebug) pprocess(./ezheap2.31)def alloc(content):p.sendlineafter(b4.exit,b1)p.send(content) def free(index):p.sendlineaft…

Java-(乘法表之后)增强for循环

这里我们先做个了解&#xff0c;之后我会在数组中进行详细介绍Java5引入了一种主要用于数组或集合的增强型for循环Java增强型for循环语法格式如下 For(声明语句&#xff1a;表达式&#xff09;{ //代码语句 } 声明语句&#xff1a;声明新的局部变量&#xff0c;该变量的类型…