# 求职反思

*经历了几次成功和不太成功的科研与实习经历之后，我反思自己想要怎样的工作：有智力挑战、同事协作支持、促进个人成长，并且能产生真实影响。*

- 作者: Feitong Yang (https://www.feitong.phd/about)
- 发布日期: 2017-10-16
- 原文链接: https://www.feitong.phd/zh/essays/job-search-reflection-zh
- 主题: career

---
经历了几次成功和不太成功的科研与实习经历之后，我想我希望一份工作大致具备以下几个特点：

1. 智力上具有挑战性的问题
2. 互相协作、彼此支持的同事
3. 健康而充实的个人成长与职业发展
4. 对用户、产品、系统和公司产生真实影响

## 问题解决

问题本身应该是有趣的、令人兴奋的、具有挑战性的，这样我才会对解决它们感到兴奋，并且能因为提供了解法而获得成就感。我并不排斥开放式研究，但我很看重一个健康的反馈闭环，能够帮助我不断缩小范围、精炼问题。

<ContrastPair>
  <ContrastPositive>
    我曾经做过一个开放式的问题：打造一个用于指挥游戏过程的“AI Camera”。这个项目包含了大量实验、启发式方法和创造力。我们每天试玩游戏时都会获得反馈，周围的人也总是很愿意提供帮助。
  </ContrastPositive>
  <ContrastNegative>
    我也遇到过一些琐碎的问题，或者一些定义极其模糊、让我根本不知道问题到底是什么的问题。经理没有提供建设性的反馈，团队其他成员也没有。
  </ContrastNegative>
</ContrastPair>

## 协作的工作氛围

我既能协作工作，也能独立工作。但关键在于，团队需要是支持性的、协作性的，成员之间彼此尊重、彼此信任，并且能够自然地把合作与独立工作结合起来。在这样的团队里，我既可以向别人求助，也可以帮助别人。我希望自己在提问和回答问题时是自在的，不会因为担心显得愚蠢、或者被人看低而退缩。这是一种彼此之间的共同承诺，存在于我和同事之间。

反馈也很重要。

竞争可以接受，但我不想加入一个大多数人都充满竞争感、并且削弱“大家一起合作能把事情做得更大”这一理念的团队。真正的竞争对手是别的公司的人，而不是和你一起工作、一起想把事情做得更好的人。如果队友总是把彼此当成敌人，我会对这样的工作环境感到不舒服。

此外，我也希望加入一个大家真正在乎工作质量、并且对自己在做的事情有热情的团队。

<ContrastPair>
  <ContrastPositive>
    我曾在一个团队里工作，那里我可以放心提问，我的导师总是很耐心地教我。有时他甚至会讲得比我问的更多，还会指给我更多参考资料。大家鼓励我提问，也鼓励我在来问之前先主动搜索答案、自己多学一点。整个互动过程非常友好、支持性很强，我也很放心地去讨论新的想法、征求建议，并推动事情往前走。
  </ContrastPositive>
  <ContrastNegative>
    我也在一个团队里工作过，在那里我并不觉得团队是协作的、支持性的。虽然表面上鼓励提问，但我总觉得反馈和互动过程让人非常不舒服。要么别人只是叫我“再多想想”，却不给任何指导；要么别人直接说我的探索和尝试没有用，甚至是“shit”。这样的互动过程让我很挫败。它也让我害怕提问，因为我会觉得自己很蠢，总是在问错误的问题、做无用功。那是一段非常不舒服的经历。
  </ContrastNegative>
</ContrastPair>

## 个人成长与职业发展

我希望一份工作能够：

1. 提升我的专业能力
2. 让我贡献自己的智慧和技能
3. 教会我新的东西
4. 让我看到自己所在领域更大的图景（这可以是一个渐进过程）
5. 帮助我实现自己的潜力

<ContrastPair>
  <ContrastPositive>
    我在 Sparkypants 的工作让我学到了很多游戏编程和 C++。那是我第一次获得工业界软件开发经验。我意识到自己真的很喜欢做软件开发，而且其实也很擅长。
  </ContrastPositive>
  <ContrastNegative>
    我也在一个团队里工作过，在那里我一直觉得自己没有学到新东西，也根本无法做出贡献。我不断努力、不断提问，但得到的反馈却是：我的努力毫无用处。我感觉自己在这个团队里无法发挥潜力，也无法贡献自己的价值。我不希望有人只是把一个项目丢给我，让我自己去摸索，却又不愿意和我讨论。
  </ContrastNegative>
</ContrastPair>

## 真实影响

我希望我的工作能够对用户、产品、系统和公司产生真实影响。这也是我想进入工业界、离开学术界的一个主要原因。我想看见自己工作的结果和影响。如果结果是好的，我想把它做得更好；如果结果还不够好，我想继续改进它。这样的影响能够强化我对自己工作的主人翁意识。我愿意为工作质量负责，也愿意让它变得更有影响力、更有帮助、更健壮、更可扩展。

<ContrastPair>
  <ContrastPositive>
    我曾经为一款游戏做过一个 AI 系统，这个系统给游戏带来了非常明显的改变：我们在日常试玩活动中不再需要人工来指挥游戏流程。很多人都在使用这个系统，也会给我反馈它的优点和缺点。我觉得这样的工作确实会对用户产生真实影响，这让我很开心。
  </ContrastPositive>
  <ContrastNegative>
    我做过不少研究，最后既没有发表出来，也没有帮助到别人。这会让我觉得自己在浪费时间，没有做出任何真实的东西。
  </ContrastNegative>
</ContrastPair>

## 我的能力画像

1. 我一直都愿意学习，而且学习速度很快。
2. 对人类视觉、认知和认知心理学有扎实理解
3. 算法和数据结构基础很好，这得益于我过去的竞赛编程经历
   - 如果认真准备 Leetcode，还可以更强
4. 主要擅长 Python 和 C/C++
   - 目前 Python 最强（还在持续提升多个高级方向）
   - C/C++ 有实际工作经验，但还可以更强
5. 机器学习和统计背景很强
   - 应用数学学位
   - 多个亲手做过的项目和日常研究经历
   - 对不同机器学习算法有比较好的感觉
   - **缺点**：真实世界经验还不够多
6. 弱项：
   - 目前还不能直接开始做 Web 开发，因为缺少不同框架的经验，所以暂时做不了全栈 Web 开发。**但我可以学。**
   - 还需要加强 SQL 和 / 或 map-reduce

## 我的偏好排序

1. **与 VR / AR 相关的视觉、感知、认知研究科学家**
   - 这和我的博士研究非常相关，也有很多有趣的问题值得提出和解答
   - 这类岗位可以和工程师合作，并为最终产品做贡献，因此我能看到自己研究的结果
   - 我也可以加入工程团队，因为我同样有编程背景，这样可以让工作更多样化，并获得新的专业能力

2. **机器学习相关的研究科学家、工程师 / 算法开发**
   - 我在研究和课程中都积累了机器学习经验，现在我希望把这些经验应用到真实世界的问题中
   - 我可以为真实产品做贡献，看到机器学习真正落地
   - 我可以继续享受做研究、理解数据的过程
   - 自动化！

3. **有意思公司的通用软件工程师**
   - 创造新东西！

4. **有意思公司的数据科学家**
   - 如果有有趣的数据问题

5. **通用软件开发者**
   - 找到一份工作！

6. **通用数据科学家**
   - 找到一份工作！

