技能要求:
经验要求:
5-10年经验
工作描述:
项目编号:【42061】
高级 Go 后端工程师 (DDD 架构重构方向)
(注:强调“重构”和“DDD”,筛选掉只习惯写 CRUD 的候选人)
📝 岗位职责 (Responsibilities)
核心领域重构:主导即时通讯 (IM)、身份认证、权限控制等核心模块的重构工作。基于 整洁架构 (Clean Architecture) 思想,重新设计代码分层,确保业务逻辑(Domain)与基础设施(Infrastructure)彻底解耦。
领域建模与边界梳理:协同架构师进行事件风暴(Event Storming),明确限界上下文 (Bounded Context),定义聚合根、实体、值对象及领域服务,解决现有代码中模块边界模糊、逻辑分散的问题。
高级模式落地:在读写分离场景下,设计并落地 CQRS (命令查询职责分离) 模式;针对关键状态变更链路,探索并实施 Event Sourcing (事件溯源),提升系统的可追溯性与扩展性。
渐进式重构实施:制定并执行“绞杀者模式 (Strangler Fig)”重构计划,通过适配器层兼容旧接口,逐步将流量切换至新架构,确保几十万行代码在重构过程中业务零中断、数据零丢失。
规范制定与代码攻坚:建立基于 DDD 的代码开发规范、目录结构标准及单元测试策略。作为核心主力,单枪匹马完成关键模块的代码编写与迁移,解决高并发下的数据一致性难题。
🛠 硬性技术要求 (Must-Haves)
Go 语言深度掌握:5 年以上 Go 开发经验,深刻理解 Go 内存模型、GMP 调度、并发原语 (Channel/Mutex) 及性能调优 (pprof/trace)。
DDD 实战经验 (核心):必须有大型微服务系统 DDD 重构的成功案例。熟悉领域驱动设计的核心概念(聚合、实体、值对象、仓储、工厂、领域事件),并能清晰阐述如何在 Go 中落地整洁架构或六边形架构。
复杂业务架构能力:
安全与权限:深入理解 OAuth2/OIDC、RBAC/ABAC 权限模型,有构建高安全等级认证中心的经验。
CQRS 与事件驱动:熟悉 Kafka 等消息队列在事件驱动架构中的应用,有 CQRS 读写分离设计及 Event Sourcing 落地经验(如使用 EventStore 或基于 MySQL/Kafka 自建)。
重构与测试能力:精通重构模式(如《重构:改善既有代码的设计》),擅长编写高覆盖率的单元测试、集成测试及契约测试,敢于对遗留代码动刀并有完善的回滚策略。
中间件深度使用:精通 MySQL (分库分表/事务隔离)、Redis (缓存策略/分布式锁)、Elasticsearch (复杂检索) 在领域模型中的持久化适配。
🌟 加分项 (Nice-to-Haves)
有从单体或混乱微服务成功重构为 DDD 架构的完整复盘文档或技术分享。
熟悉 Go 领域的 DDD 框架或脚手架(如 kratos 的领域设计实践,或自研的 Clean Arch 模板)。
对分布式事务(Saga, TCC)有深入理解和实战经验。
具备极强的文档编写能力,能输出高质量的领域模型图谱和架构决策记录 (ADR)。