💣Not Learning New Things at Work is Destroying Your Career
Tags: programming, productivity, career
Published: 2024-06-04 20:44:56

## Goals with this article 

In this article, I want to focus on these points:

- Explain the rule of hooks and how this motivated me to write this article.
- Sometimes, we don't have time to learn at work, this is a problem
- Identifying and noting new concepts for future study is a key skill.
- Share my approach of compiling new themes on Saturday mornings and studying the most relevant ones.
- Talk about the importance of continuous learning to avoid becoming complacent with routine workflows.

### The motivation behind this article

I was working on a project at my job this week and came across a common React error that some of you have probably seen before.

Can you guess the error by looking at the example code below?

![React code with an useEffect after an early return](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lwrgzypispgwpxsynoob.png)

I've lost count of how many times I've caused this error and how many times I've managed to resolve it.

![React Hook "useEffect" is called conditionally. React Hooks must be called in the exact same order in every component render. Did you accidentally call a React Hook after an early return?](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zby9qchw8jml7rxroe1z.png)

The error happens because, in React, hooks must be called in the same order every time a component renders to maintain consistent state management. 

This happens because React uses a linked list to keep track of the hooks in a component. When hooks are called in the same order each time a component renders, React can correctly associate the hook calls with the state and effects they manage. If the order changes, React can’t reliably match hook calls with their previous state, leading to bugs.

So calling hooks at the top level of your React function ensures ordering is maintained.

## But what does this have to do with the title of the article?

As I mentioned earlier, this is not the first time I've encountered this error. Since the first time I resolved it, the situation has become almost automatic: I encounter this error, I fix it, and I move on until the next time.

The problem is that, even though I know how to fix it, I never truly understood why it happened. I never took the time to study and thoroughly read the official documentation [Rules of Hooks](https://react.dev/warnings/invalid-hook-call-warning) to understand it.

And this is the main issue:

> In the workplace, our main goal is to complete tasks and deliver results.

This isn’t exclusive to the case of hooks and it doesn’t happen rarely. Almost every day, we find opportunities to do something better or learn something new, but often, due to the rush of routine, we can’t stop and study. If the task is done, at that moment, that’s what matters.

## The AI era

This situation has been increasing with the rise of AI in recent years. Nowadays, it’s much easier to find an error and, in a moment of haste, ask ChatGPT to solve it. We no longer need to spend so much time searching forums or documentation to try to understand and resolve issues.

I'm not naive enough to think that every programmer knows 100% of what they’re doing or that they deliver the best possible version; many deliver code that could be improved or done in better ways. Using AI to fill these gaps is a very important skill today, but you can’t allow yourself to fall behind.

## You Fall Behind

This is the main way to differentiate a professional who will succeed in the future from one who will not. The successful professional can learn amidst the daily workflow, even if it's just a little, and most of the time can find time to understand what they are doing.

## What You Can Start Doing Today to Improve This

One tip I have is to keep a document with frequent notes to study later.

It’s important not to get lost and let this document get too big. Curate it whenever you can so that your list doesn’t get too long and you end up never studying anything.

I like to use Obsidian (you can use any To-do app, even a calendar) because I can add notes by day; for example, I add to the following Saturday's daily note all the content I see during the week:

![A todo list to do at weekends](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aaee0ym7ef6xcbeaprbo.png)

With this, I'm able to sit at my desk on Saturday and see each of the concepts I took note of. If it's just curiosity or a different way of doing something I already knew, I'll do it right there and give it a little study. If it's something more complex that will take a lot of time, I create a study plan or spend the whole morning delving deeper into the subject.

Remember that the main goal here is to keep track of your discoveries when you don't have time to go deep and understand. 

![The image depicts Michael Scott, a character from the TV show "The Office." He is in an office setting, wearing a suit and tie. Michael is making a playful gesture with both hands, holding up his pinky and index fingers while the rest of his fingers are curled down, mimicking a rock and roll sign. His facial expression is slightly serious yet amused, and the office blinds and window are visible in the background.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c9s9kxz6rc46r00q9v8k.png)

## More Things

I believe I have many cool things to share about how I organize my study and make the most of it. One of the main tools I use is Obsidian.

Let me know in the comments if you want an article about dev study organization in Obsidian.

Also, check my post about how you can learn new things: https://dev.to/lucaschitolina/my-approach-to-learn-tailwind-css-and-new-things-1n46