# 1. 入门

* 个人技能
  * [学会 Debug](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/01-learn-to-debug)
  * [如何通过分割问题 Debug](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/02-how-to-debug-by-splitting-the-problem-space)
  * [如何移除一个错误](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/03-how-to-remove-an-error)
  * [如何使用日志调试](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/04-how-to-debug-using-a-log)
  * [如何理解性能问题](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/05-how-to-understand-performance-problems)
  * [如何解决性能问题](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/06-how-to-fix-performance-problems)
  * [如何优化循环](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/07-how-to-optimize-loops)
  * [如何处理 I/O 开销](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/08-how-to-deal-with-io-expense)
  * [如何管理内存](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/09-how-to-manage-memory)
  * [如何处理偶现的 Bug](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/10-how-to-deal-with-intermittent-bugs)
  * [如何学习设计技能](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/11-how-to-learn-design-skills)
  * [如何进行实验](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/personal-skills/12-how-to-conduct-experiments)
* 团队技能
  * [为什么预估很重要](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/01-why-estimation-is-important)
  * [如何预估编程时间](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/02-how-to-estimate-programming-time)
  * [如何搜索信息](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/03-how-to-find-out-information)
  * [如何把人们作为信息源](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/04-how-to-utilize-people-as-information-sources)
  * [如何优雅地写文档](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/05-how-to-document-wisely)
  * [如何在垃圾代码上工作](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/06-how-to-work-with-poor-code)
  * [如何使用源代码控制](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/07-how-to-use-source-code-control)
  * [如何进行单元测试](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/08-how-to-unit-test)
  * [毫无头绪？休息一下](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/09-take-breaks-when-stumped)
  * [如何决定下班时间](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/10-how-to-recognize-when-to-go-home)
  * [如何与不好相处的人相处](https://braydie.gitbook.io/how-to-be-a-programmer/zh/1-beginner/team-skills/11-how-to-deal-with-difficult-people)
