惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
Help Net Security
Help Net Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LINUX DO - 最新话题
PCI Perspectives
PCI Perspectives
博客园 - 三生石上(FineUI控件)
V2EX - 技术
V2EX - 技术
Spread Privacy
Spread Privacy
T
Tor Project blog
量子位
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题
小众软件
小众软件
博客园 - 叶小钗
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
Y
Y Combinator Blog
N
News | PayPal Newsroom
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Tenable Blog
Scott Helme
Scott Helme
G
GRAHAM CLULEY
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
Schneier on Security
Schneier on Security
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
T
Threat Research - Cisco Blogs
博客园 - 司徒正美
Application and Cybersecurity Blog
Application and Cybersecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Attack and Defense Labs
Attack and Defense Labs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
The Last Watchdog
The Last Watchdog
L
LangChain Blog
C
Check Point Blog
Google Online Security Blog
Google Online Security Blog
V
Visual Studio Blog
Latest news
Latest news

Jark's Blog

Flink 1.16:Hive SQL 如何平迁到 Flink SQL Flink CDC 如何简化实时数据入湖入仓 基于 Flink SQL 构建流批一体的 ETL 数据集成 Nexmark: 如何设计一个流计算基准测试? Demo:基于 Flink SQL 构建流式应用 Flink 1.9 实战:使用 SQL 读取 Kafka 并写入 MySQL Flink SQL 编程实践 如何从小白成长为 Apache Committer? 聊聊Blink开源和Flink社区近况 Flink 小贴士 (7): 4个步骤,让 Flink 应用达到生产状态 Flink 小贴士 (6): 使用 Broadcast State 的 4 个注意事项 Flink 小贴士 (5): Savepoint 和 Checkpoint 的 3 个不同点 Flink 小贴士 (4): 如何选择状态后端 Flink 小贴士 (3): 轻松理解 Watermark 一文了解 Apache Flink 核心技术 Flink 零基础实战教程:如何计算实时热门商品 5分钟从零构建第一个 Flink 应用 Flink 小贴士 (2):Flink 如何管理 Kafka 消费位点 Flink小贴士 (1):确定Flink作业所需资源大小时要考虑的6件事 Flink在美团的实践与应用 Flink 原理与实现:Aysnc I/O Flink 原理与实现:Table & SQL API Flink 原理与实现:Session Window Flink 原理与实现:Window 机制 Flink 原理与实现:数据流上的类型和操作 Flink 原理与实现:如何生成 JobGraph Flink 原理与实现:理解 Flink 中的计算资源 Flink 原理与实现:如何生成 StreamGraph Flink 原理与实现:架构和拓扑概览 Flink 原理与实现:内存管理 Flink 原理与实现:如何处理反压问题 Flink官方文档翻译:安装部署(集群模式) Flink官方文档翻译:安装部署(本地模式) 迟到的2015年终总结 高效Macbook开发之道(工具篇) Clojure学习笔记(三):并发与引用 Clojure学习笔记(二):语法 Clojure学习笔记(一):数据结构 Thrift 实践 Thrift 入门 Metrics 是个什么鬼 之入门教程 使用Redis和SQLAlchemy对Scrapy Item去重并存储 使用Scrapy定制可动态配置的爬虫 编程方式下运行 Scrapy spider 读《程序员必读的职业规划书》 Spark 下操作 HBase(1.0.0 新 API) HBase 集群安装部署 Spark On YARN 集群安装部署 Git 常用技能
我在阿里的这两年
WuChong · 2017-07-16 · via Jark's Blog

这两天,团队来了不少新人,有实习生也有刚毕业的大学生。看着他们稚气的面庞,文静而腼腆的样子,跟我两年前刚进公司的时候好像。今天内网提示我这是我在阿里的第732天,两周年快乐。突然觉得,我应该写点什么东西,一方面给自己一个总结,分享一下自己成长的故事。另一方面,希望能帮助刚毕业的大学生们消除一些成长路上的疑惑。

JStorm

我是2015年7月毕业后加入的公司,当时进入的是中间件-实时计算 JStorm 团队。JStorm 是用 Java 语言代替 Clojure 语言重写了 Apache Storm,并在原有的基础上做了诸多性能和功能优化。JStorm 是阿里巴巴开源的几个明星产品之一,在国内的用户非常多。很多国内做流计算,实时计算的应该都知道 JStorm。

但是我当时并不知道 JStorm 或是 Storm,我当时只知道 Spark,也不懂什么是实时计算,流计算。所以
都是入职之后现学,看文档,看源码,学习 Clojure。差不多11月份的时候,阿里正式向 Apache 基金会捐赠了 JStorm。这是阿里捐赠给 Apache 的第一个项目,后面还有 Apache RocketMQ, Apache Weex。JStorm 火了一把,当时有很多报道转载这件事情,还放了一张我们团队油头垢面、屌丝气十足的合照。

在第一个半年里,我重写了 JStorm 的开源 UI,参与了管控平台的开发,做了 JStorm 的一些开发工作。到了半年 Review 的时候,我觉得我做的并不好(虽然老板一直鼓励我做的挺好…)。其实作为一个新人,半年时间是很难做出成绩的。但是从一开始我对自己的期望就比较高,所以失望也比较大。而且看到同期的应届生半年就有非常出色的成果,相比之下就相形见绌了。那段时间,自己的心情也比较低落,比较迷茫。我觉得我脑子不笨,学习能力也不差,工作也很努力,为什么就做不出什么“成果”呢?

在阿里中间件,有很多非常耀眼的新人,有的在我还在熟悉工作的时候人家已经成为了项目 owner,有的已经成为了 Apache 项目的 PMC,有的一年就晋升到了 P6。他们有很多地方是值得学习的,聪明,拼搏,机遇,是我觉得最重要的几个关键词。但是工作后你就会发现,哪有那么多的机会在等你呢。不过,关于个人成长和晋升,阿里有句老话叫做“没有坑,就让自己先成为萝卜”,我非常认同,是萝卜的话,那个坑是迟早的事情。

2015 年是流计算百花齐放的时代,各个流计算框架层出不穷。Storm, JStorm, Heron, Flink, Spark Streaming, Google Dataflow (后来的 Beam) 等等。其中 Flink 的一致性语义和最接近 Dataflow 模型的开源实现,使其成为流计算框架中最耀眼的一颗。我也是看中了 Flink 在流计算上的先进性,所以在 2016 年春节过后回来上班的第一天,我跟老板提议,希望能去研究 Flink,我们团队需要有个人透彻了解 Flink 的原理(我希望成为 Flink 的萝卜,事实证明这为我之后带来了很多机会)。Boss 同意了,并且给了我一个 KPI:一年内成为 Flink Committer。

后来我才知道搜索部门已经研究 Flink 有一年了,并且有了个内部版本,名叫“Blink”。所以之后,我们便与 Blink 开始共建 Table API & SQL。我也是在那个时候进入 Flink 社区工作。那个时候在社区工作是非常孤独,非常艰难的,因为很多时候没有人可以一起讨论,一个人在社区推进事情也很困难。不过,当你推进的提议被社区所接受并落地的那种心情是非常有成就感的。

记得刚进入社区工作的时候,我也只能挑一些非常简单的修复 Bug 的任务,学习社区的工作流程,用我非常蹩脚的英文在 GitHub 上与他们交流。有时候,每写一句话都要粘贴到 Google 翻译中翻译一遍,确保自己语句没有问题。我对学习英语没什么天赋,大学考英语四级考了三次才过。但是孰能生巧,现在我也可以流畅地在 GitHub 、邮件列表上与他们交流,能洋洋洒洒地写几千单词的英文设计文档与社区讨论,能与 dataArtisans 电话会议讨论设计细节。英语是 IT 人士非常重要的软实力,我觉得至少要做到读英文技术文章不吃力,其次要做到能用英语流畅交流技术。我现在已经越来越体会到英语的重要性,我觉得英语在某些方面甚至决定了你的潜力,为此我还买了一个半年的英语课程,每天练习自己的听力和口语,现在已经坚持了一个半月了,希望能坚持到底。

在社区工作了将近一年,终于在 2017 年春节的时候,收到了社区邀请我成为 Flink Committer 的邮件,这是对我过去一年工作的肯定,也算是踩点完成了 KPI … 我很荣幸是阿里第一位成为 Flink Committer 的。截止到目前,阿里已经发展了 5 位 Flink Committer,当然都在我们大团队 😉。

阿里还有一句老话叫“拥抱变化”。大概五月份的时候,为了打造世界级的流计算引擎和服务,我们团队和 Blink 都加入了新成立的计算平台事业部。在新的事业部,我迎来了自己的第一次晋升。晋升的过程非常愉快。令我印象深刻的是,在这么一个P5到P6的晋升面试上居然要出动1个P10,1个P9,3个P8,1个HRG的阵容。公司也真是舍得下成本啊。

虽然“拥抱变化”了,不过在新事业部我做的事情没什么改变,仍然是 Flink/Blink SQL 相关的工作。从一开始我们就意识 SQL 在抽象和统一用户业务逻辑上的强大之处。而且,流和批的计算可以自然而然的在传统SQL这一层统一。SQL 可以把一个非常复杂的计算用简单的抽象表达出来。这是我认为我现在工作有意思有挑战的地方。在社区方面,Flink SQL 总共有 5 位 Committer,我们团队占据了其中三位。我们与社区的合作是非常紧密的,平均每个星期都有与 dataArtisans (Flink 背后的公司) 的视频会议,讨论每周的技术设计细节。可以说,流计算 SQL 在开源范围内我们是比较领先的,甚至是在定义流计算SQL的标准。dataArtisans 的 CTO Stephan 说,阿里巴巴是 Flink 现在的最大的贡献者。确实如此,不仅在 Flink SQL,在 Runtime 方面,我们帮助社区贡献了若干从大规模部署到性能,再到容错方面的优化。这些优化使得 Flink 的易用性和性能得到了大大的提升。

哈哈,是的,这里不免落俗地发个招聘广告。阿里实时计算团队(杭州,北京,美国)诚邀各种牛人(存储,计算,分布式,大数据,甚至前端)加入,有感兴趣的可以直接联系我:imjark#gmail.com 。