编辑
2024-01-15
如来神掌
0
请注意,本文编写于 41 天前,最后修改于 4 天前,其中某些信息可能已经过时。

目录

联系方式
个人信息
个人总结
工作经历
高级后端工程师@iHerb.com | 01/2019 - 01/2024
项目 - 担任角色 - 技术栈
研发工程师@Leancloud.com | 05/2014 - 12/2018
项目 - 担任角色 - 技术栈
接口协议,编写代码。
中级开发工程师@微创软件(北京) | 10/2013 - 04/2014
项目 - 担任角色 - 技术栈
初级研发工程师@Symbio | 07/2011 - 07/2013
项目 - 担任角色 - 技术栈
Skills

个人简历

联系方式

个人信息

个人总结

与 C# 相关的全产品线都开发过,包括 Unity/WPF/SystemCenter/WP/ASP.NET/.NET Core,对基于 Kubernetes 和 Docker 的后端微服务开发有较多经验。研究和涉猎的范围包括但不限于 iOS/Android/Hybrid/Web 等客户端,能够快速上手和使用一些陌生的框架和技术,应用工具和使用框架的能力较强。 解读需求理解需求能力强,与产品,QA 沟通交流能力强,可以将复杂的技术细节通俗地向不同背景的同事解释清楚。 与外国团队直接合作沟通,英文工作无障碍。 维护过大型的技术文档项目,擅长文案工作。 目前正在运营自己的个人 Kubernetes 集群,部署和维护了几个网站、博客以及一些开源组件,案例如下:

工作经历

高级后端工程师@iHerb.com | 01/2019 - 01/2024

  • iHerb 是一家专注于保健品在线销售的电商平台,就职期间一直担任高级后端开发,近两年转为全栈开发,从编码到发布上线,全程参与。

项目 - 担任角色 - 技术栈

Catalog - 全栈工程师

  • 担任角色是全栈开发,在不同的业务组件上采用多种语言完成业务功能,使用 TypeScript 基于 apollographql 框架的数据查询中间件,订阅 Kafka 的消息更新底层数据库,为 Web(Desktop+React Mobile Web)/Mobile App/小程序提供统一的 graphql 数据 API,并且也需要基于 MVC 对 Web 页面进行维护。
  • C#/.NET Core/Kubernetes/SQL Server/React/ASP.NET MVC/Apollo GraphQL/NodeJS/Dgraph/Kafka

UGC - 后端研发

  • 担任角色是后端开发日常任务是维护用户对商品的评论和 Q&A,技术栈结构是 .NET Core 6.0 作为核心的 API 层,底层数据存储同时使用了 ElasticSerach 作为全文检索引擎,Mongodb 作为持久化存储,RabbitMQ 作为消息队列处理用户提交的评论和 Q&A,搭配 Hangfire 进行定期的数据处理和应对新需求的数据改造以及缓存更新。
  • C#/.NET Core/Kubernetes/SQL Server/ASP.NET MVC/Elasticsearch/MongoDB/RabbitMQ/Hangfire

Gateway API - 后端研发

  • 为服务端的 SEO 做一个 API,基于不同国家和地区以及语言进行对应子站点的重定向,作为整个 UGC 项目的 SEO 核心服务端中间件,独自完成 API 设计,数据源整理,缓存策略制定,编码,单元测试,发布和上线。
  • C#/.NET Core/Kubernetes/SQL Server/ASP.NET MVC

Incentive Review Mechanism

  • 功能简述:用户提交一条有效评论会给予用户 1 美元的现金奖励。 设计完整的从用户提交评论到最后的给予 1 美元的流程,从扫描用户新增评论开始,要对用户的购买记录,评论打分,评论生效时间,过往评论记录进行审核,其中采用了责任链模式进行改造之前的流程,提升效率并且提高了代码可读性。
  • C#/.NET Core 6.0/Kubernetes/RabbitMQ/MongoDB

BFF (Backend For Frontend) - 技术负责人

  • 担任角色是架构负责人以及后端开发 向 Mobile App 和小程序提供数据 API 基于 ASP.NET Core 构建 Web API 项目,基于 Parse Server 做数据库微服务,后端采用 MongoDb 做存储,前端使用 Redis 做缓存
  • C#/.NET Core 2.2/Kubernetes/Jenkins CI/CD/MongoDB

研发工程师@Leancloud.com | 05/2014 - 12/2018

担任 C# 工程师。

项目 - 担任角色 - 技术栈

C# SDK - 核心研发

  • 日常维护 C# SDK for Unity/Windows Phone/Windows Desktop/WPF/Xamarin。使用 Visual Studio 开发各种跨平台需求的 SDK。
  • C#/Unity3D

Realtime 实时聊天组件 SDK - 核心研发

  • 基于 WebSocket 实现的客户端试试聊天组件 C# SDK,s服务端采用的是 Kafka 进行消息推送,客户端封装服务端的聊天室,群组,私信好友等功能,设计 C# 接口协议,编写代码。
  • C#/WebSocket/Protobuf

LeanCloud 官方文档 - https://docs.leancloud.cn - 核心维护者

  • 主要负责中文文案的编撰和维护以及示例代码的编写和审核,基于 Nunjunks 和 Markdown 的静态文档渲染,搭配 jQuery 实现的示例代码的动态切换。
  • Nunjucks/Markdown/jQuery

中级开发工程师@微创软件(北京) | 10/2013 - 04/2014

项目 - 担任角色 - 技术栈

CloudBox - 核心后端研发

  • 向内部的 WCF 服务暴露 System Center 基础 API 服务,实现虚拟化云桌面的功能。基于 System Center 的 Powershell API 封装成 WCF/REST api 给客户端调用,来实现企业 虚拟桌面的主机创建,云资源管理,子网监控等等,主要客户都是一些银行企业,大型企业的 虚拟桌面化办公,对应的产品是 VMWare。过程中接触到了微软 Azure 的公有云和混合云, 也深入了解了 Azure 的 REST API,其中印象比较深刻的是异步的 REST API 的封装,因为创建虚拟机是一个异步的过程,因此在封装 API 的时候需要也给出一个异步的解决方案,最后成功上线,还拿下了电信的项目,是花费精力最少,性价比最高的一个项目了。
  • C#/.NET/SQL Server/System Center/WCF/Azure REST API

初级研发工程师@Symbio | 07/2011 - 07/2013

  • 主要负责基于 Silverlight 的 Windows Phone 的 App 研发

项目 - 担任角色 - 技术栈

** Nokia App Studio - App 研发**

  • 为 Nokia 收购版权的 iOS 应用做出对应的 Windows Phone 的版本,主要负责了 3 个游戏, 使用到了末代的 XNA 引擎和 Silverlight,开始逐步了解微软的 XAML 技术栈,当时是初学者,项目比较大,当时五六个人一起做了二十多个游戏,每个人都要负 责三四个。
  • Silverlight for Windows Phone/C#/XNA/XAML/Cocos2d

Skills

编程语言: C#, JavaScript / TypeScript

Web 开发: React (基础), Angular (基础) ASP.NET Razor

Web 框架: ASP.NET Core (熟练), Express (基础)

数据库: MongoDB (熟练), SQL Server (基础), Postgres(基础)

消息队列: RabbitMQ (熟练), Kafka (基础)

版本控制和文档: Git(熟练), Markdown(熟练),

CI/CD: Jenkins (熟练), Azure Pipelines&DevOps(熟练), GitHub Actions (熟练), FluxCD(熟练), Harness(熟练)

后端组件 Kubernetes (熟练), Redis(基础),Elasticsearch(熟练),Docker(熟练)

云平台: GCP (熟练), Azure (熟练), Tencent Cloud/Aliyun/DigitalOcean (基础)

开发工具: Visual Studio (熟练), Visual Studio Code (熟练), IDEA(基础)

使用操作系统: Linux (ElementaryOS,Ubuntu) (熟练), macOS (熟练), Windows (熟练)

语言: Chinese(母语) English (熟练)