ZERO_团队入门须知

ZERO_团队入门须知

版本:v1.0

欢迎加入我们的团队。

我们希望这里不是一个“把代码写出来就完事”的地方,而是一个真正能够让大家一起做项目、解决问题、积累经验的团队。

你不需要一进来就什么都会。

但是,你必须具备学习能力、沟通能力,以及把事情做完的责任心。

如果你只是想“混一混”“等别人教”“代码报错就直接甩给别人”,那这里可能并不适合你。


一、我们的核心成员

目前团队核心成员如下:

1. Waiting

主要负责:

  • 系统运维
  • Linux / Windows 环境维护
  • 前后端代码实现
  • 项目需求对接
  • 需求整理与任务拆分
  • Git / GitHub 团队协作
  • 项目整体技术协调

简单来说:

哪里需要搭环境、哪里需要排查服务器、哪里需要协调需求、哪里需要把几个模块串起来,通常都可以找我。


2. Xiang

主要负责:

  • 核心开发
  • Python 功能实现
  • 数据处理
  • 数据可视化
  • ECharts 等可视化功能开发

简单来说:

涉及 Python、数据处理、图表展示这一块,是主要负责方向。


3. Hi-Tao

主要负责:

  • 核心开发
  • Python 功能实现
  • 后端代码开发
  • 接口功能实现
  • 后端业务逻辑

简单来说:

主要负责“后端到底怎么跑起来、数据怎么处理、接口怎么给前端提供数据”。


二、加入团队之前,你需要知道一件事

我们不要求你:

“第一天就能独立完成一个完整项目。”

这是不现实的。

但是我们要求你具备:

遇到不会的东西,自己先查;查完还不会,再带着问题来问。

例如:

❌ 不推荐:

“哥 / 兄弟 / 同学,这个怎么写?这个需求我要怎么做?”

然后什么都没有。


✅ 推荐:

“我现在需要实现一个文件上传接口,我尝试用 Flask 的 request.files 获取文件,但是运行的时候出现 KeyError: 'file'。我检查了前端请求,发现 FormData 里面的字段名可能是 upload,是不是这里不一致?”

后者就属于有效沟通。

因为你已经:

  1. 理解了任务
  2. 自己尝试过
  3. 看过报错
  4. 定位过问题
  5. 提出了自己的猜测

我们愿意教认真学习的人,但不会替一个完全不动脑子的人思考。


三、基础能力要求

1. 沟通能力

这是团队协作最重要的能力之一。

你至少需要做到:

  • 能看懂别人描述的需求
  • 能把自己的问题说清楚
  • 能准确反馈自己的开发进度
  • 遇到问题及时沟通
  • 不懂就问,但不要张口就问
  • 不确定需求时主动确认

举个最简单的例子

假设需求是:

“用户登录以后,首页显示他的用户名。”

不要理解成:

“我要搞一个登录页面。”

你应该进一步思考:

  • 用户名从哪里来?
  • 登录接口返回什么?
  • 是否需要 Token?
  • 前端怎么保存登录状态?
  • 首页怎么获取当前用户?
  • 用户退出登录以后怎么办?

这就是所谓的:

理解需求,而不是只理解一句话。


2. 基础计算机理论

你不需要现在就成为计算机专家。

但是一些最基本的概念必须知道。

至少需要了解:

  • Windows 和 Linux 的区别
  • 文件系统基本概念
  • IP 地址
  • 端口
  • HTTP / HTTPS
  • TCP / UDP 的基本概念
  • 客户端与服务器
  • 前端与后端
  • API / 接口
  • 数据库基本概念
  • Git 基础操作

例如:什么叫端口?

如果别人跟你说:

“后端启动在 8080 端口。”

你至少应该知道:

8080 是一个端口,不是 IP 地址。

例如:

1
2
3
192.168.1.100:8080
↑ ↑
IP 端口

如果你连 IP 和端口是什么都不知道,那么后面排查网络、部署后端、配置 API 基本都会非常痛苦。


四、操作系统基础

Windows

至少需要熟悉:

  • 文件路径
  • 环境变量
  • CMD
  • PowerShell
  • 软件安装与卸载
  • Python / Java / Node.js 等环境变量配置

例如:

1
2
3
4
python --version
java -version
node -v
git --version

你应该知道这些命令是在干什么,而不是只知道复制粘贴。


五、Linux 基础

团队项目很可能涉及 Linux 服务器。

所以你至少需要能够独立完成一些基础操作。

例如:

1
2
3
4
5
6
7
8
9
ls
cd
pwd
mkdir
rm
cp
mv
cat
vim

以及:

1
2
3
4
5
chmod
ps
top
kill
systemctl

举个实际例子

服务器上突然有人告诉你:

“后端挂了。”

你不能第一反应就是:

“等管理员来吧。”

至少应该知道怎么开始排查:

1
ps aux

看看进程还在不在。

再看看服务状态:

1
systemctl status xxx

然后查看日志。

不要求你一次解决问题,但要求你具备基本的排查能力。


六、编程基础

Python

如果你加入团队参与 Python 项目,至少应该掌握:

基础语法

1
2
3
4
5
name = "Waiting"
age = 18

print(name)
print(age)

你应该知道:

  • 什么是变量
  • 什么是常量
  • 字符串
  • 数字
  • 布尔值
  • 列表
  • 元组
  • 字典
  • 条件判断
  • 循环
  • 函数

例如:

1
2
3
4
users = [
{"name": "老木", "age": 18},
{"name": "老木头", "age": 20}
]

你至少应该能够理解:

这是一个列表,列表里面有两个字典,每个字典表示一个用户。

并且能够写出类似:

1
2
for user in users:
print(user["name"])

不只是“看得懂”

我们更看重:

你能不能自己写出来。

比如让你实现:

输入一个数字,判断它是不是偶数。

你应该能够自己完成,而不是去网上复制一段代码之后完全不知道代码是什么意思。


七、其他编程语言

团队项目可能会接触:

  • Java
  • Python
  • C
  • C++
  • JavaScript
  • HTML / CSS
  • SQL

你不需要每一种都精通。

但是你应该知道:

不同语言解决的问题不一样。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Java
↓
后端 / 企业级应用

Python
↓
数据处理 / AI / 后端 / 自动化

C / C++
↓
底层 / 性能 / 系统

JavaScript
↓
Web 前端

HTML
↓
网页结构

CSS
↓
网页样式

SQL
↓
操作数据库

八、框架不是“会敲命令”就叫会

例如你说:

“我会 Django。”

那么至少应该知道:

  • Django 是干什么的
  • 项目结构是什么
  • URL 路由是什么
  • View 是什么
  • Model 是什么
  • ORM 是什么
  • 请求和响应怎么走

同样:

“我会 Vue。”

至少应该知道:

  • 组件是什么
  • Props 是什么
  • Emits 是什么
  • 状态是什么
  • API 怎么调用
  • 前端如何和后端通信

不要把“跟着教程做过一次”理解成“我会这个技术”。


九、Git 团队协作

这是团队开发的硬性要求。

至少需要掌握:

1
2
3
4
5
6
7
8
git clone
git status
git add
git commit
git pull
git push
git branch
git checkout

以及基本的分支协作概念。


Commit 不要乱写

❌ 不推荐:

1
2
3
4
更新
修改
111
ok

✅ 推荐:

1
2
3
4
feat: 新增用户登录功能
fix: 修复用户登录状态丢失问题
feat: 新增数据统计接口
refactor: 重构用户模块

至少让别人一眼知道:

你这次提交到底干了什么。


十、不要直接乱改别人的代码

这是团队协作中的基本规则。

例如:

1
2
A 正在开发登录模块
B 发现登录模块有一个问题

B 不应该:

“我直接改了提交一下。”

然后 A 第二天发现:

“我昨天写的东西怎么没了?”

正确方式应该是:

  1. 先确认问题
  2. 和负责的人沟通
  3. 确认修改方案
  4. 再进行修改

十一、遇到 Bug 应该怎么办?

这是新人最容易出现的问题。

假设程序报:

1
ModuleNotFoundError: No module named 'xxx'

不要直接:

“报错了,救命。”


正确的排查顺序

第一步:看报错

认真看:

1
ModuleNotFoundError

这句话已经告诉你:

Python 找不到某个模块。


第二步:确认环境

例如:

1
pip list

看看这个包到底有没有安装。


第三步:搜索

搜索:

1
Python ModuleNotFoundError xxx

看看别人怎么解决。


第四步:自己尝试

例如:

1
pip install xxx

然后重新运行。


第五步:还是解决不了,再问团队

但是你要告诉别人:

“我遇到什么问题。”

“我已经尝试了什么。”

“现在具体卡在哪里。”


十二、我们不怕你不会

新人不会东西非常正常。

真正让团队头疼的是:

不会 + 不学 + 不问 + 等别人帮你做。

例如:

可以接受

“Docker 我没用过,但是我已经看了项目里的 Dockerfile,正在研究怎么启动,目前卡在容器端口映射这里。”

👍 这种新人可以培养。


不能接受

“Docker 是什么?”

然后等别人从头讲两个小时。

如果一个东西是网上搜索几分钟就能知道的基础概念:

先自己查。


十三、我们更看重你的学习能力

如果你现在:

1
2
3
4
5
Python:√
Git:√
Linux:×
Docker:×
数据库:一般

没关系。

因为这些东西都可以学。

但如果你:

1
2
3
4
5
6
7
8
9
不会
↓
不查
↓
不学
↓
不问
↓
等别人

那么即使你现在会很多东西,也很难进行长期团队协作。


十四、团队开发的基本工作流程

一个正常的任务应该大致按照:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
需求
↓
理解需求
↓
确认需求
↓
拆分任务
↓
创建 / 切换分支
↓
开始开发
↓
本地测试
↓
提交 Git
↓
代码审查
↓
合并
↓
部署 / 发布

而不是:

1
2
3
4
5
6
7
8
9
收到需求
↓
直接写
↓
写完直接 push
↓
服务器炸了
↓
“我也不知道为什么”

十五、代码提交前必须做什么?

至少:

1. 自己运行一遍

不要出现:

“我没运行过,你们帮我看看。”


2. 检查自己的修改

确认:

  • 有没有明显 Bug
  • 有没有多余文件
  • 有没有测试代码
  • 有没有泄露密码 / Token / API Key
  • 有没有误修改别人代码

3. 再提交 Git

例如:

1
2
3
4
git status
git add .
git commit -m "feat: 新增用户登录功能"
git push

十六、关于“我不会”的正确态度

你可以说:

“我不会。”

但最好紧接着说:

“我准备先学一下。”

或者:

“我查了一下,但是这里还是没搞懂。”

这说明你在主动解决问题。

不会不可怕,拒绝学习才可怕。


十七、我们希望培养什么样的人?

我们不希望培养:

只会执行命令的人。

我们希望培养的是:

拿到一个需求,能够自己分析、自己拆解、自己查资料、自己实现,遇到真正解决不了的问题再寻求帮助的人。

例如给你一个需求:

“做一个用户数据统计页面。”

我们希望你能够逐渐形成这样的思维:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
用户数据从哪里来?
↓
数据库?
↓
后端接口?
↓
返回什么 JSON?
↓
前端如何请求?
↓
ECharts 如何展示?
↓
数据为空怎么办?
↓
接口报错怎么办?

这才是真正的开发能力。


十八、最后的话

加入团队不是加入一个“作业互助群”。

我们希望大家是真的能够一起:

做项目、学技术、解决问题、拿成果。

你可以不会。

你可以犯错。

你甚至可以把代码写得很烂。

但是你必须愿意改、愿意学、愿意承担自己的任务。

如果你愿意认真投入,那么团队愿意给你时间成长。

如果你只是想:

“别人写,我跟着。”

那么建议你现在就退出。

因为我们最终比拼的不是:

谁现在会得最多。

而是:

谁能够持续学习,谁能够真正把事情做完。


新成员最低能力检查表

加入团队前,建议至少做到:

  • 能正常使用 Windows
  • 知道 Linux 是什么
  • 能使用 CMD / PowerShell
  • 能进行基本 Linux 命令操作
  • 知道 IP 和端口的基本概念
  • 理解前端、后端、数据库之间的关系
  • 掌握一门编程语言基础
  • 能看懂基础 Python 代码
  • 能独立写简单 Python 程序
  • 知道 Git 是什么
  • 能完成 clone / pull / add / commit / push
  • 能看懂基本报错信息
  • 知道如何使用搜索引擎解决技术问题
  • 能清楚描述自己遇到的问题
  • 能按照要求完成自己的任务

不要求你全部精通,但至少应该具备继续学习这些内容的能力。

核心原则

先自己想,自己查,自己试。

实在解决不了,再来问。

提问不是能力差,毫无思考地提问才是。