作者介绍

史海峰,现任饿了么技术创新部高级总监,超过15年传统IT、互联网领域研发、架构实战经验。

注:本文已经作者授权转载。

本人曾经负责某互联网电商公司架构部,离职交接时写过一篇交接文档,叫做“架构部操作手册”,如今时过境迁,里面很多信息已不再敏感,脱敏处理后分享,大家可以从中看到架构部的具体工作情况。

PS:每个公司的部门分工、流程、机制由其文化、历史、人员背景等决定,无一定之规,仅供参考。

一、部门简介

架构部属于技术部中的公共部门,面向技术部整体,在架构层面负责,包括三个小组:架构与规范、应用架构研发、性能测试,并组织技术委员会。

1.1职责

1.1.1架构与规范

负责系统架构蓝图设计,系统设计的合规,架构的持续改善与治理,研发流程的规范制定与审查,提升整体技术架构水平。研发公共技术组件,推进技术体系规范化,架构合理化,实现平台化、功能通用化,提高技术能力,使系统具备更强的灵活性,满足公司业务战略发展需要,实现业务技术一体化。

1.1.2应用架构研发(基础平台)

负责技术基础应用平台体系的搭建,包括项目管理、自动化编译部署、应用监控告警、报单处理、数据库元数据管理等通用系统的设计开发。提升技术部的自动化、工具化水平,提高工作效率,强化运维能力和信息化管理能力。

1.1.3性能测试

负责对性能要求较高的核心系统、技术组件进行线下和线上性能测试,提前发现性能问题、验证系统性能指标达成情况,确保系统更为稳定。

1.1.4技术委员会

根据公司业务发展战略需要,关注电商业务场景需要的大流量、高并发、高可靠性、实时性、平台化、服务化的底层技术。针对不同领域组织专家小组、课题小组,实现跨团队技术共享与协作。定期组织技术沙龙,分享外部技术热点,挖掘内部技术成果,收集技术资料供技术部学习。与外部协作举办线下技术沙龙,邀请外部专家,与其他公司进行技术交流,向业界技术会议推荐专家讲师(进行报备及主题审核),进行主题分享,发表技术文章,活跃团队技术气氛,强化公司技术品牌。

1.2人员组成

1.2.1架构与规范

已略,主要由架构师组成。

1.2.2应用架构研发

已略。

1.2.3性能测试

已略。

1.3产品线

1.3.1 技术框架、组件

已略。

1.3.2 基础平台

项目管理系统PDLC

自动化运维部署平台

应用监控平台

服务监控系统

报单跟踪系统

资源管理平台

代码构建仓库

代码检查工具

二.日常工作

2.1架构与规范

2.1.1架构

  • 业务架构

系统列表

收集整理系统列表:参见Twiki

因采用PDLC进行技术团队项目管理,PDLC中包含此功能,应以PDLC为准。

系统架构总图

最新版参见:架构部工作文档\01.规划\系统清单

系统分级

根据系统重要程度分级,参见文档:架构部工作文档\01.规划\系统分级

为评估双十一影响,曾对一级系统进行过梳理,参见Twiki

为便于管理,PDLC上已有可填写级别的功能,但未强制填写和管理。

系统分层

复杂系统需要有清晰的层次划分,一般自上而下调用,避免逆向依赖而导致循环依赖。

一般分为前台、中台、后台。

前台包括面向用户的页面、我的订单、营销活动等系统。

中台包括通用服务,搜索、推荐、数据、购物车、交易、客户信息、商品信息、价格、库存、促销、礼券、礼品卡、商家、积分、支付、全站配置等系统。

后台包括订单、退换货、客服、TMS、WMS、财务、结算、ERP等系统。

架构规划

对未来系统架构进行规划,明确边界划分,指导产品线设计,避免重复建设、长期缺位等问题。

参见:

架构部工作文档\01.规划\业务架构蓝图

架构部工作文档\01.规划\业务系统架构蓝图规划汇总V7.0.2.pptx

架构部工作文档\01.规划\电商云平台可行性调研报告V1.0

  • 系统架构

系统成熟度

根据不同的系统类型,定义成熟度标准,梳理各系统当前实际水平,指导系统演进。参见Twiki。

项目支持

根据需要对具体项目进行支持,包括:

  1. 前期调研,设计方案,如:O+O、拍卖、直播。

  2. 根据项目需要,参与项目需求分析、技术方案设计、上线部署准备。

  3. 主导项目架构设计、核心代码实现、技术难点公关,如:WMS、TMS

架构评审

技术设计方案评审,在PDLC上登记,每周三下午定期举行,特殊情况可临时评审。

要求尽可能早、同一个项目各系统一起进行架构评审,这样可能根据建议进行调整。

架构评审重点在于把关,提高研发设计能力,考虑全面,达到基本要求。

有争议的设计方案可以打回,无法达成一致则升级决策。

技术部自发的重点重构项目往往忽视架构设计评审,导致后续开发、测试、上线、运行出现问题。

  • 技术架构

技术调研

对互联网、电商领域新兴技术进行调研,跟踪趋势,分析优劣,根据公司实际情况提出实行建议。比如日志中心、Redis集群、容器化、微服务等。

技术组件、框架、平台

公司技术架构体系并不完整和统一,需要逐步完善,并重在解决实际痛点和获得技术部广泛认可。技术架构作为基础,逐步完善意味着整体技术水平提升,并以技术提升效率,降低成本和风险,创造价值。

路线是组件到框架到平台,由易入难,由轻落重。

重点: 稳定性、易用性、分布式场景可靠性、持续升级。

技术支持

响应各技术团队技术咨询、协助解决技术问题,重点在于架构部推广的框架、组件、平台。

  • 技术债

架构部应关注技术维度问题,立足当下、面向未来、对过去心中有数,知其然亦知其所以然。

总结解决方案、建议,参见:

架构部工作文档\09.分享\公司建议-史海峰.docx

架构部工作文档\09.分享\战略会建议.xlsx

2.1.2规范

汇总技术规范并发布,规范可来自其他部门。

  • 设计规范

技术方案设计规范

数据库设计规范

项目架构设计文档规范

  • 开发规范

CodeReview规范

代码质量检测

SQLReview规范

Maven使用规范

PHP/JAVA开发规范

单元测试规范

  • 流程规范

PDLC流程

域名申请流程

开源申请流程

2.2应用架构研发

2.2.1管理机制

各系统有主要负责人,相当于内部PO。

采用PDLC敏捷方式进行任务管理,跨职能,交叉测试。

架构部自身管理也应结合在PDLC之中。

2.2.2关注重点

待完成任务登记列表:

  • 系统稳定性、易用性、监控全面性。

  • 技术部各团队潜在需求。

  • 通过PDLC、Pangu、监控系统数据统计分析使用情况及发现问题。

  • 关注线上系统运行情况。

  • 监控系统的监控方案。

  • Nagios年底下线。

  • 跨机房部署方案。

  • Tracker告警短信接口超时问题。

  • 告警是否可以扩展到钉钉、微信等通知。

2.2.3发展方向

完善基础平台,各系统打通,发挥协同作用。

作为自研技术组件和新技术的试点应用平台。

2.3性能测试

2.3.1流程

测试任务由架构部内部发起,或其他部门通过项目经理提出,任务需登记在PDLC中。

性能测试的发起来源:

  1. 研发部门根据项目改动发起,包括页面性能测试。

  2. 架构部参与项目设计时明确。

  3. 架构部评审项目设计时提出。

2.3.2重点

测试项目文档、结果、报告、脚本做好备份。

尽可能了解业务场景,有针对性制定性能测试方案,最大程度发现问题。

对测试结果负责,了解问题原因,有问题务必通知到项目经理,避免影响上线决策。

测试环境尽可能与线上一致,模拟请求符合业务场景,线下测试主要目标发现性能瓶颈及隐患。

2.3.3发展方向

开发自动化测试工具,实现自动化、平台化、可复用,节省人力,提高效率。

对线上系统实现常态化、自动化性能测试,以性能指标、趋势衡量系统。

将性能测试工程师升级为测试开发工程师及性能测试专家。

2.4技术委员会

2.4.1内部沙龙

定期举行技术沙龙,邀请外出参会人员、内部有成果成员、新加入架构师进行分享。

2.4.2专家小组

根据实际需要,组成针对专门领域的跨部门技术专家小组,加强协作,以强化对专门技术的掌握,提高整体技术能力。

2.4.3外部交流

与其他公司进行技术交流。

邀请外部专家到公司分享交流,可从HR培训部申请经费。

2.4.4外部沙龙、大会

分享外部沙龙、大会信息,与HR培训部沟通,申请参加。

推荐技术骨干作为嘉宾,到外部技术沙龙、大会进行分享。

在业界技术社区、网站、公众号发表文章。

2.4.5开源社群运营

基于自研开源产品,通过GitHub、QQ群、微信群维系社群,响应问题,发掘贡献者,进行技术支持。

2.4.6内部社群运营

通过技术部组织跨部门技术QQ群、微信群,增加部门沟通,便于咨询交流。

三.部门长管理职责

3.1部门管理

3.1.1部门周会

每周五上午10点-11点,结合部门周报,总结工作成果及问题,明确后续工作,传达公司、技术部信息,记录会议纪要,安排内部分享。

注意:会议室预约可能会被定期清理。

3.1.2技术部周会

每周一下午2点,会前会收集其他议题。

架构部周报经整理后写入sharepoint。

会上各部门汇报上周工作情况,架构部应了解各部门情况,并参与相关问题讨论。

3.1.3部门绩效

目前技术部实行季度考核,每季度各部门与HR指定KPI,季度结束后进行考核,其中一定比例为CTO打分。

每季度会发放绩效奖金,部门绩效会影响部门总奖金数及人员考核结果分布比例。

3.1.4月总结

每月会安排各部门反馈月总结及下月计划。

月总结通过周报汇总即可获得。

一般更关注各产品线情况。

3.1.5与CTO1V1

每两周周四下午3点-4点,汇报架构部各项工作进展及问题,反馈一些想法,与CTO进行深入讨论。

听取CTO的指导和建议,保持思路同步。

3.1.6招聘

与HR招聘组对口负责人协作,通过邮件筛选简历,安排面试时间及人员,架构师也需要笔试。

架构师需要CTO终面,终面时间可另行安排。

其他职位负责终面,介绍架构部情况,明确具体职责及加班要求,询问待遇要求及当前offer情况,将结果反馈给HR。

对新员工指定导师,确定试用期目标,结束前评估达成情况,打印签字后交给HR,以便转正。

发布招聘信息,尽快招聘到位,避免长期空缺造成人员浮动。

新入职架构师需安排在技术部范围内进行分享。

招聘JD参见:架构部工作文档\08.招聘\架构部JD.txt

3.1.7培训交流

负责对技术部新员工进行系统架构培训、技术方案设计培训,包括应届生,并针对应届生安排Java基础培训。

负责对有需要的业务部门和外部公司讲解公司系统架构。

3.1.8资产管理

管理部门成员使用的办公电脑、开发测试环境服务器、线上生产环境服务器。

关注申请服务器到货情况。

TOP100奖牌1个。

架构部T恤3件(L/M/S)。

技术沙龙背景海报易拉宝1个。

3.1.9开发管理

敏捷管理:项目经理负责,迭代任务计划制定、任务分配(注意交叉测试)、站立会、迭代总结。

代码备份、SQL备份

代码规范、检查

测试要求、报告

登记待完成任务。

3.1.10日常审批

OA报销。

E-HR请假、外出、补签,关系到工资发放,需及时审批。

Tracker审批上线、SVN权限开通等。

3.1.11其他

传达公司、技术部政策、公开信息。

配合协调加班、系统巡查、双十一支援等其他事宜。

要求部门成员请假、外出设置邮件自动回复、以及工作代理人。

查看各系统运行情况,关注监控。

3.2团队管理

3.2.1绩效考核

每季度对部门成员进行绩效考核,根据HR要求分配考核结果。

考核结果会影响未来的晋升和加薪资格。

架构部因职责、能力差异较大,主要以集中答辩评分、部门长主观评价及参考工时确定。

需关注、强调成员平均工时情况,进行提醒,此为公司要求,HR会进行统计。

3.2.2晋升及加薪

每半年技术部有一次晋升答辩,高级水平以上需要公开答辩,初中级各部门自行评审。

晋升一般要连续两次考核B以上,以HR提供规则为准。

晋升会获得较大加薪,每半年也会有普调,两者资金隔离。

晋升加薪及普调加薪,需部门长根据情况分配。

3.2.3 1V1

定期(如每两周)与团队成员1V1,半小时,沟通近期工作、问题、后续工作方向,个人成长目标,对公司、团队的想法。

3.2.4内部分享

每周安排一名同事进行内部分享,分享内容尽量以技术为主,30分钟以内。

强化内部交流氛围,提高分享技能。

3.2.5资金管理

每季度每人150元左右活动经费,由部门福利专员管理。

3.2.6团队建设

可根据需要定期举行团建活动,可安排部门福利专员组织。

3.2.7申请奖项

每月HR会征集总裁认同奖及技术部部门认同奖,包括个人奖及团队奖,可根据情况提报。

申请到的认同奖,可留一部分作为团队经费,一部分聚餐,剩余大部分根据贡献分配发放到个人。

3.2.8通讯录管理

新员工入职,要收集手机号,并加入微信群、QQ群,确保加入正确的邮件组。

四.通讯录

HRBP

HR招聘

HR-E-HR管理

HR-BP-Header

五.备注

架构部Twiki主页:

架构部相关历史Twiki:

架构部Sharepoint主页:

外部技术大会资料(上传需在ITSupport申请开通权限):

\\file\技术部\技术部分享\技术部培训资料\外部培训及会议资料

架构部资料:

\\file\技术部\技术部分享\架构部

架构部人员信息: E-HR可以查询。

关注公众账号

【飞马会】

一份实践性超强的架构部操作手册,拿走不谢!相关推荐

  1. 给你一份架构部操作手册,你会用么?

    本人曾经负责某互联网电商公司架构部,离职交接时写过一篇交接文档,叫做"架构部操作手册",如今时过境迁,里面很多信息已不再敏感,脱敏处理后分享,大家可以从中看到架构部的具体工作情况. ...

  2. cad2016中选择全图字体怎么操作_拿走不用谢!一分钟永久解决CAD字体乱码显示不全,早该知道了...

    AutoCAD绘图日常,打开CAD图纸使用,总是显示文字显示不全,或者是直接的字体乱码,有的时候甚至是直接的看不见,怎么办? 相信这个问题一定是困扰了太多的小伙伴,如何解决?掌握这3种方法,永久解决, ...

  3. 这份日志格式规范超棒的,拿走不谢(Java版)

    1 简介 在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方.写好程序的日志可以帮助我们大大减轻后期维护压力.在实际的工作中,开发人员往往迫于巨大时间压力,而写日志又是一个非常繁琐的事情,往 ...

  4. 当当架构部张亮:从码农到大牛,技术与心境的双重提升

    导读:数人云[大牛的成长轨迹]Meetup邀请到来自当当架构部的张亮老师,从技术和情怀的角度来分享自己的成长轨迹,具备工匠精神的同时也要注重回报社会,做到技术与心境双重提升. 张亮 /当当架构部总监 ...

  5. 百度基础架构部马如悦:我的Hadoop…

    马如悦:大家下午好,我是来自百度基础架构部高级工程师.我先自我介绍一下,我是咱们中国第一批用Hadoop,后来转向开源,从开始到现在一直用Hadoop,在这里说一下自己的体会可能会对大家有用. 今天讲 ...

  6. 字节跳动测试开发工程师-产品研发和工程架构部职位面试被虐

    字节跳动测试开发工程师-产品研发和工程架构部职位面试被虐 面向对象语言的封装.继承和多态 浅拷贝和深拷贝 类和对象 OSI七层模型.作用和每一层对应的协议 当python读入文件的时候发生了什么? 手 ...

  7. 百度基础架构部实习生招聘启事(面向2021年毕业生)​

    1.百度基础架构部基础平台研发实习生 [招聘信息] 面向对象:2021年优秀毕业生,实习时间6个月及以上 工作地点:北京 其它:最顶尖的技术挑战.一群技术牛逼的同事.规范化的技术学习.分享.交流.培训 ...

  8. 现在国内最牛逼的 Spring CloudAlibaba全栈操作手册,不接受反驳

    Spring Cloud Alibaba 近几年在受到国内不少开发者的广泛关注,也成为面试比较吃香的一个技能点了,如果你连Spring Cloud Alibaba 微服务生态都没用过,那么你可能就要被 ...

  9. HTML的操作手册,Html的操作手册及编程

    操作手册 1 引言 1.1 编写目的 说明编写这份操作手册的目的,指出预期的读者. Jquery操作手册Jquery简介? 1. 什么是jquery? 1. 是一个javaScript函数库. [转] ...

最新文章

  1. pandas datafrae merge操作
  2. python【数据结构与算法】程序设计:划分整数(DP)
  3. python输出乘法口诀-【每日一练】python输出 9*9 乘法口诀表
  4. spring mvc返回页面显示空白_Spring 框架基础(06):Mvc架构模式简介,执行流程详解...
  5. [LeetCode-JAVA] Remove Linked List Elements
  6. Gateway与后端系统连接详细配置
  7. 初始化一个指针的方法
  8. 联想y50更换固态硬盘_旧笔记本电脑更换固态硬盘
  9. python连接mysql数据库简单例子
  10. Revit二次开发之TaskDialog
  11. SQL获取目标时间点或日期的方法
  12. ColorUI 使用文档
  13. 《微机原理与应用》题库
  14. 数值计算求解动态热传导方程
  15. 错误请联系管理员文件 index.php,GS登录报错,提示【访问权限失败,请联系管理员处理】...
  16. 趋势判研:基于Web3.0的智能生态体——保险科技生态建设...
  17. 向第三次世界大战中的勇士致敬
  18. 2019备考[嵌入式系统设计师]你准备好了吗?
  19. Zotero翻译插件Zotero PDF Translate无法正常翻译,百度、彩云、腾讯翻译api接入
  20. 【Python语言基础】——Python 教程

热门文章

  1. dp-最长公共子序列
  2. 牛客网 J-闯关的lulu
  3. 总部位于阿布扎比的LuLu Financial Holdings任命ADGM FSRA前首席执行官Richard Teng担任其董事会成员
  4. 《安士全书》原文及白话版
  5. 绿色城市智慧运营:Web 3D 垃圾分类 GIS 系统
  6. oracle两表子查询,Oracle02-查询(多表,子查询)
  7. 树莓派利用python控制57步进电机
  8. TypeScript类的使用
  9. mysql中的mul
  10. 魔兽世界服务器是怎么维护的,魔兽世界服务器维护时 玩家可做的七件事