• 深入总部调研苏宁易购研发


    (本文系转帖。原文作者不详。据传是IBM离职顾问)

           笔者有机会近距离长时间接触苏宁易购 ,所见所想与大家分享,希望对各方与苏宁易购合作的或是将要合作的人或是组织有所帮助。同一时候也愿本文对国内软件发展状况分析提供參考。同一时候须要声明本人眼下与苏宁易购、以及其合作伙伴,乃至竞争对手等无不论什么利害关系,用美国人话说就是no common interests,仅仅希望此文信息客观公允,如有偏颇。还请见谅。


           霸气的人事、考勤管理 


           与非常多外企宽松的环境不同。苏宁上下班要严格打卡的。

    工作时间是早九晚六点半。中午两小时午休。非常多人都抱怨易购的考勤BT。原因通常是这样。早上九点零一分到就算做迟到了。两次以上的迟到就会被扣工资。假设早上九点半之前还无法到达,建议上午就不要来了。由于来了也是白来,会被算做上午半天的矿工。我知道非常多外企都有10天以上乃至20天多的带薪假期,依据工龄有的老员工能连休月余,并且是全薪的。

    易购这里据了解普通员工是没有一天带薪年假的,月底拿工资发现少了的常有。顺便提下。易购在09年到12年间的员工流动率还是非常明显的。

    我没有确切的数据,只是有一点提供參考。就是易购的code base中大部分员工名是无法在如今系统中找到人的。粗略预计在50%以上,当然不排除由于与IBM合作的关系,非常多早期合作的员工由于不堪重负等等原因都申请转调其它项目。

    早期的易购据说时常12点以后甚至几天通宵。只是这纯属道听途说。无从考证。

    如今的易购强调加班文化这点是毋庸置疑的。晚上差点儿没有人六点半下班。据说易购员工要求至少八点半,事实所见也确实如此。不是有些员工不舒服或是有突发事件。否则九点左右才開始大规模的员工下班。假设恰逢Release之前呢,一般都要做到十点、十一点以后的。

    据说易购特意准备了员工公寓,以备不时之需。

    假设因家远等原因无法加班到非常晚的,公寓为你解决后顾之忧。听说有些大Release之前也常常有通宵到凌晨4、5点然后去员工公寓小睡的,当然第二天一般10点之前是要来公司的。笔者所在期间并没有亲眼见识。只是时常有人加班到11、2点确实不虚。假设没有Release呢,事实上说实话这样的场景非常少见,一般两、三个月都会有个大Release,也就是说最多“清闲”一个月就要加夜班了。话说这难得的“清闲”得来并不易,除了要没有Release,还要你做的项目刚好比較"lucky"。苏宁的经理、主任以上原则上每升一级就要晚下班一小时。

    这样的“身先士卒”的规定已经成为企业文化的一部分,即使没有主任、经理职衔的为了更好的表现和获得升职的机会往往也会和老总一起加班非常晚。以此类推到以下的开发者。

    这样一来,苏宁绝大部分人都会10点后才走的。即使没有Release。 
           那没有Release加班儿做什么呢?这就不用“担心”了。苏宁易购晚上都会有各种会议和培训、考试,保证了你一天工作的“充实”。

    尤其是到了晚上。非常多老总都有和以下人开会的习惯(有的得说是“癖好”了)。像非常多国企一样,苏宁易购的会议也脱不了俗套:会议没有主题,一开就几个小时。会上讨论非常多问题但大都没有决策,喜欢小问题或是无关的问题也把大家都拉上。等等。所以常常开好了会就10点了。外部的顾问自然也逃不了。再有,由于苏宁易购绝大部分员工都是刚毕业的那种。非常年轻有朝气。同一时候,女员工比例差点儿能达到1:1,在IT公司是非常高的。他们安排了周全的培训计划,甚至包含html, 单元測试等都被安排在内。有些培训后会有考试。比方html。考试分数会影响员工的升迁。培训、考试一般安排在晚7:30-9:30。少数易购的老员工对此不满。由于培训、考试是走大锅饭路线,不管经验长短。男女老少都不能豁免。并且据说题目弱智,无法和SCJP等考试相提并论。多数要背书的。

    这么看来,即使项目空暇期6:30pm下班也是种奢侈。 

           假设要请半天假期的话,早上必须工作到下午两点以后才干够刷卡离开。否则会被记为一天的假扣一天工资。另外,每日晚上要填写工作日志,如没有即时填写严重的可被算做矿工扣工资。合作方员工详细參考不同合作方的规定,但基本上那天合作公司收不到苏宁的人头费。工作日志的填写也有严格的时间规定。不能够在工作时间内填写,也就是仅仅有早9点前或是晚6:30后才干够。否则被算作违例。

    好像足球、篮球比赛一样,违例会被累计。几次之后就会扣工资甚至更严重的惩处等等。不管不论什么原因。两天以上的均须要经理、主任、总经理/副总的层层审核。假设是外部IBM顾问等人员。还须组织的对应人员同步审核。当然,假设IBM的顾问,不管几天假期。你都须要额外的非常多流程,除了苏宁的审核。IBM内部有HRMS, CATS,OTR以及Lotus邮件等也须要同步处理。 


           复古的研发管理 


           再说说苏宁的研发管理。

    易购内部大约分为电子商务产品中心。金融产品中心,物流产品中心,终端产品中心,ERP产品中心等部门。每一个部门都有总部下派的副总管理,比方任总,黄总等等。就电子商务产品中心又细分为前台,会员中心,搜索。性能优化等等团队。据个人了解。上述各部门都没有使用到不论什么正规的软件开发流程。不排除某下属团队在某时期使用某种方法,如agile等。

    但就研发管理成熟度评估的角度来说。苏宁易购恐怕属于CMM Level 1,初始级(initial)。无法进入CMM Level 2 Repeatable级别的原因是。苏宁易购的大部分的项目以及Release都是以一种特殊的管理形式完毕的,而不是某种可反复的流程。此外,苏宁易购有相当的工作量都是用于处理危机。比现在年3、4月常发生的Database时常当机重起。导致用户无法交易。另外,从人员的流动率角度说也具备不可预測性。

    最乐观预计。也无法达到CMM2。就笔者看来,这与苏宁用人的特点有关,苏宁忌讳从市场招聘专业化的优秀人才。反而偏好使用有亲属关系或亲热朋友关系的人选,据说CTO就属于亲属派。当然,这点在国内民营企业中屡见不鲜,所谓“任人唯亲”,与欧美“任人唯贤”形成对照。比方盛大网络也是聘用没有太好学历和造诣的陈大年(陈天桥的弟弟)担任研发部门的一把手。这样的特殊的人员构成导致了易购的中心集权。产品功能,需求分析,设计架构。公布时间等等重要决策一定要通过黄、纪、任、庄等副总拍板。虽说是“总”。可这几位都年级轻轻,CTO刚过33虚岁。

    即是此种人员构成,研发管理中的“任意”就特别明显。

    虽说也有文档,但懂行的内部人事都知道,没有文档仅仅要有老总拍板即可。反之有完备的文档老总暂时变卦项目就会流产。

    暂时变卦或是暂时添加新的需求和想法在这里也很正常,这不像Scrum所提的Velocity以及Sprint概念。在这里一切“以人为本”。上线前几天忽然要求改需求或是"人为"原因忘记部分需求,记错需求暂时恶补,这些情况笔者都亲身看到过。这时候员工宿舍就要派上用场了。并且有些经验之谈就是无论项目开发过程中是不是依照进度,甚至超前进度。基本上预备好release前两周每天工作到十二点后就对了。

    原因双方面。一是做的快的会被安排救援其他项目。二是会有意的为做的快的添加新需求。毕竟按前面提到的。哪些是"新"需求哪些"旧"都是人说的。

     

           苏宁有文档吗?有的,并且非常多。文档包含需求、项目计划、架构、设计、开发、測试等等。

    但是,有没有文档与文档是否做为开发流程管理的重要根据是两回事。详细细节可參考cmm, 或敏捷等參考。

    据说(据调查。应该是靠谱的)。易购和IBM已经就开发工具以及研发管理方案上达成一致。易购斥资购买IBM旗舰产品Jazz(RTC)(根据服务规模不同,价格应在几百万刀到千万刀),并提供二次开发服务。所谓二次开发这点与非常多国内使用sap等財物至软件雷同,都是出于一些"特别"的制度原因。

    有传言如今的非常多修改已经超越了RTC的极限而更像为易购打造新系统。就如今的开发模式。苏宁易购是狠心的回到了三十年前。 


           苏宁易购、IBM相濡以沫的技术 


           苏宁易购的技术架构大体上是这种。

    从前端開始使用IBM Webshere Commerce产品(细节会在后面展开),前台界面以及业务逻辑由ibm gdc与易购员工公同实现。应用server自然是IBM WebSphere,当然包含了一系列其产品线如MQ等。数据库server是个单机没有partition的DB2。server及操作系统是IBM AIX系列及IBM JDK.开发工具使用IBM RAD, Jazz等,通信用IBM Lotus系列。详细IBM的报价我并不清楚,只是能够非常负责任的说应该在至少几千万人民币的规模。还不包含gdc,gbs,cdl的服务费用。

    服务费用也分为一些类别,主要是人天的费用。

    人天是依照员工的日工资乘三倍算。

    其他跟据所属部门不同不同,一般不外乎差旅费等,band8等以上员工可能还有额外费用。

    全部这些费用的回报呢就主要是如今大家都可使用的suning.com。

    有人说回报率极低。我不做评说。苏宁易购是迄今为止国内购买IBM WCS并使用其服务的第一家公司。个人觉得这其间原因例如以下: 
        1)WCS架构是基于传统EJB以及严格耦合WebSpere应用server。

    换句话说,购买WCS意味着对IBM一系列软硬件的购买,WebSphere, DB2, IBM MQ, IBM JDK, IBM Unix等等。

     
        2)WCS的技术相对落后。

    WCS第一版大约在98、99年上市。到今天的版本号,期间差点儿没有架构级别的更新。深入WCS核心代码你根本看不到Spring IOC。HIbernate O/R Mapping, Annotation, In memory cache, Apache等等。甚至差点儿没有单元測试。关键还是所使用的缓存系统相比Hibernate,MemCache等性能明显落后,此外与Moden Cache system的差距还在非常多技术指标上体现,如被动、主动式,分布式支持,L1/L2。分段索引系统。反向索引等。

    详细技术细节可參考相关分布式缓存系统文章。

    缓存系统落后直接导致数据库系统的承载压力,所以今年3、4月的数据库系统崩溃等与此也有直接原因。

    当然。有些用户提到的系统响应时间过长也源于此。

    另外,WCS也没有现今分布式系统经常使用的O/R Mapping等技术,用到最多的还是早期的EJB和MQ技术,这也导致了系统的额外开销,如大量远程序列化、JNDI Lookup、部署等。另外,WCS持久层依旧採用单DB2 Instance结构,而没有Horizontal, Vertical Scaling。读写分离。

    淘宝等架构已在几年前实现数据库的集群,分表等大数据处理的高端技术。国际上先进的如eBay、Amazon等早于上世纪就使用了数据库集群技术、读写分离技术,并在本世纪早期03、04年左右实现了Database Sharding。也就是我们说的Vertical Scaling和分表技术。能够说在重要的作用处理技术上苏宁易购是落后10年以上的。

    电子商务的技术核心事实上就在数据处理,而落后的数据处理通常会导致:1)系统响应时间过慢。2)高峰时段可能造成数据处理错误,比方已经付款的因后台数据处理的问题导致没有记录或是错误记录,从而造成用户的损失。

     
        3)先进的硬件系统。

    与技术落后相相应的是其先进的硬件系统。易购的数据库和应用server使用IBM的64块CPU Cluster的超级server。

    据说报价在百万美金之上。为什么这么落后的软件系统搭配了如此先进的硬件系统?与一些易购内部人士的攀谈以及个人的分析:其一,IBM在大陆地区很缺乏电子商务人才。更缺乏对大型电子商务架构的资深架构师。其二。大型e-Commerce也是IBM全球在企业应用服务上的短板,IBM缺乏相应的高端产品支持以及相关技术的把握。

    现今国内外大型知名的电子商务或互联网公司差点儿都极少使用IBM的关键软件技术(WebSpherec除外),如Amazon, eBay, Facebook, Groupon, Taobao等。其三,相比之下。落后的软件系统以及先进的硬件系统可获得更为可观的综合报价以及兴许的长期服务费用。IBM拥有全球很聪明的产品组合和报价系统是毋庸置疑的,从苏宁易购项目就能够看出。

     

        4)关于未来的苏宁易购技术。

    眼下苏宁易购已经计划抛弃IBM WCS或部分抛弃而採用开源设计的基于Spring。Structs, JQuery, iBatis, Freemarker,Radis Cache的新架构。据了解此新架构尚在设计与搭建的0基础阶段,到用户终于可以体验恐怕要到明年。究竟是去IBM化还是被IBM绑架。众说纷纭。个人以为。这已经超出了技术架构的范畴,很多其它体现了苏宁、IBM之间若即若离的微妙关系。从历史经验来看,一旦买了IBM的某些产品的企业,基本注定是被绑架的命运,想脱离谈何easy。

    只是,苏宁易购由几年前的IBM一方独霸。已发展成群雄逐鹿。Infosys等多家企业已正式入住苏宁易购。包含易购自身员工的发展战略,今后是三国鼎立还是三分归晋就拭目以待了。

     

           苏宁易购神一样的办公环境 


           苏宁易购位处南京玄武区徐庄软件园。距仙鹤门地铁约3公里路程。非常多人以为是玄武所以订了市中心的酒店,事实上这里是非常靠近栖霞区,附近有酒店Novotel,总体还不错。易购的研发区在软件园的动漫走廊。总体形容下用句常来的快递员的话:这里非常像厂房或是暂时改装的办公楼的感觉。

    记得我第一天办公五个人一起围坐个小圆桌,每一个人刚好放下电脑的大小。行李仅仅好放地上,有人说这里更像网吧,并且是二三线城市的那种。

    差点儿没有隔栏。基本上非常多人一起在个长桌子上工作。

    印象非常深的是第一天上厕所,没想到要排队。好不easy挤上了发现是要蹲的那种。另外。不像非常多北京上海的办公室都有pantry什么的。这边仅仅有个简漏的茶水间,没有纯净水,是在那种像是锅炉一样的东西打水,水有点儿味儿,头几天还真不适应。

    由于人员的急速扩张。动漫走廊的十几栋“厂房”已经都被苏宁易购承包下来了,非常多“厂房”都刚刚装修好还在散味儿,只是激进的苏宁易购已经安排员工纷纷入住办公。有员工说有味儿也有说闻不到,只是无论是否能闻到。依照国际标准,由于装修过程中所产生的苯系化合物等,刚装修好的办公室应在这些化学物在空气中的比重减少到一定范围之内才可入住。那么。苏宁的新装修办公楼是否还残留这些化学物呢?他们对员工会有危害么?
           本人不是化学专家。只是查阅了相关资料:1)原则上苯系化合物不论什么浓度下对人体都有致癌的作用。而且有潜伏期,所以没有不论什么症状不意味着你不是其受害者。

    2)此类化合物正常须要1年才可全然消除。民间有装修放味三个月的说法,原因是此类化学物前三个月的释放速度最快,并能减少到一定范围之内。3)据说易购动漫走廊的某些新办公室装修后一个月就已经有员工入住。置于是否对员工有害,可能须要有关方面的检验数据为准。 

  • 相关阅读:
    CompletionService--实现并行获取future.get()结果
    ConcurrentHashMap+FutureTask实现高效缓存耗时较长的业务结果获取
    Exchanger--线程执行过程中交换数据
    线程池的处理流程
    CyclicBarrier--栅栏,挡住指定数量线程后一次放行
    Semaphore--信号量,控制并发线程数,如流量控制
    CountDownLatch---多线程等待
    线程安全相关概念
    SimpleDateFormat非线程安全
    记java.lang.NoSuchMethodError错误解决过程
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7224974.html
Copyright © 2020-2023  润新知