I've been answering people's coding questions pretty much since I started coding. Honestly, it's how I've gained as much experience as I have. I value these questions because it means that I get a peek into the problems that people are experiencing that may or may not be similar to problems I have experienced in the past. Finding and providing the answers exposes me to more problems which gives me more experience.
As an educator, developing a community of people who trust me is important to my success. As the community grows, the number of support questions I get grows as well. Luckily, the number of qualified people to answer those questions will also grow and this is what has happened in the KCD Community on Discord (you know who you are and I'm super grateful to you).
Unfortunately, the number of direct questions to me has grown to an unsustainable level. Direct questions come from these places:
In a typical 24 hour period, I receive requests for help from ~30-100 individuals. Each request could be as simple as: "Hey, do you have a link to that blog post about testing implementation details?" or as complex as: "Here's a bunch of code, how would you structure the state here to avoid unnecessary rerenders."
Even if it's simple requests for links (or questions for which a link to my blog post will suffice as an answer, of which there are many), the time it takes to respond adds up very quickly.
People have questions about the stuff I create or have experience with and want help with it. Totally understandable. When I have a question, I'd much rather talk to an expert on the subject than read generic documentation or outdated tutorials (this is one of the reasons that I've done my tech chats).
Unfortunately, I don't have time to field all of the support requests that I get. It's not that I don't want to help. I actually really LOVE helping people use stuff that I care about or just helping in general. In fact, I think that it's my responsiveness that is in part responsible for the number of messages I receive. I've developed a reputation for myself.
As a personal character weakness, I'm often eager to answer these questions and sometimes seek them out when I should be doing other things (like spending time with my family)! I have a wife and four kids who need their daddy present and engaged with them.
Answering questions all the time also leaves me with very limited time to complete my actual commitments. There's just too much.
What I'm saying is that I'm making a change. I'm reducing my involvement in open source. I've archived my AMA. I'm going to respond less on Twitter and Discord. I'll ignore most emails. Stuff like that.
Regarding open source, for a long time I've had a policy that if there's a problem in need of a solution, I only solve it if one of the following is true:
- I have the problem and need the solution myself
- The problem is interesting and I just want to solve it for the fun of it
Unfortunately, "the fun of it" has taken the front seat at the expense of other things I should be doing with my time, so that's what I mean when I say I'm reducing my involvement in open source. I'm just going to spend less time solving other people's problems and answering questions.
I'm not burned out or quitting the community, but these steps are intended to avoid getting to that point.
No, let me clarify. I do plan to continue my office hours. I enjoy that time and it's consolidated which is nice. I just have to stop letting messages interrupt my work and family time. I need to change the perception that I'm the kind of person you can tweet at and get a response in a few seconds/minutes. I have to stop being a search engine for my content.
You have so many great resources at your fingertips (many of them created by me):
And of course, there's:
If it's a technical support request, I never help with those anyway. I don't
even have access to your data to be of any use. Send an email to
[email protected] or
[email protected] and they can help you out.
Or if it's more general,
[email protected] goes to the same place as both of
If it's a question about the material, then take it to the appropriate channel on the KCD Community on Discord. Our community is thousands strong (and growing all the time) and so many super helpful and knowledgeable folks in there. If you're all stumped, then bring it to office hours and I'll see if I can help.
Like I said in the opening, answering other people's questions is where a huge amount of my own experience and credibility came from. If that's something you want (I do recommend it despite this post sounding contrary), then here are some things you can do (which will help you, the question asker, and me as well):
- Join the KCD Community on Discord. Questions pop up in there constantly.
- "Watch" some of my OSS repositories (especially Testing Library ones).
Sorry if this sounds heartless 💔. I really do care and I really do want to help. I just can't all the time. Me doing this is a form of self care. I really do hope you find the answer to your question and share that learning with the world. Good luck.