自 2015 年参加工作,从事软件开发行业,主要负责软件项目的技术架构、团队管理、核心代码编写等工作。熟悉软件需求分析、模块功能架构设计、用户体验设计、开发规范制定、代码库管理、技术文档编写、团队协作、效率管理等领域。
近年专精 C++ 领域,主要涉足跨平台图形界面的底层开发工具的研究与实现。代表作 LarkSDK。作为一款对标 Qt Framework 的超轻量、纯自研的基础开发框架,可广泛用于对国产化开发与部署环境有严格要求的场景。
早年主要工作领域为 Web 全栈开发。对现代前后端各技术均广有涉猎。拥有若干个人开源项目。业余搞 QGIS 二次开发。编写和维护的 QGIS 二次开发入门教程博客广受好评。
教育经历
个人荣誉
- 成都市高新区“金熊猫” B 类人才认证2024.6
- 第五届四川电子科学技术奖2024.1
- 第五届中国先进技术转化应用大赛银奖2023.4
- 四川省计算机科学技术一等奖2022.12
工作经历
负责技术选型、产品架构设计、技术团队构建、协作技术对接、数据库设计、前端开发、微信小程序端开发、PHP 后台开发等职责。主要领导设计开发公司技术产品“农产品档案一体化平台”以及货源资讯平台“优鲜好货”:
- 部署微信小程序端商城“数农优鲜”、“石渠助农”并按需要进行二次开发及后台维护。
- 设计并维护一体化平台数据库及服务器。
- 开发数据录入端微信小程序“小院助手”、开发面向终端客户和采购方的 “农产品溯源系统”及“产地专家系统”等。
- 开发自动化工具对生产端数据进行实时处理,动态生成溯源信息页面。
管理职责:
- 领导软件研发团队,把握宏观研发方向,先后试验、在公司已有成果的基础上先后学习和引入了 QGIS, Qt, QML, GDAL, GeoServer, OpenLayers 等技术和工具。
- 指导并监督研发部门的开发工作,控制产品开发进度,负责面试审核有关技术人员,组建优秀的产品研发团队。
- 负责设计团队培训计划,内容包括 Qt 开发、基于 QML 的界面开发、QtQuick、QGIS 二次开发等,并引导团队成员举办技术讲座,积极分享开发经验。
- 负责与产品负责人协作,编制软件需求分析与功能设计文档,制定任务分配和绩效评定等工作。
研发职责和一线开发工作:
- 负责公司核心后台分布式数据库系统:Bigeo 的优化与维护。
- 总领公司独立知识产权的,基于 Qt 的 GIS 软件平台:Bigeo Desktop 的开发和架构设计。
- 总领公司基于 Bigeo/OpenLayers/GeoServer 的 Web 前端展示系统:Bigeo Online 的开发和架构设计。
- 负责公司门户网站首页的开发与维护。
- 搭建并管理研发团队 git 代码库服务器,负责设计模块化、低耦合的团队开发规范,尽力确保团队成员之间的代码提交互不冲突。
其他项目和产品:
- 全国第三次土地调查市(县)级数据库管理系统。
- 四川省广元市昭化区“两区”划地管理软件(中途接手并在有限的开发时间内成功完成交付)。
维护并优化公司数据库,为团队内其他开发人员和数据分析员解决需求、开发工具、提供内部解决方案。
- 开发了客户票据处理流程系统。
- 开发了一个内部用户管理维护程序。
- Debug 了大量现有的 SQL Server 存储过程和自定义函数。
主要作为 BI 开发者,设计新的 SSIS 包,并维护公司现有的 SSIS 包。
- 开发了一套报表文件自动分发系统。处理 100 多个客户公司 (文件接收者) 的不同编码方式与文件命名需求,同时处理不同的文件类型,实现分组压缩多个文件单次发送的功能等。
- 编写额外的 C# 桌面程序处理项目配置文件。
参与项目:美国铁路局 (FRA) 铁路 GIS 数据维护、查错与更新。主要工作为 GIS 数据编辑与工具开发,兼任 C# 程序开发。
- 使用 C# 和 ArcObjects.NET 开发 ArcGIS 插件和数据库应用以及辅助工具。
- 使用 ArcMap 编辑大量铁路数据,整合不同数据源,修正数据错误等。
- 日常维护大规模的 GIS 数据库。
实习中自学了 Android 开发并参与团队项目。
- 开发了一些学习性质的 Android 平台小程序。
- 为一款政府执法 GIS 应用独立编写 XML 读取模块。
业务项目
一款基于川渝水果原产地的信息整合平台,包括产地展示、产地报价、溯源信息等功能。
为石渠县助农售卖当地特色农产品开发的微信小程序商城。
为龙蟒农技小院开发的农业技术服务小程序,包括农事记录、服务记录、土壤检测记录、专属专家等面向农业工作者的农业服务实用工具。
基于 QGIS 二次开发,界面基于 Qt 。
一期项目结束于 2019.11,二期结束于 2020.04。目前处于后续维护阶段。
针对中建环能的污水处理设备,借助物联网设备构架的一套污水设备一体化 PC 端实时数据上报、存储、管理和查询系统。
利用云服务器部署运行数据库和数据服务程序。数据服务程序负责并行管理物联设备的 TCP 会话,持续解析各 TCP 连接发来的数据包,解析后写入数据库。最后由桌面客户端程序读取数据库数据,实现对污水设备的数据监控和管理。
二期新增 Web 端物联设备管理功能,可以在线监控各物联设备的运行状况、读取和修改寄存器数据、发送固件升级数据、监控后台日志、水务终端设备-物联网设备数据接入等。
基于 GeoServer 和 OpenLayers 制作的 GIS 数据服务发布、展示和在线空间处理平台。
前端基于 OpenLayers 和 Bootstrap 4 设计编写,数据服务基于 GeoServer 和后台单台服务器 12 个计算节点的 Bigeo 数据库发布。可以实现在线高速数据展示(7000 万级别的美国路网数据分级展示)和基本的空间分析(速度相较传统平台,依据数据特点,快几十倍到百倍不等)。
后续将引入 Cesium 实现数据的三维展示和交互等功能。
项目地址基于 OpenGIS 开源技术,独立、高效率、轻量级的 PC 端 GIS 综合软件平台。开发语言为 C++,用户界面框架基于 Qt,独立自主开源,完全无需 ArcGIS 等商业软件和开发库支持。全套功能部署软件大小约 200MB 左右,支持插件化部署和许可授权控制。
分为基础平台和业务插件的架构:基础平台具备图层管理、画布渲染、数据库连接、符号化、坐标系管理、数据编辑等基本功能,其他业务功能全部以 DLL 插件的形式动态加入。不同插件代码互不干扰,降低代码耦合,有效提升团队协作效率,降低代码冲突的可能性。软件分发到终端用户时,可选择性的通过移动 DLL 文件来增删需要或不需要的插件功能,借此灵活控制解决用户业务需求。
插件系统基于 Qt 插件系统构建,插件之间可以互相调用,也可以通过传递参数控制插件的行为。用户可使用 QML 构建插件界面并被主平台引用。
响应自然资源部关于全面开展国土空间规划工作的通知,在上述 Bigeo Desktop 基础上开发的一套用于解决国土空间大数据规划整合的平台项目。目前正在开发中,已完成数据资源检测、数据检查任务构建、坐标系批量转换、Shapefile 编码转换、自定义坐标系构建等基础和二级功能模块。
在上述 Bigeo Desktop 基础上开发的一套针对国家第三次土地调查市县级数据库的综合管理与数据展示平台。
一款针对国家“两区”划地项目开发的数据库综合管理软件。
为宾大医学院 Wang Lab 实验室的 NIAGADS Data Sharing Services 项目开发的数据申请综合管理系统。主要功能有用户及其权限管理、数据申请工作流控制等。
- 从零开始设计 MySQL 数据库表结构。设计了包含超过 10 个步骤的工作流程和至少 6 种不同的用户权限。
- 工业级应用。高度重视信息安全与恶意攻击防范。
- 根据用户表单,使用 jsPDF 在线生成 PDF 文件,并使用 Amazon S3 管理所有申请文件及所需的附件。
- 使用 Bootstrap 构建前端,并在此基础上自行开发封装了若干项目自用的 JS 库。
- 使用 ASP.NET 开发后端程序。截至今日编写了总共近 40 个请求处理后台逻辑。
一款针对阿兹海默症不同基因表现型的分类及在线查询系统。用于疾病研究。宾大医学院 Wang Lab 实验室的项目。
- 基于 SQL Server 设计数据库表结构,目前数据拥有超过 50 个基因表现型分类和超过 30 个研究项目。
- 开发了一套后台控制面板程序供管理员进行数据的增删改操作。
一款针对神经退行性疾病数据库 (INDD) 的在线综合查询系统。用于疾病研究。宾大医学院 Wang Lab 实验室的项目。
- 维护项目代码库,重构了大量 CSS, JS 和 C# 代码,根据用户需求添加功能或针对已有功能进行错误排查。
- 同时负责 INDD 数据库的日常维护、数据迁移、数据清理及数据备份等。
开源项目
可能是目前最轻量级 (14KB) 的 WebGL 动画库。基于原生 JS 和 WebGL 构建。
一款简易的静态博客框架。特点是实时解析 Markdown 文档,无须预生成整个站点为 HTML,只保留最小限度的 build 操作,易于使用。基于原生 JS。