zoukankan      html  css  js  c++  java
  • 提高生产力:小雷之问和京东之答

     
    一、序
    2013年,在秒针工作的时候,我研究学习了SVN上大量的资料。
    包括10多个Java项目的源码,30多个项目的整个文档(需求、产品设计、技术架构、项目管理、会议记录、商业和市场)。

    在此,要特别感谢吴明辉领导的秒针系统和那里开放的学习环境。
    在秒针工作的2年里,我的综合能力和全局视野,获得了巨大的提升。

    其中,有一个问题特别让我困惑“不同项目之间,重复性的工作特别多”。
    于是,我思考再三,给出了自己的答案,并写了一封邮件“提高生产力的2个方法,软件复用和知识库”,然后发送给了整个技术部门的同事。
    其中,有几个经理发表了自己的一点看法。

    二、关于秒针的补充
    1、2013年,秒针整个技术中心,大概有100人左右。
    产品、开发(Java、C++、Python、JavaScript)、测试、运维等。
    2、不同项目之间的重复劳动,比较明显。
    3、Java这块,*普明和*少龙这2个高级工程师,有不少积累。
    一小部分是Java相关的基础代码。
    龙哥,更多主要负责前端JS,积累了很多JS库,比如表格和分页、弹出对话框、表单验证、日历等。
    4、除了禅道等单一用途和功能的协同办公系统之外,单单是部门内部,就没有特别有价值的,可以大大提高研发效率的系统。

    三、小雷之问(小雷@秒针系统)
    ------------------------------------邮件正文-----------------------------------------
    提高生产力的2个方法,软件复用和知识库
    大家好,这是我的一个分享,本次分享中提到的问题,是一个巨大的命题,偶点到即止。
    一、背景与问题
    在了解了公司的一些项目(Access、Exchange、知客等),熟悉了公司项目部和测试部等部门的工作之后,结合自己工作和学习中的一些情况,意识到一个值得改进的问题。
    工作中的不少时间都是在处理重复性的工作,而这些工作其实可以避免或者大大减少。
    比如 开发中的一些极其常见的技术或功能:
    a.邮件发送。
    b.Excel、PPT、PDF、ZIP等多种格式文件的处理。
    c.Web开发环境的搭建,比如Spring+Mybatis等框架的组合和日志等配置。
    (不再一一列举,详情见下文)
    总之,不同的项目(Exchange和知客),不同的人(KTeam和XTeam),同一个人在不同项目中的所作所为, 不同角色(开发和测试),可以避免应该避免的重复性劳动大量存在,大大降低了生产力。

    二、应对之策

    1.软件复用

    1.1技术类复用
    a.邮件发送。
    使用JavaMail、Apache Commons-Mail、Spring-Mail、Jodd Mail等库封装好。
    这样一来,不同的人、不同的项目,只需要一个类库(jar包)和一个配置文件,就轻轻松松实现了发送邮件的功能。开发省事、测试也省事、维护也省事。

    b.文档处理。
    Excel、PPT、PDF、ZIP文件的读写,尤其是Excel等报表的下载,几乎每个Web项目都有用到。

    c.文件操作。
    创建文件、移动文件、删除文件等文件和目录操作,很常见,很通用。
    可以使用Jodd等组件,或者对JDK相关类库进行进一步封装,从而减少代码重复。

    1.2流程类复用

    a.WEB表单的验证。
    b.开发环境的搭建和配置。
    c.异常处理、日志配置、监控报警。

    1.3业务和功能复用
    增加、查看、修改、删除、搜索、排序、分页、报表下载、操作日志、上传和下载、权限控制。

    2.知识库

    2.1知识管理
    Add,Update,Remove,Delete,Query

    Add:已有经验和知识入库。
    Update:更新和完善已有知识。
    Remove:遗忘了一些不常用的知识。
    Delete:彻底删除过时的知识。
    Query:查询才是最主要的目标,应用是目的。
    为了提高查询效率,需要建立“索引”。

    分类索引:符合大脑思维,符合化繁为简-分而治之的思想。
    线性索引:超出人的大脑,只能通过工具来实现,比如百度和Google。

    2.2知识分类
    技术:框架,语言,工具,类库
    业务:行业相关

    2.3知识的典型代表
    项目经验总结、解决问题的方法和思路、JS和Java组件等。

    2.4知识库建设指南

    文档化:形成文档。
    理论化:理论体系。
    实践话:经过验证、能够反复应用。
    标准化:做事有参考,提高效率。

    三、改变与行动

    1.问题很容易解决?
    软件复用和知识库这2个对策,对拥有大量人才的公司来说根本不是难事。因为,大量的问题都已经解决,剩下的只是对这些解决问题的方法进行提炼、抽象,方便下次使用。
    2.谁去解决?
    公司肯定有人比我先知先觉,比我聪明,比我有能力的人肯定有一大把,我只是很奇怪为什么没有人去行动?去改变?
    今天,我鼓起勇气,把自己的思考和对策分享下,期待交流…

    ------------------------------------邮件正文-----------------------------------------


    整个邮件探讨比较多,更多内容以及当时的实践,再单独写一篇,认真探讨。

    四、京东之答
    最近加入了京东集团,作为新人,积极学习了大量知识,包括
    集团和部门架构、文化和价值观、业务(电商、金融、云计算)、技术体系、组织运作体系等。
    深有感触,客观地认为:京东集团很先进。
    就技术研发这个方面,京东的研发体系和环境,可以很好地回答我2013年提出的问题和解决方案:软件复用和知识库。

    软件复用
    有些大部门,有专门的架构部。
    经过10多年发展,尤其是最近5年,在私有云和基础设施这方面,有如下积淀:
    内部私有(云):文件存储、消息队列、云缓存、服务框架、CDN内容分发网络、网络监控。
    公有云:云存储、云缓存、CDN等。

    知识库
    整个技术体系(CTO体系),有如下积淀:
    代码共享平台、研发管理系统、研发知识分享系统

    研发体系
    自动测试系统、自动部署系统、实时监控(红绿灯)、运维管理平台等。

    集团层面
    京东视频(京东公开课)、文库、IT服务平台、行政人事ERP等各种系统。

    当然,我不是说,集团内部所有组织和项目都是这么高效。至少,在整个“集团运作”方面,顶层设计这块,给出了很好的总体部署。

    五、提高生产力
    提高生产力,是一个巨大且有效的课题。
    之前已经写了很多关于“提高生产力”方面的文章,本篇和本篇提高的“软件复用和知识库”是其中的冰山一角。

    我正在筹划3年写的一本书,“提高生产力”也是其中一个重要话题。

    简而言之,提高生产力,是一个系列,是需要长篇大论的。

    六、致歉
    限于分享和保密之间,并没有明确的界限。
    但凡可能涉及商业机密和公司明文规定的,本人尽可能都不分享。
    要不然,相关部门的相关人士,会请我喝茶的。(你猜是龙井,还是普洱。o(︶︿︶)o )
    身在职场的你,肯定懂的。

    七、品牌广告
    关注小雷,更聪慧,人生从此不中雷。


    对提高生产力这个话题感兴趣的朋友,欢迎交流和探讨。

  • 相关阅读:
    Nacos启动异常:failed to req API:/api//nacos/v1/ns/instance after all servers([127.0.0.1:8848])
    多节点集群思路
    内网dns配置
    MySQL集群配置思路
    pycharm常用快捷键
    2020年11月新版CKA考试心得
    JavaScript的Map、Set、WeakMap和WeakSet
    AJAX传输二进制数据
    linux性能监测与优化的指令
    八千字硬核长文梳理Linux内核概念及学习路线
  • 原文地址:https://www.cnblogs.com/qitian1/p/6462277.html
Copyright © 2011-2022 走看看