软件研发专家 - 徐焌
Phone:13270417323 Email:me@yamajik.com Github:https://github.com/yamajik Linkedin:https://www.linkedin.com/in/yamajik Online Resume:https://www.notion.so/yamajik
🙋♂️ 个人简介
- 擅长设计实现软件基础架构
- 熟悉分布式应用开发及原理
- 扎实的编程基础和英语能力
- 良好的团队沟通与协作能力
📚 教育经历
江苏科技大学
2012 - 2016
计算机软件工程系
👨💻 工作经历
软件研发专家
雪浪数制科技有限公司(2018.08 - 至今)
- 雪浪算盘
技术栈:Golang、Python、Typescript、Redis、Posgres、Minio
雪浪算盘(雪浪 OS 三件套之一)是一款基于开源生态的工业智能建模协同平台,用于开发工业智能应用,内嵌了丰富的机器学习算法、深度学习算法、可视化套件和数据处理套件,可以快速完成数据模型建立、调优、部署应用,提高效率降低成本,为企业插上人工智能的翅膀。本人主要负责该产品技术基础架构的设计与实现,结合云原生技术与 AI 技术,确保工业解决方案能够在工业场景中落地。
- 技术架构:负责算盘产品技术架构的整体设计与实现,确保通过算盘构建的工业 APP 能够持久稳定的运行在多种不同环境中(公有云、私有云、边缘计算)。算盘产品技术架构粗略可分为以下四层(从上至下分别应对不同的角色与不同的场景):
- 用户视图层:通过算盘构建的工业 APP 将提供一个前端作为用户入口给最终用户使用(例如:产线工人)。
- 应用建模层:主要面向 OT 工程师的使用习惯进行设计,采用 Flow Base Programing 的方式能够拖拉拽快速构建出一个简单工业 APP,并提供编程语言入口能够补充一些有向无环图无法描述的逻辑(参考:Labview、Simulink)。
- 函数计算层:主要面向算法工程师与机理开发人员,提供 Lambda 表达式与函数计算两种方式,能够方便快速地开发工业算法与机理。区别于市面上其他 FAAS 产品,工业场景对计算资源的使用相对苛刻,该层使用微服务的方式重新实现 FAAS 服务,解决常规 FAAS 产品计算资源滥用的问题,在 FAAS 的便捷与性能之间取得平衡。
- 分布式运行时:该层主要解决上三层的应用在公有云、私有云(Kubernetes 集群)、边缘计算(K3s 单节点)、个人电脑 Linux(Docker)、个人电脑 Win|Mac (PM2)等不同场景的部署运行问题(相似:Dapr)。
例如下方视频中由算盘驱动的柑橘分拣产线。
- 开发规范:负责算盘组件 SDK 规范设计,确保开发者仅需关心业务层的逻辑开发,无需操心组件间数据交换时与数据层的对象存储、消息队列、流计算等的实际交互逻辑(类似于 Dapr 的 Binding)。目前算盘提供多种 SDK: Python(用于实现算法组件)、Node(用于实现逻辑组件)、Javascript(用于实现可视化组件)、Java(用于面向广大开发者),其中 Python SDK 由本人独立实现,并作为其他语言 SDK 参考的规范,在算盘现有 1000+ 组件中,80% 的组件基于 Python SDK 实现,并已经在诸多项目中久经考验。
- 核心组件:负责算盘产品基础功能组件的设计与实现,适度把控组件功能颗粒度,优化组件的使用体验与性能,算盘使用频率最高的组件榜单中常年被这些组件霸榜。其中 VSCode 组件与公式编辑器组件分别定为两种不同的场景,方便开发者能够快速地进行算盘自定义组件的开发。
- VSCode 组件:该组件基于 Code Server 进行开发,作为算盘组件的在线开发工具(IDE),内置各种语言的 SDK 与插件,能够快速方便地开发算盘组件。该组件在算盘组件的标准开发流程中占据着重要的地位。
- 公式编辑器组件: 相较于 VSCode 组件,公式编辑器组件采用更为精简的 Lambda 表达式来编写机理公式,机理开发人员能够非常方便将工业机理沉淀为算盘组件。
- 智能算法:负责算盘工业智能算法 Infrastructure 流程设计与实现,包含机器学习、深度学习的训练至部署的全流程、运筹学寻优算法等。基于 SDK 与核心组件构建出一套满足算法分布式以及 GPU 调度的多种场景需求的算法开发、交付的标准流程,使用算盘交付的工业智能算法均以此作为标准流程来简化算法开发与交付的复杂度。
- 架构延伸:负责算盘边缘版与算盘桌面版的设计与实现
- 算盘边缘版:基于 k3s 独立部署,能够完美地解决边缘场景网络孱弱,计算异构等问题,适合在边缘工控盒子中运行,目前与硬件相关的项目均采用该方案进行部署。
- 算盘个人版:基于 electron 进行开发,该方案利用个人电脑的计算资源运行,在校园推广的场景中非常合适,目前各合作高校均采用此版本作为教育版使用。
- 产品周边:参与算盘的产品设计、运营推广、培训教育等工作,目前算盘已与多所高校合作(浙江大学、华东理工、江南大学等),将算盘作为教育工具逐步推进其在工业领域落地。
- 技术架构:负责算盘产品技术架构的整体设计与实现,确保通过算盘构建的工业 APP 能够持久稳定的运行在多种不同环境中(公有云、私有云、边缘计算)。算盘产品技术架构粗略可分为以下四层(从上至下分别应对不同的角色与不同的场景):
软件研发工程师
浙江九州云信息科技有限公司(2016.07 - 2018.08)
- Animbus
技术栈:Python、Angular、Mysql、OpenStack
Animus 是 99cloud 云平台管理系统,为企业级云计算管理平台提供了一站式的平台解决方案。本人主要负责维护该产品的持续迭代,前后端优化等工作。
- 为解决 Django Template 多层级模板嵌套性能太差的问题,决定使用 AngularJS 重构前端优化体验,我负责平台逐步迁移方案,封装前端视图组件以及前后端中间件,以便团队在新的框架下能够快速开发业务。
- 负责平台 Api 性能优化,从 UI 至底层服务逐一排查问题,在尽可能不破坏原先架构的基础上寻求解决方案,确保所有 Api 都能在 1s 之内完成。
- 参与 kolla-ansible (Ansible, Docker) 平台部署项目的开发,熟悉线上 Docker 环境调试。
- 参与告警系统 (虚拟机业务告警、平台服务告警) 的设计与开发,负责业务告警系统的研发。
- 能够带领小团队在敏捷开发中顺利地完成每个 Scrum 的任务。
- Neutron
技术栈:Python、Mysql、OpenStack
Neutron 是 99cloud 云平台的网络解决方案,针对企业不同的网络环境定制满足客户需求的云平台网络方案。本人负责该产品部分功能研发与优化。
- 负责开发并维护负载均衡器、端口转发等客制化功能。
- 负责 Api 性能调优,部分 Api 性能提升 6x。
🛠 技术栈
Golang ⭐️⭐️⭐️⭐️
在工业物联网这几年,跨平台的需求异常旺盛,特别是 Win 裸跑的需求,Golang 能够很好地解决这一问题,目前是我的主力开发语言。
Python ⭐️⭐️⭐️⭐️
Python 在科学计算、数据处理等领域有着无法超越的生态优势,与我的工作密切相关,是我长期使用的第二语言。
Typescript ⭐️⭐️⭐️
Nodejs 的 I/O 处理能力与 Typescript 的类型系统都非常好用,在业务层使用很不错。
📜 开源贡献