Even if you know the rule, you will still be frustrated. The first hundred hours are full of surprises, full of confusion, full of frustration. No matter how many times I start learning new things, I have a hard time dealing with this frustration. But that's ok.
When you start a new subject, you go from being clueless to even more clue less. In the education world, we talk about the steps one goes through to learn:
- Not knowing what you don't know,
- Knowing what don't know,
- Knowing what know,
- Not knowing what you know.
The first hundred hours is usually still in the first step. Not knowing you don't know. It is the initial thrust that lifts a spacecraft into the air. It requires the most energy but it is the most important. The first 100 hours are just that. Once You are outside the earth atmosphere, not much energy is needed.
The beginning is hard, it is harsh, you don't even know what you are learning at first. I am currently experiencing this while learning Drupal. I took a contract for a Drupal website not knowing how complicated it will get.
I have many years of experience building PHP web applications, how hard can Drupal be? Drupal is built using PHP, it shouldn't be too different then WordPress. These were my worst assumptions. They created a narrow scope in which I focused on problems that weren't really the problems.
I assumed I knew what I don't know (second step) because it was PHP after all. I could start working on it right away, consulting the documentation for specific tasks as I go along. That was completely wrong.
In reality, Drupal is a completely different beast. Every solution I tried to apply was faced with a giant road blocked. I downloaded the code and started reading it. Following index.php,
.htaccess, trying to locate myself within the code. This could work if you are working on Symfony, CakePHP and other popular frameworks. But not on Drupal.
I wasted my days trying to trace the process while I could have simply followed a few tutorials to get me started. I assumed wrong. I should have started as a complete beginner despite knowing PHP very well.
The first hundred hours are frustrating, especially if you take the wrong approach to learning. When starting a new project, even if you know parts of it, approach it as a complete beginner. Being expert can certainly blind you:
Being an expert can actually hinder you from seeing things as they are, because a lot of things operate in muscle memory instead of being carefully processed. The advantage is that you don't worry about the small details, which is an inconvenience also because you might overlook small details that are slightly different than what you expect.
I'll pretend I learned my lesson. Even for project that use known frameworks, no teams use the frameworks as stated in the documentation. So it is best to approach it as a noob and be ready to learn from others. Hopefully this makes the first hundred hours less stressful.