# 开发

> 所属公司：瑞来兹软件技术有限公司
> 更新日期：2026-05-04

---

## 一、角色定义

开发工程师（Developer）是产品的建造者，负责将需求和设计转化为可运行的软件系统，涵盖前端、后端、移动端、数据等多个方向。

---

## 二、主要职责

### 2.1 编码实现
- 根据 PRD 和技术方案完成功能开发
- 编写高质量、可维护、可测试的代码
- 遵循编码规范和团队约定的设计模式
- 实现 API 接口、数据库操作、业务逻辑
- 前端页面还原、交互实现、状态管理

### 2.2 代码质量
- 编写单元测试（Jest/JUnit/pytest），保证核心逻辑覆盖率
- 代码自测，确保提测质量
- 参与 Code Review，互相审查代码质量
- 使用 SonarQube / ESLint 等工具确保代码规范
- 重构遗留代码，消除技术债务

### 2.3 技术方案
- 参与技术方案评审，评估实现可行性
- 编写模块级别的详细设计文档
- 评估需求实现工时（Story Point / 人天）
- 对复杂功能进行技术预研（Spike）

### 2.4 协作与交付
- 参与 Sprint 规划、每日站会、评审会
- 与测试工程师协作定位和修复 Bug
- 与产品经理澄清需求实现细节
- 配合运维完成服务上线、灰度发布
- 编写上线 Checklist 和技术 Release Notes

### 2.5 学习与成长
- 持续学习新技术、新框架
- 参与技术分享，沉淀团队知识
- 阅读优秀开源项目源码
- 初级工程师接受高级/架构师指导

---

## 三、常用平台与工具

### 3.1 后端开发

| 分类 | 工具 | 用途 |
|------|------|------|
| **语言与框架** | Go + Gin / Kratos | 微服务开发 |
| | Java + Spring Boot / Spring Cloud | 企业级后端 |
| | Python + FastAPI / Django | 快速开发 / AI 服务 |
| | Node.js + Nest.js / Express | BFF 层 / 轻量服务 |
| | Rust | 高性能系统 |
| **数据库** | MySQL / PostgreSQL | 关系型数据 |
| | Redis | 缓存、队列、锁 |
| | MongoDB | 文档存储 |
| | Elasticsearch | 全文搜索 |
| **消息队列** | Kafka / RocketMQ / RabbitMQ | 异步解耦 |
| **IDE** | VS Code / IntelliJ IDEA / GoLand | 开发环境 |
| **API 工具** | Postman / Apifox / Apipost | 接口调试 |
| | Swagger / OpenAPI | API 文档 |

### 3.2 前端开发

| 分类 | 工具 | 用途 |
|------|------|------|
| **框架** | React + Next.js | Web 前端 |
| | Vue 3 + Nuxt | Web 前端 |
| | TypeScript | 类型安全 |
| **UI 库** | Ant Design / Element Plus | 中后台组件 |
| | Tailwind CSS | 原子化 CSS |
| | Shadcn/ui | 可定制组件 |
| **构建工具** | Vite / Webpack / Turbopack | 构建打包 |
| **状态管理** | Zustand / Pinia / Redux | 状态管理 |
| **测试** | Vitest / Playwright / Cypress | 单元/端到端测试 |
| **IDE** | VS Code / Cursor | 开发环境 |
| **调试** | Chrome DevTools / React DevTools | 调试工具 |

### 3.3 移动端开发

| 分类 | 工具 | 用途 |
|------|------|------|
| **平台** | Swift + SwiftUI（iOS） | iOS 原生 |
| | Kotlin + Jetpack Compose（Android） | Android 原生 |
| | Flutter / React Native | 跨端开发 |
| **测试** | XCTest（iOS）/ Espresso（Android） | 单元/UI 测试 |
| **分发** | TestFlight / Firebase App Distribution | 测试分发 |
| **性能** | Instruments（iOS）/ Android Profiler | 性能分析 |

### 3.4 通用工具

| 工具 | 用途 |
|------|------|
| Git + GitHub / GitLab / Gitee | 版本控制 |
| Docker | 容器化开发环境 |
| VS Code / JetBrains 系列 | IDE |
| Tmux / iTerm2 / Windows Terminal | 终端 |
| Figma（查看模式） | 设计稿查看 |
| Raycast / Alfred | 效率工具 |

---

## 四、开发流程

```
需求理解 → 技术方案 → 编码实现 → 自测 → 代码评审 → 提测 → 修复Bug → 上线
    │          │          │        │        │        │        │        │
    ▼          ▼          ▼        ▼        ▼        ▼        ▼        ▼
  PRD阅读   设计文档   分支开发   单元测试  PR/MR    提测单   Bug修复  发布清单
```

---

## 五、能力模型

| 级别 | 能力要求 |
|------|----------|
| **初级** | 独立完成明确需求的功能开发、Bug 修复 |
| **中级** | 独立负责模块设计与实现、指导初级工程师 |
| **高级** | 主导子系统设计、跨模块优化、Code Review 把控 |
| **资深** | 领域专家、技术难题攻关、架构设计参与 |

| 通用能力 | 要求 |
|----------|------|
| 编程语言 | 精通至少一门语言及其生态 |
| 数据结构与算法 | 常见数据结构、算法复杂度分析 |
| 设计模式 | 常用 23 种模式，能合理应用 |
| 数据库 | SQL 编写、索引优化、慢查询分析 |
| Linux | 命令行操作、脚本编写、服务部署 |
| Git | 分支管理、冲突解决、Git Flow |
| 调试能力 | 日志分析、断点调试、性能 Profiling |

---

## 六、产出物清单

| 产出物 | 交付节点 |
|--------|----------|
| 技术方案/详细设计 | 编码前 |
| 功能代码（含单测） | Sprint 结束 |
| API 接口文档更新 | 接口变更时 |
| 自测报告 | 提测时 |
| Code Review 记录 | 每个 PR/MR |
| 上线 Checklist | 发布前 |
| 技术分享文档 | 不定期 |
