Welcome to JoyCode

没有意图的模型就只是谎言

  • 领域驱动设计
  • 工程效率提升
  • 研发过程管理
  • 员工赋能成长
个人介绍

资深技术咨询师

概况介绍

从业经验丰富,有十五年以上的软件行业从业经验。对软件开发端到端全流程都有丰富的经验,曾担任过软件工程师、架构师、业务分析师、项目经理、产品经理。在敏捷软件开发过程,软件设计,系统架构,大规模遗留系统重构方面有非常丰富的实战经验,不仅仅是精通各种方法论的理论内容,还针对各种理论里落地时语焉不详的部分采用不同的方法相结合的方式进行了有益补充,减少客户在落地时走弯路。 除了丰富的技术实战经验,在咨询和培训方面也有丰富的经验,曾服务华为、中移动、招行、建行、浦发、平安、京东、联想、顺丰、中石油等多家中国企业,也曾服务过Springer、Nokia等外国跨国企业。具备丰富的课程设计经验,自研了多门课程,涉及软件开发端到端每个主要环节,并且帮助多家客户设计了适合客户诉求的定制化课程。 在企业内部创新创业方面也有一定的经验,身为思特沃克中国区数字学院——“思特沃克学院”创始人,从无到有的建立起整个内训和外训团队及内部培训和对外培训业务。并将这方面的经验用于了辅导客户内部学院打造、创新项目孵化。

数字化人才培养

  • 通讯领域
  • 金融领域
  • 互联网领域
  • 能源领域
  • 物流运输领域

校企合作

2013年至2014年与多所大学配合开展各种技术实践课及校内实验室合作,包括

  • 清华大学
  • 电子科技大学
  • 西安电子科技大学
  • 西安邮电大学

咨询案例


某医疗内容领域领军企业

该企业在医嘱集内容领域细分市场处于绝对的垄断地位。它有一个8年以上的遗留系统,基于.NET技术栈,涉及的技术有C#、Web Form、ASP.NET MVC、NHibernate、MSSQL并涉及大量存储过程、Sencha及其之前版本即Extjs,Twist等等。系统充满各种问题:

  • 系统难以维护,开发新功能非常缓慢,面临竞争对手的赶超;
  • 工程能力弱,线上代码与代码库有大量区别,自动化能力弱,迁移升级困难;
  • 系统访问速度慢,面对客户的数据诉求无法满足;
  • 前任开发团队已经被全体解雇并雇用了新团队,新团队能力不足且缺乏足够的信息传递;
  • 核心功能依赖一些已进过时无人维护且难以维护的第三方库(比如某核心js控件只有一个合并后的一个2万行的文件)

在这个项目里:

  • 作为咨询师进行敏捷过程改进,团队构建和分布式的敏捷团队协作;
  • 在保证交付速度的前提下,对系统核心模块进行重构;
  • 优化持续集成,该系统构建本地需要30分钟、单模块1天、全系统核心部分一周。通过在持续集成中引入并行构建、从而始终在保持项目测试防护网非常全面的情况下,本地构建5分钟,单模块15分钟之内,并使多个模块达到这个标准;
  • 性能优化,查询模块性能提升10倍;
  • 从事能力建设,使得团队得以维护该系统并能构建出非常全面的测试防护网;
  • 帮助升级、替换了过时第三方库,并打造了一套自动化测试框架,使其可以自动化测试。

某公司企业级CMS产品架构改造

该客户有一套ECMS(即企业级内容管理系统,实现了JSR170和JSR283)产品,属于FileNet的竞品。该系统面临的问题是:

  • 核心模块对于JSR实现规范和Java的编程规范过于执着导致性能有问题;
  • API模块设计有问题,不合理的API设计导致性能问题进一步加剧;
  • 权限模块代码设计有问题且有性能问题;

在这个系统里咨询师重点完成:

  • 系统级的性能瓶颈分析;
  • 针对核心模块提出了改进建议,并做了概念证明;
  • 重写权限模块提升了100倍性能;
  • 对API模块做了重构,增加了缓存,减少了无谓的请求,提出了类似GraphQL的思路提升了API模块的性能

某政府部门的静态化引擎改造

该客户有一套政府使用的CMS产品,给国内多家政府建造了CMS。该系统面临的问题是:

  • 当年使用的引擎是早期少数员工制作的,员工已经离职,可读性差,导致无法添加新功能;
  • 引擎部分的设计混乱,可扩展性差;
  • 文档过时,无法指导开发。

在这个系统里咨询师主要进行:

  • 理解原有模块设计,添加新功能;
  • 对原有模块的设计改造,增加可读性和可扩展性;
  • 更新设计文档及产品文档;
  • 设计培训,以提升政府维护人员使用正确率,帮助降低维护成本并形成新的收费模式。

某Open Access论文领域的领军企业

公司是事实上的行业标准制定者,隶属三大出版集团,它有一个10年以上的遗留系统,这个系统从asp时代创业伊始直到Java SE 7时代,混合存在微软的技术栈和Java技术栈,每一代的技术都牵涉其中。使用的技术有asp、IIS、JScript、VBScript、Tomcat、Struts 1、Spring 2、3(主要是用了Spring MVC、Spring IoC、Spring AOP),Hinernate、纯JDBC、Servlet、Velocity、JSP、JSTL、Apache Tile、JSF、Oracle等等。 系统充满各种问题:

  • 系统难以维护,有少量自动化测试,开发新功能已经非常缓慢;
  • 新团队是远程分布式团队,需要两边协同配合;
  • 涉及的技术栈太多,想要升级并甩掉旧有技术栈却并不想影响开发进度;
  • 多团队配合成问题,不知道怎么建立起良好的协作;
  • 系统访问速度慢。

在这个系统里咨询师的工作有:

  • 促成分布式敏捷团队协作,并通过工作推动了客户的改变;
  • 在保证交付速度的前提下,进行遗留系统重构改造与功能交付;
  • 数十个模块的持续集成环境的建设;
  • 设计了客户自动化测试的方案并推动落地;
  • 查询性能优化,查询模块提升几十倍速度。

国内某物流行业领军公司应用开发框架

基于该公司的快递员知识库系统需要打造一个易于访问的移动端的需求为试验项目,我们帮助他们构建一个Mobile Web方向的应用开发框架,要能在他们的手持设备上顺畅的使用且可以快速开发、方便抽取组件、并能高效的在组织内进行分享以响应企业变化。我主要做了

  • 技术选型
  • 架构设计和核心代码实现
  • 开发打样

联系我们
JoyCode: A Hardcore Software Consultancy | JoyCode