个人简历(在职中)

基本信息

姓名:黄智强,年龄:29,工作经验:前端 - 7 年

目前情况:北京-作业帮

邮箱:13402318457@163.com,手机/微信:13402318457

教育:2013 ~ 2017,本科

点击可下载 PDF 版简历:黄智强-前端-7 年.pdf

个人优势

  • 熟练掌握 HTML、JavaScript(ES6+)、CSS、TypeScript 等常用前端技术
  • 熟练使用 VueReact 框架,了解其原理并具有多年开发经验
  • 具有大型 ToB SaaS 前端开发经验,具有复杂前端技术方案落地经验
  • 具备全栈开发经验,具备 Devops 之研发流程实践经验
  • 具有 Nodejs、低代码、微前端的实践与经验
  • 具备项目管理与团队管理经验,做过 B 端 SCRM 产品,涉及 PC/H5/小程序

工作经历

2019-09 ~ 2023-06:北京尘锋信息技术有限公司成都分公司

主要工作:负责前端关键功能开发;负责前端业务线团队管理;负责全栈开发内部系统;
主要技术:Vue 全家桶、React、TypeScript、Nodejs、Element、Antd;
角色变化:2019/9 前端工程师;2020/6 前端小组长;2021/1 业务线前端 TL;2022/1 全栈开发者;
个人奖项:2019 年技术之星;2020 年优秀团队;2021/2022 年 Q4 绩效 A;2022 年 Q4 “看见”奖;

2018-06 ~ 2019-08:成都八进制网络科技有限公司

主要工作:负责前端关键功能开发;负责开发项目管理;带领开发项目小组;
主要技术:Vue 全家桶、Element;
角色变化:2018/6:前端工程师;2018/9:前端小组长;

2017-03 ~ 2018-06:成都云玺科技有限公司

主要工作:负责前端关键功能开发;
主要技术:Vue 全家桶、Element;
角色变化:2017/3:实习;2017/6:转正;

项目经验

DevOps 平台:研发管理平台

参与角色:产品经理 & 全栈开发,2022-01 ~ 2023-06

项目描述:PC 项目,打通了开发到上线的整个流程,实现产研协作流程的统一。本人负责迭代、发版等核心流程的设计与开发。

主要技术:React、Antd、Nodejs、Midwayjs、TypeScript、MySQL、Protobufjs

工作内容
1、作为产品经理,负责功能的需求分析、产品设计和原型交付,确保符合产研的实际需求。
2、作为全栈开发,参与研发的全流程:版本管理、全栈开发(React + Nodejs)、功能测试、上线部署等。
3、负责技术攻坚,实现了 Protobuf 转前端接口代码(TS 语言),实现了研发流程引擎开发。

业务难点:当时遇到了【研发流程线上化】的业务难点
1、背景:之前的研发流程并不规范,各团队都有内部的流程与习惯,并且差异很大,很难直接转为线上。
2、行动:当时我是找了各部门的各角色(TL、研发),收集进行现有的流程;再依据角色整理流程,然后进行各角色流程的衔接;最后将流程优化、简化、细化,补充各种规范,制定了新的产研开发流程,并最终实现线上化。在此过程中沉淀了《产研开发流程规范》、《分支管理规范》等文档
3、收获:内部业务先跟实际的使用人员进行沟通,了解核心问题与诉求,才能做出更实际的功能

技术难点:当时遇到了【Protobuf 转为 TS 代码】的技术难点
1、背景:Protobuf 是谷歌推出的通用接口协议写法,支持将其转为 Java、Go 等语言,但是官方不支持转为 TS,所以就需要自研一套转换规则,并且还要考虑公司内部 Protobuf 的互相引用。
2、行动:在 Github 上找到了 Protobufjs 的库,能将最基本的 Protobuf 转为最基本的 JS 对象,但这还不够,所以又基于转换结果,自研额外流程:PB 内容解析器、import 关系解析、远程拉取 git 仓库代码、解析方法与响应等。之后再借助 handlebars 的模板功能,进行自定义的 TS 代码生成:制定 TS 类型转化规范、补充 TS 类型等,并使用公司内部的 fetch sdk 实现接口调用,最终完成了 TS 版的前端接口代码
3、收获:通过这种技术攻坚与源码深入,让我以后对新技术点的畏惧感降低了,提高了自己的学习能力。

项目收获:通过该项目,多次经历产品设计到全栈开发的整个流程,既学会了产品思维,又扩展了技术的深度与广度,还对产研流程有了深入了解。最终提升了学习能力、分析能力、沟通能力、技术能力等

项目业绩
1、制定了研发流程规范,并推广到全公司,提高了产研协作效率。
2、提升了研发能效:人为犯错降低 90%,迭代效率提升 10%,上线时间节省 10%。
3、个人荣获:2022 年 Q4 绩效 A,2022 年 Q4 “看见”奖

使用情况:产研使用人数 400+,迭代数量 1000+,发版次数 500+,应用数量 500+

SaaS 产品:尘锋 SCRM

参与角色:增长运营业务线前端 TL & 核心开发,2019-09 ~ 2022-01

项目描述:PC/H5 项目,公司主营项目,基于企业微信的一站式客户管理平台。增长运营业务能帮助客户提升销售转化率、实现业绩增长,其核心业务为获客、内容和触达。

主要技术:Vue2、VueRouter、Vuex、Elememt、qiankun、fullcalendar

工作内容
1、负责【营销资料、营销计划、话术库】等核心业务的功能开发
2、核心技术栈为 Vue 全家桶,其次主导富文本编辑器、交互型日历等技术选型与开发。
3、参与需求内审,做技术相关性评估,项目进度把控等
4、处理团队的日常事务:任务分配、版本排期、跨部门协调、招聘以及团队成员培养。

协作难点:当时遇到了【营销资料的多端展示】的协作难点
1、背景:刚开始营销资料是只在增长运营内部使用的,但随着业务的扩张,需要将营销资料在【APP、客服侧边栏、商城】等模块内使用,并还需要以各种形式(表格、图标等)展示
2、行动:为支持各模块的展示,决定专门封装营销资料展示组件,用于对外提供。我先是跟产品、设计部门达成统一后,决定提供固定的几种 UI 展示与业务功能。然后开发完后提供了 npm 包和单独页面给不同需求的团队使用
3、收获:遇到这种协作问题,可以先考虑是否能反推提供统一的解决方案,若不行再考虑定制化的提供组件,最后再考虑单独支持

技术难点:当时遇到了【自定义日历功能】的技术难点
1、背景:当时需要实现跨日历的任务展示,并且还需要支持任务的自定义展示、可拖动任务、点击可看详情等各种复杂功能
2、行动:先找了开源的日历库,对比了【 Element 的日历组件】、【fullcalendar】、【Tui calendar】,根据 Github 的 stars 数量、issue 数、最近 commit 时间、功能的符合度、文档完善度等,综合考虑选择 fullcalendar 作为基础日历,然后基于它进行二次自研:更改源码、功能补充、样式覆盖、绑定自定义事件等,实现业务的功能与特定 UI 展示,并封装成 custom-fullcalendar 的 npm 包,作为团队资产,以供其他模块使用
3、收获:通过这种技术攻坚与源码深入,既提高了技术与学习能力,又锻炼了复杂业务的解决能力。

项目收获:作为开发人员,学到了:富文本、日历、视频等技术,并作为前端版本负责人,锻炼了协作、沟通等能力;作为团队 TL,锻炼了:团队管理、目标管理、业务理解、人才培养等能力

项目业绩
1、培养了数名前端骨干人员,晋升高级前端 1 人。
2、输出业务架构和功能模块等文档,加强了成员对业务的熟悉度,提高了开发效率。
3、荣获:2020 年优秀团队,2021 年 Q4 个人绩效 A

使用情况:服务公司 5000+,部门多个模块使用率占据前十

项目链接https://www.dustess.com/growth-operation

营销低代码平台

参与角色:项目负责人,2019-10 ~ 2021-12

项目描述:PC 项目,供客户公司的市场部门使用,通过拖曳可快速产出 H5 页面,用于辅助获客

主要技术:Vue2、VueRouter、Vuex、Elememt、moveable、pdfjs

工作内容
1、主导整个系统的技术选型、架构设计、以及交互体验,调研并制定技术可行性方案。
2、独立负责所有功能开发,核心技术栈为 Vue 全家桶
3、采用 Vuex 实现数据流转与时光回溯,基于 moveable 二次开发实现任意拖曳,使用 pdfjs 将 PDF 转为宣传册,使用 html2canvas 实现海报功能

项目难点:当时遇到了【没有开发过低代码平台】的难点
1、背景:当时没做过低代码平台,该平台要求组件任意拖曳、组件有层级、组件可组合/伸缩、画布大小可变等功能,对于我来说挑战难度大,复杂度很高
2、行动:先找市面上已有的竞品,去深度体验功能、交互,熟悉业务流程;其次去找开源的项目代码,去了解业务架构、核心技术点、数据结构、关键流程代码等;最后再收集、整理,写了一份项目的技术可行性方案,进行讨论、评估等;
3、收获:遇到陌生的领域,最好的方式就是去找竞品,看它的功能、交互、设计等,能更快的入门;并对学习新技术领域有了自己的一套方法,为以后的新技术攻坚打下了基础。

技术难点:当时遇到了【组件的数据结构定义】的技术难点
1、背景:当时是从零搭建低代码平台,所以欠缺相关经验,但知道组件数据结构是很核心的,基于它才能实现组件的展示、拖动等上层功能,并且它也决定了系统的稳定性、扩展性
2、行动:通过找开源项目,对比了[码良、鲁班、H5-Dooring]三个,深研其中的设计思路,总结数据结构的优缺点(扩展性、稳定性、复杂度等),最后结合实际业务,定义出了通用数据结构,基础信息有 id、name、label、type,采用 style 对象存放样式(位置、宽高)、props 对象存放属性(颜色、字体)、animate 对象存放进出场动画,最终该数据结构为后续的版本迭代提供了支撑。
3、收获:通过实际调研,更深入了解低代码平台的技术体系,为后面的代码开发、产品设计提供了方向

技术难点:当时遇到了【复杂画布功能】的技术难点
1、背景:业务上画布需要提供多种尺寸选择,并支持画布整体缩放,但画布的尺寸改变,不仅会影响到画布内的组件尺寸,并且还涉及到画布的边界更改。所以画布尺寸这个功能技术上存在难度,并且影响范围又广,很容易产生交互与功能上的问题。
2、行动:当时先调研竞品,发现它的画布支持[50%~200%]的缩放,每次缩放间隔为 5%;发现画布尺寸改变后,会按照画布变得比例,去等比例改变其中的组件的宽高、位置、字体等,最终实现画布与组件的等比例改变,符合用户的操作感官。根据调研结果整理出了《低代码平台-画布尺寸设计方案》文档,再根据公司实际业务制定了画布的尺寸大小、缩放比例、组件变得比例、边界处理等技术实现概要。

技术难点:当时遇到了【组件自定义拖动】的技术难点
1、背景:业务上需要支持画布组件的任意拖曳,并支持分组、对齐、辅助线等等。这个技术对我来说很陌生,并且自己实现的话需要很大精力,并且可能考虑的还不够全面。
2、行动:借用已开源的库,在 Github 上面找到了 vuedraggable、moveable,发现 moveable 的使用场景、功能交互很契合业务,因此将 moveable 做为基础,然后针对业务进行二次开发:更改辅助线颜色、更改选中展示、增加快捷键、动态更改拖曳边界等,最终实现业务功能与交互操作

项目收获:从零到一的开发了低代码平台,对该领域有了实战经验;从中提升了自己的学习、沟通、协作、解决问题的能力

项目业绩
1、从零到一落地了公司的低代码平台体系,提供了技术储备
2、沉淀 《低代码平台开发分享》《低代码平台-数据结构设计》《低代码平台-画布尺寸设计方案》等文档
3、产出了平台组件、渲染引擎、画布容器等组件,发布到私有 npm 以供团队使用
4、个人荣获:2019 年尘锋技术之星

使用情况:上线至今,模板产量 200+,H5 产量 300W+,服务公司 5000+

营销资料落地页

参与角色:项目负责人,2019-09 ~ 2021-12

项目描述:H5 端,用于在微信内展示资料,会上报用户的操作轨迹,以便筛选优质用户,提高转化率。

主要技术:Vue2、Vant、mk-wx-auth、mk-wx-sdk、mk-web-report-sdk

工作内容
1、制定项目计划和任务分配,负责技术架构,主导技术选型与开发,核心技术栈为 Vue 全家桶。
2、采用 Vue2 搭建项目,使用 Vant 开发页面,基于二次封装的 Axios 获取数据
3、设计并开发操作轨迹上报 mk-web-report-sdk 工具包,实现了对用户操作的精确追踪与及时上报。
4、封装微信生态 npm:mk-wx-auth(授权)、 mk-wx-sdk(sdk 注册) ,统一流程,降低接入成本

业务难点:当时遇到了【资料的多场景展示】的业务难点
1、背景:当时业务场景有:微信小程序、企微小程序、微信 H5、企微 H5、普通浏览器、App、iOS、安卓、移动端、windows 等各场景,不同场景下业务、交互、功能都有差别,并且资料本身还有预览、发布、删除等状态,所以资料的功能开发需要考虑到以上情况,并且还需要应对后续新的场景。
2、行动:针对以上情况,我先从技术侧上出发,通过制定统一的资料 url 生成规则,将各场景转化为地址参数,关键参数有:id、type、scene,并根据 scene 增删参数,这样在项目内就可以获取地址上的参数并做对应处理;然后再从产品侧出发,我在制定 url 规则时会拉上产品,一起基于资料的真实业务,归纳场景,合理扩展,达成一致,最终定义出了可扩展的资料 url 规则
3、收获:针对复杂业务场景,首先是从技术上实现功能,其次再通过产品侧统一规范,才能避免重复开发

技术难点
1、操作轨迹上报:需要深入框架生命周期和微信 SDK 回调,并考虑实际操作和时机,最终开发了操作轨迹上报 SDK,实现了各种行为的准确上报
2、视频渲染的兼容性问题:为了解决视频渲染偶尔黑屏问题,测试了各机型的视频渲染,然后再结合视频编码与分辨率,最终找到原因并成功解决。

项目收获:通过该 C 端项目,对微信、企微等生态有了更深的了解,并提升了复杂业务的解决能力。

项目业绩
1、沉淀《行为轨迹上报 SDK 文档》,提高协作效率,补充团队资产
2、沉淀《资料 url 生成规则规范文档》,减少跨部门沟通成本
3、基于 2 封装了 create-h5-url 工具包,提高开发效率

使用情况:服务公司 5000+,H5 日均 PV 超过 1W

掌握技能

基础:HTML、CSS、JavaScript(ES6+)、TypeScript 等前端技术

框架:Vue2、Vue3、Vuex、VueRouter、React、UmiJS、Qiankun、Nextjs

UI 库:Elememt、Vant、Antd、Mui、Tailwindcss

工具库:axios、ali-oss、swiper、fullcalendar、html2canvas、wangeditor、moveable、antv/x6、handlebars、protobufjs、xgplayer、pdfjs、animate.css

后端:Nodejs、Midwayjs、Nestjs、MySQL、Typeorm、Prisma

经验:全栈开发、低代码平台、ToB、SaaS、SCRM、大型前端项目、微前端、项目管理、团队管理、微信/企微生态对接、Devops

社交主页

关于我

更多的我

年终总结

可以认识更深的我~

2023-年总结,平仄参半

个人简历(在职中)
https://mrhzq.github.io/职业上一二事/个人简历(在职中)/
作者
黄智强
发布于
2024年3月22日
许可协议