> For the complete documentation index, see [llms.txt](https://braydie.gitbook.io/how-to-be-a-programmer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://braydie.gitbook.io/how-to-be-a-programmer/en/1-beginner.md).

# 1. Beginner

* Personal Skills
  * [Learn to Debug](/how-to-be-a-programmer/jp/1-beginner/personal-skills/01-learn-to-debug.md)
  * [How to Debug by Splitting the Problem Space](/how-to-be-a-programmer/jp/1-beginner/personal-skills/02-how-to-debug-by-splitting-the-problem-space.md)
  * [How to Remove an Error](/how-to-be-a-programmer/jp/1-beginner/personal-skills/03-how-to-remove-an-error.md)
  * [How to Debug Using a Log](/how-to-be-a-programmer/jp/1-beginner/personal-skills/04-how-to-debug-using-a-log.md)
  * [How to Understand Performance Problems](/how-to-be-a-programmer/jp/1-beginner/personal-skills/05-how-to-understand-performance-problems.md)
  * [How to Fix Performance Problems](/how-to-be-a-programmer/jp/1-beginner/personal-skills/06-how-to-fix-performance-problems.md)
  * [How to Optimize Loops](/how-to-be-a-programmer/jp/1-beginner/personal-skills/07-how-to-optimize-loops.md)
  * [How to Deal with I/O Expense](/how-to-be-a-programmer/jp/1-beginner/personal-skills/08-how-to-deal-with-io-expense.md)
  * [How to Manage Memory](/how-to-be-a-programmer/jp/1-beginner/personal-skills/09-how-to-manage-memory.md)
  * [How to Deal with Intermittent Bugs](/how-to-be-a-programmer/jp/1-beginner/personal-skills/10-how-to-deal-with-intermittent-bugs.md)
  * [How to Learn Design Skills](/how-to-be-a-programmer/jp/1-beginner/personal-skills/11-how-to-learn-design-skills.md)
  * [How to Conduct Experiments](/how-to-be-a-programmer/jp/1-beginner/personal-skills/12-how-to-conduct-experiments.md)
* Team Skills
  * [Why Estimation is Important](/how-to-be-a-programmer/jp/1-beginner/team-skills/01-why-estimation-is-important.md)
  * [How to Estimate Programming Time](/how-to-be-a-programmer/jp/1-beginner/team-skills/02-how-to-estimate-programming-time.md)
  * [How to Find Out Information](/how-to-be-a-programmer/jp/1-beginner/team-skills/03-how-to-find-out-information.md)
  * [How to Utilize People as Information Sources](/how-to-be-a-programmer/jp/1-beginner/team-skills/04-how-to-utilize-people-as-information-sources.md)
  * [How to Document Wisely](/how-to-be-a-programmer/jp/1-beginner/team-skills/05-how-to-document-wisely.md)
  * [How to Work with Poor Code](/how-to-be-a-programmer/jp/1-beginner/team-skills/06-how-to-work-with-poor-code.md)
  * [How to Use Source Code Control](/how-to-be-a-programmer/jp/1-beginner/team-skills/07-how-to-use-source-code-control.md)
  * [How to Unit Test](/how-to-be-a-programmer/jp/1-beginner/team-skills/08-how-to-unit-test.md)
  * [Take Breaks when Stumped](/how-to-be-a-programmer/jp/1-beginner/team-skills/09-take-breaks-when-stumped.md)
  * [How to Recognize When to Go Home](/how-to-be-a-programmer/jp/1-beginner/team-skills/10-how-to-recognize-when-to-go-home.md)
  * [How to Deal with Difficult People](/how-to-be-a-programmer/jp/1-beginner/team-skills/11-how-to-deal-with-difficult-people.md)
