新司入职满月总结

导语

今日刚好入职国内某互联网金融公司W(后台开发岗)满一个月,趁此机会总结和分享下入职后的一些感慨。顺便与老东家互联网Y公司从工程技术方面进行对比,从个人角度上看互金与互联网公司之间的细微差异。

职能角色

每一次版本迭代,都需要不同的角色参与协作完成。从职能角色中可以看出W公司还有业务运维岗,与开发、测试三者构成目前流行的devOps工作模式,三个角色对于业务应用服务都非常清楚。一般跨系统的复杂调用的数据表都是由SA先统一设计,再有开发同学代码化。开发、测试、运维对于需求文档、各系统功能、工程日志、存储表设计都有一定了解。

角色 发布权限 架构设计 故障处理人
Y 产品、开发、pm、测试 开发统筹所有环境 团队/项目开发负责人 一线运维情况下运维通知开发,普通情况下开发收到告警直接处理
W 业务、SA、开发、测试、运维 开发只限测试环境,运维负责生产环境 SA统一管理,AB大会评审子系统功能 一般由运维负责直接处理生产事故,确实解决不了再通知开发协助解决

生产工程

W公司的底层和中间件开发基本采用java语言,大部分情况下只提供java的sdk,全司统一采用。每个新系统的搭建要经过AB大会审批通过,减少关门造轮子,由公司中间件平台小组专门开发。新功能开发,W公司的新接口开发需要经过严格的审批流程,需要负责人提前罗列好全局接口,从安全性看可以统一监控对外接口,但从互联网的敏捷迭代上看,经常会拖后腿。对于产品测试,W公司会更加注重代码质量,分别从代码覆盖率、报文测试、脚本测试等对应用全方面体检。产品上线,在开发的协助下,由运维同学在全司统一发布的实验室执行发布(每次进出实验室需要申请通信证)

后端语言 工程搭建 新增接口 代码协同 开发环境 测试 流程管理 平台集成管理
Y java/c++ demo工程 后端同学负责设计,书写接口文档并手动上传到接口平台 svn/git,功能微服务化,大部分只有master和test分支 开发办公一体化,本地机器 黑盒测试,默认一套测试环境,需要依托其他平台划分 各阶段各自维护,产品文档由svn提供,开发文档由接口文档平台管理、测试用例google或者腾讯文档,测试bug记录bug系统 在dbms申请消息中间件、db、缓存,使用的服务治理中心,配置中心等在工程内部集成,开发撰写文档
W java主流 应用脚手架 模块负责人设计并提交新接口申请审批,利用构建工具自动生成接口文档并上传到文档平台 git,应用git flow规范 远程桌面,开发隔离公网 白盒+黑盒,全司统一规定环境种类,在联调测试阶段约定哪一套环境,各个环境相互隔离。测试环境提供日志自动上传功能,可通过设备号让开发定位上下文与问题 统一dpms管理,从产品文档到开发计划、开发文档、开发人力、测试用例、发布计划、时间节点 所有信息统一在dbms上,可以跟踪到每个系统下所有的资源

技术要点

持续集成ci RPC调用与服务治理 链路追踪 技术分享平台 服务器登录脚本 挡板服务 事务
Y 部分项目支持ci和cd 多个服务治理平台,当其他服务不支持使用的服务治理平台时需要手工维护。rpc种类繁多,包括thrift、http、公司自定义二进制协议、hession等 使用traceId,由平台统一生产,落地到各个阶段的日志当中 专门讲师ppt,高大上的技术分享 记录每个项目所在的服务器地址go 开发在单元测试中执行mock 互联网产品,很少事务操作,nosql成主要存储方案
W 支持ci 统一服务治理平台,所有rpc统一协议,rpc调用使用全司内部消息总线,原理使用消息中间件(基于rocketMQ定制,支持rr、异步、多播、广播) 分为业务流水号和系统流水号,测试报告必须携带流水号 km文章平台,每个人都会书写,可以是开源项目,也可以是工作小总结,形成内部技术搜索引擎 登录交互式脚本,根据项目名和环境类型,以交互形式选择登录 部门内部统一的挡板服务,可在测试环境中使用,挡板中台如同postman一般可以记录每个接口的挡板详情和重复使用 内部自研分布式mysql,强事务操作,多补偿机制

总结

两个公司都有各自的优缺点,Y公司典型的互联网化,小步快跑,敏捷迭代。W公司由于金融背景,流程严格且周期长,角色分工细化监督,安全性可用性高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章