Ocavue's Blog
简历 - 温家锦 2021-01-05

温家锦

目标职位:全栈开发工程师
  • 邮箱: ocavue@gmail.com
  • 电话: 13750032522
  • GitHub: @ocavue

# 教育经历

2013 - 2017:中山大学 · 核工程与核技术专业

# 工作经历

# 深圳市观麦网络科技有限公司

2017.06 - 2021.05

担任 Python / Go 后台开发工程师职位,负责业务开发和基础架构建设。部分项目如下:

# gRPC + protobuf 框架

本人所在的公司于2020年7月进行了基于 Go 语言的架构重构。我在这期间除了业务开发外,还承担了绝大多数基础设施从零到一的搭建:

  • 设计了可以在本地以及 CI 执行的单元测试框架。目前 90% 的接口都有至少一个单元测试用例。
  • 设计部署了基于 Envoy 的网关服务,可以同时暴露基于 HTTP 2.0 的 gRPC 服务和基于 HTTP 1.0 的 JSON 服务。
  • 构建了基于 golangci-ci, revive, buf, clang-format 的 CI 流程。对 Go 以及 protobuf 的代码进行自动化检查,保证 gRPC API 的向前兼容性,限制 Go 代码的圈复杂度,并规范代码的质量和风格。
  • 构建了基于 Kubernetes 的测试环境和生产环境的自动构建发布流程。
  • 开发了一个 protoc 插件,可以根据 protobuf message 自动生成 gORM 的增删查改函数。
  • 基于 Go 开发了一个命令行工具,自动拉取封装了 protoc 以及各类插件的 Docker 镜像,使得不同开发人员可以共享相同的 protobuf 构建环境。同时实现了命令行工具的自动更新。

业务模块的贡献:

  • 负责开发了企业、商户、供应商、用户、角色和权限模块的数据结构设计和代码开发。
  • 设计并开发了基于 JWT、Envoy 和企业微信扫码登录的企业内部登录流程。

# Kubernetes 开发环境

  • 随着公司开发人员增多,开发人员共用一个开发环境导致服务频繁出现故障,同时伴随着代码版本不一致,数据库结构老旧等问题。
  • 设计了基于 k8s 的开发环境以及相关的命令行工具,确保每个人都有独立的开发环境以及最新的代码和数据。同时修改了所有微服务的部署方式,使其支持 Docker 部署。
  • 将创建一个开发环境的时间从一周缩短到三分钟,大幅提高了开发效率,获得了开发人员的广泛认可。同时为公司半年后在生产环境上部署 Docker 服务提供了充足的经验积累。

# 深圳复临科技有限公司

2021.05 - 2021.08

担任 Go 后台开发工程师职位。

  • 在 GraphQL 的基础上添加自定义语法,实现数据的实时统计并支持统计数据的分页。

# Reflect App LLC

2021-08 - 至今

担任 TypeScript 前端开发工程师职位。

  • 负责开发和维护开源项目 Remiror。Remirror 是一个所见即所得文本编辑器框架,基于网页技术开发。整个项目包含大约 100 个 NPM Package 组成,提供了非常多开箱即用的功能组件。

    项目链接:remirror.io (opens new window)

  • 负责 Reflect 项目中核心编辑器模块的开发。Reflect 是一个笔记管理软件,提供双向链接、端到端加密、实时同步、跨平台支持等功能。

    项目链接:reflect.app (opens new window)

# 专业技能

  • 能够熟练使用 Python,Go 和 TypeScript 语言。
  • 熟悉 Django, gRPC, Protocol Buffers, React 框架。
  • 有 Docker, Kubernetes, GitLab, GitLab CI, GitHub Actions, Serverless 等开发部署工具的搭建和维护经验。
  • 有丰富的开源社区经验,给 Flutter,Material UI 等知名开源项目贡献过自己的代码。
https://ocavue.com/resume 获取本简历的在线和 PDF 版本。
LAST_UPDATE:2021-03-30;