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

EMQX 团队:连接数亿关键 IoT 设备|EMQ 2021 全球招聘季

2021-3-26

导语

在上期《HStream 团队:有挑战的事才更迷人|EMQ 2021 全球招聘季》一文中,我们深入了解了 EMQ HStream 团队。如果说 HStream 流数据库作为 EMQ 推出的战略级新产品,承载了我们对未来物联网实时数据处理的想象与希冀,那么今天向大家介绍的这支团队所负责的产品,则支撑着 EMQ 一路走到了现在。

本期文章的主人公就是 EMQX 团队。

Q:如何评价 EMQX 产品?

A: 大家好,我是 EMQX 产品经理李国伟。目前负责 EMQX 企业版的设计规划。

EMQX 是一款开源物联网 MQTT 消息中间件,核心竞争力包括单机百万级高并发、毫秒级低延时、分布式、高可用等特性,广泛应用于全球智能家居、移动支付、车联网和移动消息等跨行业领域,并支持以公有云、私有云、物理机及 Docker 容器和 Kubernetes 等方式进行灵活部署。

EMQX 开源项目创建于 2013 年,当前 Github Star 数量在全球同类型项目中排名第一, 是国内在开源领域具有全球影响力的项目之一。

在 EMQX 开源版的基础上,我们又推出了企业版,为企业客户提供更加专业的商业支持与服务。企业版中新增规则引擎用于物联网消息处理与存储,支持更多的行业协议接入以及消息编解码、数据持久化等诸多企业级功能,可以满足诸如运营商、车联网与工业制造行业的企业客户对于安全性与实时性更高的需求,吸引了包括 中国电信、上汽大众、国家电网 等在内的知名企业。

截至目前,EMQX 的使用范围已覆盖全球 50 余 个国家与地区,累计部署 10000+ 集群,支撑了超过 1 亿 的设备接入,为 10000+ 企业用户的物联网业务提供了强有力的支持。我们也经常会在社区或是一些线下活动中收到来自用户的好评:有的用户将 EMQX 作为标准消息中间件写入了物联网技术科普书籍中;有的用户将 EMQX 用在了科研和教学中;还有的用户利用 EMQX 将所学知识学以致用加以创新,登上了微博热搜......这些都让我们整个团队感到特别欣慰与骄傲。

随着公司战略的发展,EMQX 企业版也将作为底层核心产品,支撑起公司内部 EMQX Cloud PaaS 服务以及 EMQX Platform 两条产品线,以全新的面貌为行业与市场提供更全面的服务。

我们的起点是 MQTT 消息接入,未来我们将持续专注于 5G 和物联网市场的消息与流处理开源软件,与公司现有的边缘计算产品 NanoMQ、Kuiper 以及云端流数据库产品 HStreamDB 结合, 提供边缘到云端的接入、消息交换与流处理与分析一站式解决方案。

我们有信心在这一领域做到全球一流,并持续保持领先性与竞争力。 在开源社区的支持与 EMQX 团队的努力下,我们的创造与付出正在快速从技术走向产品,从产品走向商业服务。

enterprisemqttbroker.png

Q:在 EMQX 团队工作是一种怎样的体验?

A: 我是 EMQX 企业版研发总监邓海贵,2016 年加入 EMQ,一直在 EMQX 团队进行研发工作。

EMQX 团队是 EMQ 的核心产品研发团队,专注于 EMQX 物联网消息中间件,引领全球 5G 和物联网消息市场前沿技术发展。我们借助 全球领先的分布式 Erlang/OTP 平台与高并发技术架构, 打造最受信赖的高可靠、海量并发 MQTT 物联网消息中间件软件。

在这里,你可以与杭州、斯德哥尔摩、新西兰、日本的团队成员以及遍布全球的社区开发者一起参与 EMQX 的开发,可以深入接触 千万级接入、海量吞吐 大规模物联网项目的建设与维护,可以与全球顶尖 Erlang 开发者面对面探讨交流。

除了日常的开发工作,我们还会通过 Slack、GitHub、Zoom 等工具与开源社区交流合作,定期举办跨时区的 Demo 展示会议、线上/线下开源 Open Day 交流会等活动。

在 EMQ,我们不想做只会写代码的程序员:我们热爱开源与摇滚乐,它们让我们看到更广阔的世界;我们对技术与产品有着执着的追求和纯粹的匠心,肩负着 「通过世界级开源软件产品,服务人类未来产业与社会」 的使命,陪伴和见证了 EMQX 百余个版本的迭代。

在 EMQX 团队工作的 5 年以来,我感到充实而快乐,不仅专业技术能力得到了提升,也通过 EMQ 结识了很多优秀的开发者,更见证了公司和物联网事业的蓬勃发展。我相信 EMQX 团队会为你的职业生涯带来一段精彩难忘的体验,正如我相信身在 EMQ 的我们所看到的令人期待的未来。

EMQX 团队有哪些值得一投的职位

Erlang 高级开发工程师

职位诱惑:

• 运营开源社区,全球工程师合作,函数编程

职位描述:

• 负责 EMQX 分布式消息系统的架构设计和研发,打造低延时、高可用、高扩展的物联网消息中间件

• 负责大客户项目开发支持

• 参与 EMQX 开源社区,支持来自全球社区用户问题和功能需求

职位要求:

• 3年以上 Erlang 项目开发经验,熟悉 Erlang 函数型编程方法

• 熟悉函数式编程,并发编程、分布式系统基本原理

• 熟悉常见开源项目集群架构,例如 Redis、Cassandra、Kafka 的集群模式

• 熟悉网络协议栈,比如 TCP/IP 协议、MQTT 协议、HTTP协议等

• 熟悉 Linux 环境及常用命令

• 积极乐观,责任心强,具有良好的团队沟通与协作能力

加分项:

• 使用 Github 并发表过原创内容或为开源项目做过贡献

• 千万级并发集群经验,理解 Netsplit 处理,Raft 一致性协议

• 了解例如 MQTT-SN, CoAP, LwM2M 等网络协

• 熟悉 HBase 等基于列式存储数据库者优先考虑

Erlang 开发工程师

职位诱惑:

• 开源文化,函数编程,节日福利

职位描述:

• 负责 EMQX 分布式消息系统的架构设计和研发,打造低延时、高可用、高扩展的物联网消息中间件

• 负责相关项目的技术调研、代码评审、单元测试、文档编写

• 参与 EMQX 开源社区,支持来自全球社区用户问题和功能需求

职位要求:

• 2 年以上 Erlang/Elixir 项目开发经验,优秀的系统设计及编码能力

• 熟悉 TCP/IP、 HTTP 等网络协议及相关开发框架

• 熟悉函数式编程,并发编程、分布式系统基本原理

• 熟悉常见开源项目分布式架构,例如 Riak, RabbitMQ、Kafka等

• 熟悉 Linux 环境及常用命令

• 积极乐观,责任心强,具有良好的团队沟通与协作能力

加分项:

• 热爱开源,发表过原创内容或为开源项目做出过贡献

• 了解例如 MQTT, MQTT-SN, CoAP, LwM2M 等网络协议

Erlang 实习生

职位诱惑

• 奖金,节日福利,各类补贴

职位描述:

• 使用 Erlang 参与 EMQX,mqtt-bench等开源项目的开发,支持来自全球社区用户问题和功能需求。

职位要求:

• 本科及以上学历在校生

• 至少熟练掌握一门语言,Erlang/C/C++/Java/Python均可

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

加分项:

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

• 参与过开源项目贡献优先

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

交付工程师

职位诱惑: • 公司发展迅速,产品好,薪资可议

职位描述:

• 帮助客户快速接入产品使用,包括培训、指导、问题解答和技术支持;

• 对日常项目的运行进行维护,实时远程技术支持与问题分析并记录,对客户满意度负责,不断提升服务品质;

• 管理项目中产品问题列表,并归纳总结原因,反馈给研发;

• 有责任心,团队合作能力,良好的工作执行力,规范售后工作;

• 配合销售团队提供相关的技术应答、文档交付等工作。

职位要求:

• 具有基础运维能力,熟悉TCP/IP协议以及Linux基本操作;

• 对物联网平台、企业级软件平台、企业级中间件、数据库等有较为深入了解;

• 具备企业技术支持或者售后的工作经验,有云厂家在线工单支持经验的优先;

• 本科或本科以上学历,计算机相关专业;

• 能够快速学习新知识、新技能;

• 有较强的团队协作意识与能力;

• 具有优秀的语言表达能力和沟通能力,具备良好的写作能力和文档编写能力;

• 可以接受短期出差;

• 具备车联网、工业物联网、电力、物联网金融等行业知识优先考虑。

自动化开发测试工程师

职位诱惑:

• 期权,奖金,各类补贴,节日福利

职位描述:

• 负责测试框架的设计和开发;

• 开发自动化测试用例;

• 制定测试计划、测试方案和执行,对产品进行功能、兼容、接口及其他方面的测试

职位要求:

• 本科学历;计算机相关专业,1年以上开发、或2年以上自动化开发测试经验

• 扎实的编程基础,至少精通以下一种语言:Java、Python

• 熟悉常用的测试框架和工具,熟悉常用的 Linux 命令,掌握基本的数据库相关知识

• 熟悉测试流程和规范,了解功能测试,性能测试,接口测试等测试方法;

• 熟悉 TCP/IP, HTTP 等网络协议,熟练使用各类抓包工具

• 具备较强的学习能力和逻辑分析能力,有钻研和开拓精神

技术支持工程师

职位诱惑:

• 接触各行业头部客户,奖金,产品优秀

职位描述:

• 协助销售部门与客户沟通、路演公司产品;

• 深入分析客户真实需求,为客户项目制定合理解决方案并完成相应文档编写;

• 负责客户商务相关的技术应答、产品报价、商务投标、合同编写等工作;

• 搜集与总结客户需求,与产品、研发团队配合,持续改进公司产品。

职位要求:

• 本科或本科以上学历,计算机相关专业;

• 2年以上企业软件或云产品售前经验;

• 逻辑清晰,能够快速学习新知识、新技能;

• 有较强的团队协作意识与能力;

• 有良好的写作能力、语言表达能力和客户沟通能力。

前端研发工程师

职位诱惑:

• 期权,奖金,节日福利,各类补贴

职位描述:

• 负责 EMQ 相关开源产品的前端开发工作;

• 与团队配合完成整体项目规划、设计与开发;

• 参与到物联网 EMQX Edge Manager 平台 EMQX Platform 平台的开发

• 参与 MQTT 5.0 物联网云服务平台 的前端开发工作;

• 参与 MQTT X - 开源的跨平台 MQTT 5.0 桌面客户端工具 的开发工作。

职位要求:

• 熟悉 JavaScript、TypeScript 和新语言规范和语法特性,如 ES2015 等;

• 对主流前端框架( React \ Vue \ Angular 等)至少一种有深入应用并深入理解其设计原理;

• 熟悉 Webpack 构建,Node 脚本开发和常用 Prettier、ESLint、Babel 等配置;

• 在使用浏览器 API 和优化前端性能方面有丰富经验;

• 熟悉 Electron 跨平台开发,并了解其实现原理;

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

加分项:

• 注重产品质量,具有良好的代码风格、接口设计与程序架构;

• 关注业界发展,对最新的前端技术有浓厚的兴趣及独特的见解,关注前端前沿技术研究,通过新技术服务团队和业务;

• 参与过大型互联网产品的设计和研发工作,整体负责过一个线上系统的技术选型、规划与开发,能独立完成复杂前端系统或大型框架设计;

• 热爱开源,拥抱开源,有自己的开源项目或是开源项目的核心贡献者;

• 对函数式编程有一定的了解和兴趣。

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

团队成员有话说

邓海贵

我叫邓海贵,是 EMQX 企业版研发总监,主要负责 EMQX 企业版的版本规划、项目跟踪以及代码开发,参与客户项目的平台架构设计。EMQX 作为全球领先的开源 MQTT Borker, 可以帮助企业快速搭建 IoT 平台,助力车联网、电力、能源、运营商等行业的数字化升级与快速发展,这让我觉得自己的工作很有价值和成就感。欢迎加入 EMQ,和我们一起携手将 EMQ 打造成为全球领先的商业开源公司。

刘新宇

我是刘新宇,目前负责 EMQX 开源和企业版的开发和维护。我喜欢各种新奇的技术,喜欢函数式编程。EMQ 拥有国内最强的 Erlang/Haskell 开发团队以及一个轻松开放的工作氛围。我们在团队中彼此学习、共同成长,还有机会与海外很多骨灰级程序员和开源贡献者交流讨论。在这里我们为了快乐与自我满足而工作,欢迎你加入我们。

周子博

我是周子博,目前负责 EMQX 开源项目的研发管理与社区维护。 我们这里有非常 Nice 的同事和非常 Open 的工作氛围,大家不会只专注于自己的一亩三分地,我们积极地分享信息、观点和创意,我们共同决策,激烈的讨论是我们的日常,我们坚信伟大的产品都是在思想的碰撞中诞生的。我们对技术保持着敬畏,我们工作的好坏,将直接影响全球数以亿计的设备。我们对用户保持着感激,认为我们与用户是互相成就的关系,一荣俱荣、一损俱损。这就是我们,一个有活力、有想法、有能力的团队。

青藤裕大

Hello everyone, this is Yudai from Japan, a software engineer at EMQ.

I am responsible for developing our main product EMQX, with Erlang. The team members are from different countries, so every two weeks we discuss and agree on the scope of work that is intended to be done during that period. This helps me working in a remote environment.

Recently I have worked on introducing a new configuration format to our product. We had decided to write our configuration files with HOCON, a superset of JSON and it is well used in Java and Scala. In Erlang, we did not have a parser for HOCON, so we had to make one. Erlang is the best language when you would like to design a concurrent application, but as you know, it is less common compared to other general-purpose programming languages. So our tasks often involve creating libraries rather than just using ones. In this way, we lead the community while trying to create the best MQTT broker in the world.

I am looking forward to seeing you at EMQ.

Dmitrii

Hello, my name is Dmitrii Fedoseev, I work at EMQ Sweden as a software engineer, in the domain of cluster scalability and robustness.

I originally come from Nizhniy Novgorod, Russia, but I am currently living in Stockholm, Sweden. I have worked on quite a few different areas in the past: in physics, telecom, finance and music industry.

I first started programming professionally back in the university, where I had developed software for simulating formation of crystals using GPUs. Using graphical processors for the general purpose computations was a new thing back then, and it was really exciting. That made me realize that working with technologies, that are less mainstream, gives me competitive advantage and allows to explore fresh and exciting ideas. Using a programming language that was so close to maths in nature, was really fascinating, and again, it made programming fun.

I accepted the offer from EMQ without hesitation. EMQ's dedication to the open-source, use of functional languages, and a team of extremely experienced and knowledgeable people from all around the world, was what attracted me. I believe that open-source movement is one of the greatest achievements of humankind, and I am grateful that now I can contribute to it full time.

Here at EMQ I can work on truly challenging problems and put all my skills to use. Our team is full of fantastic people, who come from Sweden, New Zealand, Japan and so on.

So if you enjoy solving challenging problems as much as we all do here, you're welcomed to join EMQ.