项目经历

ThoughtWorks (2014年7月 ~ 至今)

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年6月 ~ 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数量排名前三。