# 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://braydie.gitbook.io/how-to-be-a-programmer/en/1-beginner.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
