The last few weeks have been very hectic. We’ve finally released a stable version of React Hooks and the first React website translations. Both of these projects meant a lot to me, and shipping them felt great.
However, I also feel more pressure now to stay on top of the scrutiny that comes when you mark something as stable. Hooks are very new, we are still figuring out “best practices” for some of the less common patterns — both internally at Facebook and in GitHub discussions. But the longer it takes to document and enforce them (e.g. with warnings), the more risk there is that someone will create a course or write an article using a broken pattern without realizing that. It’s hard not to feel at least partially responsible when that happens.
Most of this is self-imposed. No one technically expects me to care. I do though.
Maintaining a balance between providing guidance and learning from people using an API and their experiences can take some toll. Especially when you don’t know all the answers yet. Over the past weeks, I had a few nights when I couldn’t remember if I slept at all due to nonstopping internal monologue.
I’ve noticed that I have a particular set of triggers that can cause this. So I’m more careful to avoid them. In case it’s helpful to anyone else, here’s a set of rules I’m trying to follow which seem to help empirically:
- Not drinking more than two cups of coffee. Coffee is my friend. I tried giving up caffeine for a few months and I had headaches spanning for more than the tolerance period. Coffee actually does help me (maybe some blood pressure thing?) but in moderation. Drinking more than two cups leaves me too pumped.
- Not arguing with strangers after 9pm. I love debating things on Twitter, and I’m no stranger to occasional disagreements. Some of them can turn pretty draining emotionally — especially when people assume bad intent. Even if I try to maintain a friendly tone, this kind of thing hurts and then I get too agitated to fall asleep. So I’ve been trying to avoid reading any feedback in the evenings.
- Not skipping meals or eating after 8pm. This one is weird. (Don’t forget, I’m just describing what works for me!) Generally I’ve been pretty flexible with meals. But lately I’ve noticed that whenever I wake up at 5am and can’t fall asleep, my stomach feels heavy. I don’t know whether it’s the reason or the consequence of a buzzing mind, but there is a correlation. Take care of your gut.
- Not publishing articles right before going to bed. Whenever I share anything, I get a bit excited and nervous about the feedback. (Will anyone notice it? Is it too controversial? How will it rank on aggregators? Do people like reading it?) I found it useful to leave a buffer of a few hours for the initial feedback so that curiosity and nerves don’t wake me up a few hours later.
- Not lying there trying to fall asleep. A few times, I would wake up at 5am and then lie in bed until 10am in a vain attempt to relax. This doesn’t work for me. However, I’ve noticed that if I simply do whatever I feel like (write some code, read some online junk, eat a banana), eventually I get sleepy. Splitting the night in two halves feels a bit awkward but it’s still better than not sleeping at all.
The deeper problem is that I’m restless when I know there is a problem but I don’t have a fix ready yet. Such as writing documentation, correcting a bug or sharing an idea. This drive can be helpful but at some point it’s not worth it.
The techniques above help me reduce the anxiety to the point where that drive is productive to me. But I should watch out. It’s important to be surrounded by people who can tell when you’re going off the rails. I feel thankful to have them.