So, here’s the story about how I wrote the ReduxJS books you see in the graphic above.
The first thing you’re likely concerned about is, “What technology exactly are you writing about?”
Redux it is. Just in case you aren’t sure of what the tech is about.
Now, the bigger is question is: “Why?”
Why spend so much time writing about this?
And the even bigger question is, why give it all away?
Let me answer those in the section below.
Why I Wrote These Books
These books are first and foremost about me. Yes, me. My struggles with learning Redux, and seeking a better way to teach it.
A few years ago, I had just learned React. I was excited about it, but again, everyone else seemed to be talking about something else called Redux.
Gosh! Does the learning streak ever end?
As an Engineer committed to my personal development, I wanted to be in the know. I didn’t want to be left out. So, I began to learn Redux.
I checked the Redux documentation. It was pretty good, actually!
For some reason, it just didn’t entirely click for me. I checked a bunch of youtube videos as well. The ones I found just seemed rushed and not detailed. Poor me.
Honestly, I don’t think the video tutorials I watched were bad. There was just something missing. An easy guide that was well-thought-out and written for a sane person like me, and not for some imaginary humanoid.
I was really struggling with Redux — badly.
It appeared I wasn’t alone.
A good friend of mine, someone I was mentoring at the time, had just completed a React Developer Certification course where he paid big bucks (over $300) to earn himself a certificate.
Guess what? When I asked for his honest feedback on the program, his words were along the lines of this:
The course was pretty good, but I still don’t think Redux was well explained to a beginner like me. It wasn’t explained that well.
You see, there are many more like my friend, all struggling to understand Redux.
They perhaps use Redux, but they can’t say they truly understand how it works.
I decided to find a solution.
I was going to understand Redux deeply, and find a clearer way to teach it.
But you know what? I’m super excited about it.
I have taken into consideration my struggles and those of many others I know and written a guide I think is mostly ‘human’ and for all skill levels.
The Email that Changed my Life — and why I’m giving the books away
On the 20th of April, I received an email that would go on to change how I viewed things — completely!
Below’s the screenshot. Please read carefully.
These are the parts that really moved me:
This was from an Indian developer, and there was nothing I could do to help.
Because of the platform on which I published the course, I couldn’t even offer him free access to my course. So, I offered to send him money via Paypal so he could purchase the course. But he respectfully declined
“I’ll save up money myself,” he said.
I felt really powerless.
My ignorance got the better of me. The platform where I published my course could actually have handled this situation. In fact, they just did! My advanced CSS course is now available at $9 if you’re visiting from India, Nigeria or Tunisia. Thanks, Fahim ul Haq
I had written a detailed course to help people, and yet I was failing at helping them get the most of it.
This is just one of many stories.
Every once a while, I decide to reduce the price for my course and send out an email so people can get it cheaply.
But then I got shocked again.
Have a look for yourself:
These were the parts that worried me:
Some other developer reached out to me from Tunisia. According to him, he couldn’t purchase anything online.
He went on to explain that this wasn’t because of the lack of funds, but because of how their banking system worked.
I was shocked.
It appears things don’t work everywhere the same way it does in your country, huh?
I could purchase things online, so I assumed it was that way for everyone.
I was sad.
Don’t get me wrong. It is important to make money, and I love to make money as well. But what’s the point of making money if you can’t offer help to people in dire need?
So, I Made my Big Decision
I was going to write the ReduxJS books, but I’ll make them accessible for everyone.
For every copy of the books anyone buys, I’ll send a free copy to a developer in India, Nigeria, and Tunisia who can’t afford the cost of getting one for themselves.
I’m asking people from those regions to submit their details, so I can get to them.
I don’t know if this will work — but I have a feeling it might. I haven’t done anything like this before.
However, I do have a backup plan.
Even if we don’t sell enough copies of the books to be able to send one off for free to these other developers, I’m pretty sure I’ll find a way around that.
I have their details, so I’ll always be able to reach out to them in some way.
Some More Information About the Books
I wanted to reach a wide audience, so I broke down the book into three different parts. This makes it accessible to developers of all skill levels.
Absolute beginners can choose to start from book 1, while more experienced developers can skip the elementary stuff and start where they deem fit.
Understanding Redux — 1
This is the one for beginners, and it is so well explained. You can find it here.
And it covers the following:
💥 Covers the basics super well
💥 A deep understanding of the core Redux terminologies
💥 How to refactor an existing React application to use Redux
💥 Learn to set up a Redux project from scratch
💥 How to structure your Redux code
💥 Handling typos and duplicates
💥 Setting up a Redux store
💥 Getting to know the Redux reducer — and why it is called a “reducer”
💥 Updating the UI in response to dispatched actions
💥 Keeping a normalized state, and what that really means in plain, approachable language
The book features how to build the Skype clone below:
Book 2: Understanding Redux — 2
Book 2 takes it one notch higher. It contains a comprehensive discourse on the following:
🌈 How to manage the Redux state like a pro
🌈 Persisting Redux state
🌈 Fetching data via Ajax and dealing with async action creators
🌈 Introducing the Redux devtools, logging and time travel
🌈 Handling dynamic action types
🌈 Understanding the Redux Middleware
🌈 Creating custom middleware to centralise functionalities within your Redux application
🌈 Advanced error handling in a Redux app
🌈 Using React-redux for more performant UI rendering
🌈 Why immutability is important, and advanced ways to deal with immutability in Redux apps.
🌈 A good look at Higher order components
🌈 Understanding the common redux-related libraries. Think reselect, redux-thunk, redux-promise, redux-persist etc.
🌈 Routing via Redux-router
🌈 How to handle authentication in Redux apps
🌈 How to chain and cancel API requests
🌈 and a lot more …
You can read more about what projects are built in Understanding Redux — 2 on the official website.
Book 3: Understanding Redux — 3
This is the final piece of the puzzle.
In a bid to keep this article short, I advise you check the official website if you’re interested in learning about these books.
Thanks for reading along, and I really look forward to what the future holds. I can’t wait to get these books in the hands of developers all over India, Nigeria, and Tunisia.