许建林


高级软件工程师

我是许建林 (Piasy),全栈黑客,开源爱好者,知识分享者。 我的开发经验涵盖 Android, iOS, Windows, TX2 以及后端,目前我专注于实时多媒体领域,包括客户端和服务端。 我在 GitHub 有 1.9K 关注者,项目累计标星近 10K。 我曾在多个技术会议上发表演讲,包括在 GDG Beijing meetup 上分享「近乎完美的 Android Model 层架构」,在 Droidcon Beijing 2016 分享 RxJava 议题。 我毕业自清华大学计算机系。 我的专著——全球首本揭秘 WebRTC 技术内幕、实战 WebRTC Native 开发的技术书籍——正在出版中。 我的技术博客:https://blog.piasy.com/,我的 GitHub 个人主页:https://github.com/Piasy/


技能领域

实时多媒体开发
三年专注实时多媒体 SDK 开发经验(安卓为主,iOS、Windows、TX2、后端均有涉及),音频采集播放、视频采集渲染、音视频编解码、FFmpeg、WebRTC、OWT,性能调优;代码多平台复用,J2ObjC、Kotlin Multiplatform。

安卓 App 开发
两年专注安卓 App 开发经验,具有扎实的 App 架构、TDD、响应式编程、RESTful API 交互、本地数据管理、自定义 View 及交互、性能调优经验。

项目管理
近一年项目管理经验,包括进度管理,团队协作,规范流程,持续集成和持续交付,代码质量,code review,渐进重构。

服务端开发
近两年服务端开发经验,包括 RESTful API 设计,TDD,数据库设计等;曾使用 Beego 框架开发过两个服务端项目,分别使用 MongoDB 和 MySQL 数据库存储数据;使用 Flask + Redis 开发信令服务器;均使用阿里云进行部署。

技术栈

RTC                 ★★★★☆        Objective-C                 ★★★☆☆
Android ★★★★☆ Python ★★★☆☆
Java ★★★★☆ Golang ★★☆☆☆
C/C++ ★★★☆☆ Javascript ★★☆☆☆
Kotlin ★★★☆☆ Lua ★★☆☆☆
Flutter ★★☆☆☆ 任何编程语言 都能快速上手

工作经验

2017.02 至今

高级软件工程师,北京世纪鼎点软件有限公司

重新实现安卓平台 RTC 推流模块(不含传输),包括全部架构设计和功能开发;优化视频编码,延迟降低 10%;优化音频采集播放,延迟降低 50%;

使用 C++ 统一各平台(安卓、iOS、Windows、TX2)RTC 推流模块核心流程控制代码和对外接口(进行中);多平台复用代码量占 ~20%;功能、接口各平台完全统一,内部开发效率显著提升;

从零构建 iLive 多人音视频 SDK,包括安卓、iOS、Windows 端,以及信令服务器,包括全部架构设计和功能开发;带领团队(六人)进行更新、维护工作;

进行其他新平台和新技术的预研、产品化工作;

关键词:RTC、MediaCodec、OpenGL ES、性能优化、多平台复用、to B、创新;


2015.05 至 2017.02

安卓研发工程师,北京优络时代科技有限公司,初创

从零构建公司手机视频直播应用 YOLO 安卓客户端,包括全部架构设计和功能开发;组建和带领安卓团队(三人),完成产品研发的需求;

关键业务代码和结构多次重构,APP 界面响应速度提升 30%,开发效率显著提升;

从零开始经历整个项目的发展历程,包括产品形态,安卓客户端架构,后端 API 架构的演进,以及整个公司的发展历程;

安卓平台基础知识进一步夯实,成为开源创新和分享精神的践行者,在一次 GDG Meetup 上分享安卓 model 层架构,在 Droidcon Beijing 分享 RxJava 技术原理
逐渐了解后端 API 开发流程,运维部署流程等;

关键词:网络层架构model 层架构RxJavaYaMvp、IM 接入、相机采集声音采集和播放、TDD、OkBuckAndroidTDDBootStrap拆轮子、创业维艰


2014.10 至 2015.03

安卓研发实习生,学吧(北京)科技发展有限公司,初创

参与开发维护公司大学生实名社交应用 YOUNG 安卓端;

从零构建安卓自动化测试方案,手工测试时间减少 70%;

第一次参与商业 App 项目的开发,敏捷风格配合初创团队的快节奏,深深契合了我寻求技术快速提升的目标,也让我了解了主流创业团队的模式;

依赖注入,响应式编程,现代化的 RESTful API 风格等让我跟上了业界先进的水平;

关键词:自动化测试、响应式编程、依赖注入、RESTful API、敏捷开发、高速成长

个人项目

AvConf(即将开源),2018.08 至今:基于 WebRTC 的多人实时音视频通话 SDK,利用 Kotlin Multiplatform 实现业务逻辑代码多平台复用,目前对接 OWT server,可以很方便地对接其他 SFU/MCU 框架。


WebRTC Native 开发实战(出版中),2019.01 至 2020.08:全球首本深入解析 WebRTC 内部原理和 WebRTC Native 实战的技术书籍。


BigImageViewer,2016.11 至今:组合图片加载库(Fresco,Glide)与大图显示库(Subsampling Scale Image View),图片加载器模块完全解耦,可以轻易添加新的加载器。


AdvancedRxJava,2016.05 至 2017.06:Advanced RxJava http://akarnokd.blogspot.com/ 系列 46 篇博客的中文翻译,持续 13 个月,加深自己对 RxJava 原理理解的同时,造福国内开发者。


OkBuck,2015.10 至 2016.09:一个 Gradle 插件,通过简单几行配置后即可使用 Facebook 开源构建系统 BUCK,提升安卓开发者生产力,该插件旨在降低安卓开发者引入和使用 BUCK 的门槛,更高效的进行开发;2016 年 9 月份转让给 Uber。

教育经历

2011.08 至 2015.07

清华大学,计算机系,学士学位

获得 2011 级新生二等奖学金,表彰高考成绩全省前 10 名;主修课程《数据结构》《设计模式》《计算机网络原理》《操作系统》《搜索引擎》《以服务为中心的软件设计与开发》等;GPA 92.1/100,年级排名 9/123;在实验室参与移动应用安全分析、移动应用云存储优化等方面科研,在《清华学报自然科学版》发表论文,截至 2016 年中引用量 22 次。


• +86 188 1065 6221

PDF 版本English VersionLinkedIn 主页