白皮书
车联网设计与实现:搭建可靠、高效、符合行业需求的车联网平台 →

HStream 团队:有挑战的事才更迷人|EMQ 2021 全球招聘季

2021-3-22

导语

EMQ 2021 全球招聘正如火如荼进行中,数十个职位虚位以待,如何找到最适合你的哪一个?在接下来的推送中,我们将为大家详细解读 EMQ 各主要团队及职位,希望大家能向自己心仪的职位投递出简历,开启一段崭新、精彩的职业生涯。

不久前,EMQ 正式开源了新一代 流数据库 - HStreamDB,这是 IoT 时代极具想象力的产品创新。这样一个充满创造力的产品背后,是一支充满活力、热情洋溢的团队。 本期文章就将首先向大家介绍 EMQ HStream 团队。

Why HStreamDB?

HStreamDB 是 EMQ 基于流数据库概念打造的新一代流式数据处理产品,它是一款专为流式数据设计的,针对大规模实时数据流的接入、存储、处理、分发等环节进行全生命周期管理的流数据库,它使用标准 SQL (及其流式拓展)作为主要接口语言,以实时性作为主要特征,旨在简化数据流的运维管理以及实时应用的开发。

基于流处理即函数组合的理念,HStreamDB 选择了使用 Haskell(https://www.haskell.org/) 语言实现其大部分功能。架构上包括数据流 Broker、分布式存储模块和并行 SQL 执行模块。和传统的流数据处理方案相比提供了更加一体化的部署和使用体验,可以让用户更加轻松简单地创建和管理数据流和流计算。相比当前各种非系统化的流数据解决方案,我们相信由 HStreamDB 开创的流数据库会是实时数据处理时代的最佳选择,也将成为未来企业软件系统的核心基础设施。

HStream 团队的最终目标是将 HStreamDB 与公司现有产品 EMQX Broker 结合,共同构成⾯向 Streaming 的下⼀代 Cloud-Edge Model,提供流处理与分析一站式解决方案。同时也将作为极具竞争⼒的开源基础软件产品栈,重塑未来十年全球数据库与流处理市场。

banner.048ab42.png

Why HStream Team?

HStreamDB 是我们面对 IoT 时代海量流式数据处理所给出的答案。HStream 团队的每一个人都是纯函数式编程语言的忠实拥趸,坚信基于 Haskell 编程语言开发的 HStreamDB 将在整个产品架构上拥有更多的可能性。除了 Haskell 之外,团队还在使用 C++ 探索分布式存储方案,Haskell 上层加 C++ 底层的技术架构,保证了项目代码的高效运行。

EMQ 的 HStream 团队可能是目前国内最大的 Haskell 团队。成员主要分布杭州,其余分散在北京、深圳、斯德哥尔摩等地。团队结构扁平、效率优先,使用 Slack、GitHub 等工具交流合作是成员们的工作日常。

团队 Leader 韩冬曾在百度、滴滴、字节跳动任职多年,目前在 EMQ 担任首席开源官兼流数据库 CTO,负责 HStreamDB 的研发。他从 2014 年开始接触函数式编程思想,此后一直积极参与 Haskell 社区开源项目。曾在国际函数式编程大会(ICFP)发表过相关论文,并担任清华 2019 春季学期函数式编程课程讲师,著有《魔力 Haskell》一书。

除了背景响当当的 Leader,团队里还有一群热情聪明、热爱函数式编程的小伙伴:你可以在这里遇到 Haskell 的铁杆粉丝、熟悉 Agda 的小朋友,也会碰见能用脚本解决任何问题的 DevOps 专家、把 Haskell 当 C 写的大佬。我们拒绝冗长的会议和无意义的加班,倡导开放沟通、高效自驱的工作氛围,有关于专业技术的一切,总能有领域内的专家为你提供设计指导、答疑解惑。

团队热招职位

分布式存储研发工程师

职位描述

  • 负责分布式流数据存储系统的设计和研发

职位要求

  • 扎实的计算机基础,掌握算法设计,操作系统,计算机网络,数据库等相关基础知识

  • 掌握 C++/Rust/Java/Go/Haskell 中至少一⻔编程语言

  • 理解 Kafka/Pulsar/RocketMQ 等消息中间件实现原理,在集群数据复制,数据分区和副本一致性方面有相关经验

加分项:

  • 有分布式系统的设计和实现经历

  • 熟悉 RocksDB/LevelDB/LMDB/WiredTiger 等存储引擎的设计和实现

  • 为相关的开源项目贡献过代码

  • 熟悉数据库系统的实现原理

流计算研发工程师

职位描述

  • 负责流计算引擎的设计和研发

职位要求

  • 扎实的计算机基础,掌握算法设计,操作系统,计算机网络,数据库等相关基础知识

  • 掌握 C++/Haskell/Rust/Java/Go 中至少一⻔编程语言

  • 理解 Flink/Spark Streaming 等一种或多种流计算引擎的实现原理,并具有一定的实际使用经验

加分项

  • 有流计算引擎的实现经历

  • 为相关的开源项目贡献过代码

  • 了解流计算领域的前沿研究和技术趋势

Haskell 分布式系统架构师

岗位职责

  • 采用 Haskell 开发设计流数据库分布式集群架构

任职条件

  • 三年以上 Haskell 项目开发经验,了解 Haskell 函数型编程方法

  • 熟悉和理解 Paxos、Raft、CRDTs 一致性协议

  • 熟悉网络编程、数据存储与分布式系统架构

  • 深入理解 Kafka、Flink 等开源项目架构

  • 计算机、物理、数学专业,本科及以上学历

  • 英语听说读写流畅

加分项

  • 熟练使用 Git 和 Github,发布过原创内容或为开源项目做过贡献

Haskell 高级开发工程师

岗位职责

  • 采用 Haskell 开发设计流数据库

任职条件

  • 三年 Scala 或 Haskell 项目开发经验,了解 Haskell 函数型编程方法

  • 熟悉 TCP/IP 网络编程、数据存储与分布式系统架构

  • 熟悉物联网 MQTT 协议以及物联网平台基础架构

  • 计算机、物理、数学专业,本科及以上学历

  • 英语听说读写流畅

加分项

  • 熟练使用 Git 和 Github,发布过原创内容或为开源项目做过贡献

Haskell 开发工程师

岗位职责

  • 采用 Haskell 开发设计流数据库

  • 负责开源产品开发及研发文档编写

  • 负责 Github 开源社区日常维护

任职条件

  • 计算机、物理、数学专业、本科及以上学历

  • 两年以上 C/C++、Python 或 Java 程序开发经验,了解函数型编程方法

  • 了解网络编程和分布式系统基础知识

  • 熟悉常见开源项目 Redis、Kafka、Flink

  • 熟悉 Linux 环境及常用命令

加分项

  • Github 与 Stackoverflow 贡献者优先,对开源社区有贡献者优先

Haskell 开发实习生

职位描述

  • 使用 Haskell 参与 HStream,ZHaskell,Hamler 等开源项目的开发。

职位要求

  • 本科及以上学历在校生

  • 至少熟练掌握一门语言(Haskell 优先)

  • 熟悉计算机基础(操作系统,网络,数据库,算法,编译原理等)

加分项:

  • 熟练使用 GUN/Linux 操作系统

  • 参加过计算机相关比赛: ACM, CTF 等

  • 熟悉函数式编程(Functional Programming)

HStream 团队寄语

5G 时代是实时数据的时代,大规模的并行化实时流处理将成为未来的计算基础设施。HStreamDB 是 EMQ 在数据库领域一次创新的探索与尝试。在迎接机遇的同时,我们也面临着很多技术挑战,从基础的网络层到文件系统,再到流计算,分布式存储……我们团队期待吸纳各方面人才和我们一起拥抱开源协作的模式,用技术服务社会。 我们要做软件行业里的海盗和侠客,对未知怀有好奇、报以敬畏、敢于探索,如果你和我们一样,渴望征服罕有人至的未知领域,欢迎加入我们


投递简历请访问 EMQ 招聘岗位列表