My friend Shawn Swyx Wang has been working on a book called "Cracking the Coding Career". He pinged me looking for thoughts on why I write publicly. I started to respond to him directly, and realized that this would probably work better as its own blog post anyway :)
I write for several reasons, and in a bunch of different mediums: answering questions and writing comments on Reactiflux/Reddit/SO/Twitter/HN (and occasionally getting drawn into debates when I should know better), posts here on my own blog, and writing docs and tutorials for the Redux libraries.
Ultimately, I really like sharing stuff that I've learned. It's some combination of "being informative", "passing it on", "helping", "teaching", "not repeating myself", and "showing off / bragging" :)
Up until 2015, I felt like I didn't have anything useful to say or share, so I just lurked in discussions online. Now, I've found myself in a position of authority, where I know that I have a lot of valuable information to share, that I am a key expert on a number of topics, and that just about any topic I write about will likely be useful to someone.
Passing It On
I've learned so much from the huge number of blog posts and articles I've read over the years, both when I was trying to learn a particular technology or concept, and when I was trying to research solutions for specific problems. By putting my own information online, I help make it possible for someone else to maybe help learn something or solve their problem.
I've found that when someone asks a question, and I know the answer, helping them is basically an automatic reflex. (Sometimes this is a problem, and I've had to forcibly tell myself that just because a question exists doesn't mean I have to spend time answering it.) Really, this often kicks in even if I don't immediately know the answer yet. Sometimes it's almost like solving a puzzle for me as I'm asking them for more info and trying to figure out what's going on. If I'm explaining something to someone, I love seeing that little imaginary virtual lightbulb go on over their head when they finally get the concept I'm describing.
I'm pretty good at explaining things. It comes naturally to me, I've had lots of practice, and I even spent a few years as an ESL teacher. Turns out there's a lot of topics I want to teach to people, and I feel that my knowledge and ability to explain things in certain ways will be useful in helping people learn and understand those topics.
Not Repeating Myself
I frequently find myself repeating the same answers over and over, whether it be "No, Redux is not dead, because...", explaining the differences between context and Redux, etc. By writing that down in one place, I can now just link to the answer instead of repeating things. (Generally if I find myself continually copy-pasting the same answer from previous replies, it's time to blog it.)
I've always had an incessant need to go tell someone after I've done something neat, whether it be a coworker, a friend, or my long-suffering parents (who have had to put up with my technobabble for years). Part of it's just enthusiasm, but yeah, I guess part of it is bragging that I just got that to work :)
By many measures, I can't point to specific concrete benefits I've gotten from all my writing. After all, it hasn't gotten me a new job or a pay raise or anything. That said, my writing (which is heavily intertwined with my position as maintainer) has led to:
- Having 12K followers on Twitter. An utterly useless metric, to be sure, but at the same time it's still amazing that there's a whole bunch of people who actually genuinely want to hear me blabber about stuff.
- Opportunities to speak at conferences, including trips to cities I never would have gone to by myself
- Recognition by the community as an expert on various topics
- Chances to interact with some amazingly smart people who I probably wouldn't have talked to otherwise
- And the knowledge that I've been able to help a lot of people learn things and build stuff. I've received many very appreciative comments for the answers and explanations I've written over the years, and it certainly means a lot every time I see something like that. (I actually keep a notes file where I paste a lot of the compliments and thanks that I've received :) )
So, there you go. I write because I have stuff to say, because I know that I'm helping people, and because I really can't not write.
This is a post in the Blogged Answers series. Other posts in this series:
- Sep 14, 2016 - How I Got Here: My Journey Into the World of Redux and Open Source
- Aug 02, 2017 - Blogged Answers: Webpack HMR vs React-Hot-Loader
- Dec 18, 2017 - Blogged Answers: Resources for Learning React
- Dec 18, 2017 - Blogged Answers: Resources for Learning Redux
- Mar 29, 2018 - Blogged Answers: Redux - Not Dead Yet!
- Jan 19, 2019 - Blogged Answers: Debugging Tips
- Jul 10, 2019 - Blogged Answers: Thoughts on React Hooks, Redux, and Separation of Concerns
- Nov 26, 2019 - Blogged Answers: Learning and Using TypeScript as an App Dev and a Library Maintainer
- Jan 01, 2020 - Blogged Answers: A Comparison of Redux Batching Techniques
- Jan 01, 2020 - Blogged Answers: Reasons to Use Thunks
- Jan 01, 2020 - Blogged Answers: Years in Review, 2018-2019
- Jan 19, 2020 - Blogged Answers: React, Redux, and Context Behavior
- Feb 22, 2020 - Blogged Answers: Coder vs Tech Lead - Balancing Roles
- Feb 22, 2020 - Blogged Answers: Why Redux Toolkit Uses Thunks for Async Logic
- May 12, 2020 - Blogged Answers: Why I Write
- May 17, 2020 - Blogged Answers: A (Mostly) Complete Guide to React Rendering Behavior
- Jun 21, 2020 - Blogged Answers: React Components, Reusability, and Abstraction