周清

Java高级工程师/Web全栈软件开发工程师(Java/Ruby/Node.js/DevOps)

个人信息

  • 周清/男/1986
  • 硕士研究生/郑州大学计算机软件与理论
  • 技术博客: zhouqing86.github.io
  • Github: zhouqing86
  • 期望职位: Java高级工程师,Web全栈软件工程师
  • 期望城市: 深圳

个人总结/专长

我是一个Web全栈开发人员(后端:Java, Ruby, Node.JS, Scala, Golang等),(前端:ReactJS、VueJS等),(DevOps:AWS,Kubernetes,GitOps,Ansible等),对测试驱动开发、持续集成与持续部署、微服务架构以及敏捷开发实践方法有深刻的认识。

我有十一年工作经验,其中四年多敏捷团队管理经验:

  • 技术上,熟练掌握Java/Ruby/Node.js相关Web项目的开发;掌握基础的DevOps实践(包括但不限于基础设施即代码,AWS相关资源与工具,Kubernetes, docker, Ansible,负载均衡,0宕机部署等)。另熟悉如下实践/工具/架构/解决方案:数据库的1主+N备读写分离管理;数据库数据到搜索引擎进行数据同步的多种方式;持续集成与持续部署策略;网站的A/B测试;CDN(Akamai)的配置;网站性能调优;SEO优化;产品环境的运行/访问监控;Splunk日志管理;将庞大单体项目拆分为微服务架构;BFF架构;Serverless架构等。

  • 管理上,从2015年带新人的高级开发人员到2016年10+人团队的团队/技术管理者(近1年经验),此后在腾讯和EPAM也都是团队的Leader。逐步理解敏捷开发实践。逐渐对于管理好团队的目标/计划、营造团队良好技术氛围、培养团队好的工作习惯、团队精神激励、团队工作流程优化、新人培养、沟通管理、风险管理有了一定的经验。

  • 此外,我有两年多测试/QA经验,擅长探索性测试,测试文档编写。转职开发后,QA的经验让我在开发时比很多其他开发同事更加注重代码逻辑缜密,更加注重单元测试,更加注重代码质量,也更加注重沟通。

工作经历

EPAM System (2018年6月 ~ 至今)

亿磐创立于1993年并植根于白罗斯和美国,是纽约证券交易所(NYSE:EPAM)的上市公司,并被认为是全球领先的产品开发和数字工程服务企业。亿磐利用其屡获殊荣的全球交付平台,正为遍布于北美、欧洲及亚太超过25个国家和地区的客户提供创新解决方案。

瑞士X银行

在项目中经常使用的技术栈有Java, Ruby, Node.js, ReactJS + Redux, Kubernetes, GitOps. 处理并解决任何技术栈上任何难的问题。参与老项目的维护和迁移已经新项目的开发部署。

  • 负责部署流水线从Teamcity迁移至GitOps

  • 负责新应用从0部署到私有OpenShift集群

  • 参与多个Java, Ruby, Node.js后端项目的开发

  • 参与多个ReactJS+Redux前端项目的开发

  • 目前项目的Tech Leader

Refinitiv

在项目中经常使用的技术栈有Java, AWS, Jenkins, Terraform. 项目中的敏捷教练,引导团队使用好的敏捷实践、注重代码质量、培训、解决技术难题。

瑞银集团(UBS)

中国项目的TeamLeader,从零开始参与组建开发团队,参与瑞银中国核心系统的维护和新功能的开发。

参与瑞银中国核心系统的维护和新功能的开发以及为将已存在的项目构建持续集成/部署的流水线。项目中主要用到的技术栈为Java, Tomcat, Websphere, Teamcity。

腾讯 (2017年12月 ~ 2018年5月)

腾讯内部某广告平台维护与开发

腾讯的高级工程师级别,在五人项目中既承担技术Leader的工作也承担PM的职责。

技术方面,使用的是Go/PHP/Vuejs,在项目中推动引入Docker,负责对新项目进行领域建模以及技术选型,也负责部分功能的实现和维护。

PM方面,同时作为项目的敏捷教练,在项目中引入敏捷实践,跟踪项目的进度,参与需求分析。

ThoughtWorks (2014年7月 ~ 2017年11月)

ThoughtWorks是一家追求技术卓越的企业,我有幸2014年加入并且能快速拓宽技术视野,也在ThoughtWorks获取到很多能够提升自己的机会。

ThoughtWork校园招聘网站

此项目中后期开发人员4-6人,我是此项目的技术领导者(Tech Leader),也同时承担后端开发、前端开发和基础设施相关代码编写,也承担了项目中部分业务分析的工作。项目前期负责了架构选用,基础设施搭建,前后端代码库初始化。

此项目使用的技术栈为(React/Redux/Ruby On Rails/Java/Docker/Nginx/MySQL):

  • http://join.thoughtworks.cn 首页相关Responsive页面,支持电脑桌面端显示和手机端显示

  • 提供学生第三方登陆(QQ和微博)注册,修改基本信息、提交简历和面试状态信息查询

  • 管理系统管理员、面试官、HR之间的权限

  • 管控学生面试流程,在不同的面试阶段统计、排名/排序、过滤、导出等

  • 管理系统用户信息、学生基本信息、不同城市面试维度信息、面试官基于不同维度的评价打分信息

  • 管理校园招聘微信公众号,学生可微信公众号绑定手机号查询面试状态

澳洲商业地产网站架构演进

澳洲商业地产网站2014年以前只支持电脑桌面访问,2015年开始对网站进升级改造,对于后端和基础设施:拆分单体庞大项目架构为微服务架构;实体机部署到AWS云部署;搜索引擎从微软FAST到ElasticSearch迁移。对于前端页面:主要是Responsive改造(支持电脑桌面,平板电脑和手机端访问),从JSP+Jquery到ReactJS。

我参与地产网站升级改造的多个子项目,由于每个子项目用的技术栈或有不同。在这个升级改造,架构演进的过程中,我参与了Java/Ruby/NodeJS/ReactJS/Scala相关技术栈的开发,也参与了基础设施代码的编写(AWS Cloudformation/Docker/Ansible/Shell)。

2016年我成为此项目西安团队(10+人)的团队负责人(Team Leader),团队中并行开发2~3个项目。我参与多个微服务的架构决策、技术选型与开发,也多次与澳洲的项目技术负责人讨论架构演进的方向。

澳洲商业地产网站维护(BAU)

我在参与多个子系统中BUG的修复,是BUG修复的主力军。2015年下半年后负责BUG修复小组(开发人员2-3人),且与一位印度DL合作非常愉快。在BUG修复的过程中基本接触了澳洲商业地产网站系统的各个环节,对于其之前的系统架构做了深入的了解,接触了Java/Ruby/NodeJS/Scala/AWS/Docker等技术栈,逐渐深知系统中存在的一些痛点,为自己后续成为澳洲商业地产网站升级改造中成为中坚力量奠定了基础。

在此期间我还负责了一个小项目(网站广告每季度导入)的改造,之前项目是开发人员使用Ruby Rake任务本地运行的方式(需要本地运行一个多小时且经常出错)将数据导入广告维护系统中。改造后引入Ruby多线程来导入数据缩短导入速度,并提供了单页面应用(Ruby Sinatra)供市场人员使用,对输入做适配处理,同时打印成功和失败的Log给使用者。

三星数据系统(中国)有限公司 (2013年8月 ~ 2014年6月)

2013年三星在西安建立研发中心,我有幸获得机会转职Java开发。

SCM系统内部子系统

我在此子系统(Spring MVC + Mybatis)中主要参与后台部分公共函数的编写以及部分前端功能;后台功能涉及权限控制、Session处理、Excel导出、国际化处理、自定义标签,存储过程,SQL的调优等;前台功能涉及jQuery自定义Alert组件,jqGrid,MutiSelect,zTree,双日历控件等JS组件的合理使用。

中兴通讯 (2010年7月 ~ 2013年5月)

在中兴工作期间做过一年多LTE系统协议黑盒测试和一年多对外交付测试。

香港CSL LTE项目

参与香港CSL LTE项目的多个系统版本的上线以及多期合同交付测试。作为核心测试人员,负责多个功能(LTE ICIC,SON,接纳控制,S1-flex,RAN sharing等)测试用例的编写以及测试用例的测试交付。2012年下半年我升任CSL LTE项目测试团队的负责人,带领一个2-3人小组完成有一期的合同交付。

LTE系统测试

毕业入职后在中兴LTE测试部分版本测试中表现优秀,同部门同年入职14个学生,转正前考核我的考核排名第一,获得中兴LTE中心最佳新人奖的荣誉。此后连续数月版本测试中提交BUG数量排名前三。

技能列表

以下均为我能熟练使用的技能:

  • 编程语言:Java/Ruby/Node.js/Scala/C++/Go/PHP/Python

  • Web相关框架:Spring MVC/RoR/Play/MyBatis/Sinatra/Hibernate

  • 前端框架:ReactJS+Redux, Vue+Vuex, 微信小程序

  • 构建相关:Gradle/Maven/SBT/Grunt/Webpack/Rake

  • 单元测试:Junit/Rspec/Mocha+Chai/Jest

  • 数据库相关:MySQL/MongoDB/Redis/ElasticSearch/Oracle PL SQL

  • Web/应用服务器:Nginx/Apache/Tomcat/Jetty/Unicorn

  • DevOps相关:AWS/Kubernetes/GitOps/Docker/Ansible/Terraform/NewRelic/Splunk/Jaeger/Shell/Bamboo/Teamcity/Buildkite/Jenkins/阿里云/Daocloud/七牛

  • 编辑器:IntelliJ IDEA/Ruby Mine/VS Code/Atom/Sublime/vim

  • 英语:比较熟练的口语日常沟通、有商务英语写作基础

  • 其他:Git/Mac OS/Vagrant/zsh/HTML/CSS/JS/SASS/Linux基本命令行操作/LTE