During the summer break, I had a breakout room to myself in the Central King Building. Typically used for group study, it was equipped with a TV, an HDMI hub, and a few chairs. With the building mostly empty, it became the perfect space for focusing on self-growth and reflection.
“…Yes, there are two paths you can go by, but in the long run, …” I sang along to Led Zeppelin’s Stairway to Heaven as I walked into our house. It was 10 PM in East Newark, NJ. My roommates asked where I had been, and I told them the same thing I had said when I left at 10 AM—I was at the university, taking my first Udemy course.
“I finished the course and uploaded my work to GitHub,” I said. Kaushal was surprised, “You finished an entire course in a day? And you still walked home?”
“Yes,” I replied. It had been a good day for me. Little did I know, I would continue this routine for more than a year.
Looking back, my path to self-learning wasn’t straightforward. I had done my bachelor’s in computer science in India, but I barely graduated in four years. I was never a standout student, and I lacked the confidence to feel truly capable in the field. It wasn’t until I read Steve Jobs’ biography that I became inspired to change. His drive to build and innovate motivated me to start creating something of my own. I learned iOS development, starting with Objective-C, and later transitioned to Swift when Apple introduced it. I even built a camera app with custom filters, a project I did entirely on my own without following any tutorials.
But despite that, I still didn’t realize how crucial self-learning would become until I was halfway through my master’s program in the U.S. I had a moment of clarity when I realized that the coursework alone wouldn’t prepare me for the job market. That’s when I truly committed to improving my skills. (You can read more about that realization in my previous blog post.)
At that point, I knew I had to take matters into my own hands if I wanted to stand out and be ready for the job market. Here’s what I learned about the process, and how you can do it too:
Start Small, Build Momentum
The first day was easy—I had energy and excitement because I was learning something new, something outside my comfort zone: web development with React. Initially, I wasn’t particularly interested in web technologies, but I knew that being able to build and see the results immediately was crucial for me. That’s how I stayed motivated.
But here’s the thing: even though I was excited, I didn’t hit the ground running right away. It took me a while to gain momentum and really understand what was going on. React was an unfamiliar technology to me, and I was still grasping the basics of JavaScript. Stephen, however, had a teaching style that was perfect for someone like me—he explained every concept as if I were a complete beginner. He broke down complex topics into simple, digestible parts, going deep into how React works under the hood.
For the first four hours, I was slow, inching my way through the basics—understanding JavaScript syntax, getting familiar with React’s component system, and wrapping my head around why the phrase "Hello World" was rendering on the screen in the first place. It felt like I was climbing a steep hill, but each new concept started clicking into place, one after another.
Then, something shifted. Once I had the basics down, the engine started to roar. I was no longer trudging through the material—I was flying. I could visualize how React managed state, the benefits of unidirectional data flow, and why Redux was necessary to handle more complex state management. Suddenly, it all made sense. By the time I finished the course, I felt like I had a solid grasp on React development—or at least, that’s what I thought at the time. I glanced at the clock, and to my surprise, it was already 8 PM. I had been working for nearly 10 hours straight.
Embrace Mistakes Early and Often
The next day, I didn’t want to start a new course. Instead, I wanted to build something on my own—something outside the course material. I had two ideas: one was to build a Google Sheets scraper, and the other was to create a WYSIWYG (What You See Is What You Get) editor. I decided to start with the WYSIWYG editor, and that’s when I encountered some new concepts and features in React that I hadn’t dealt with before.
There were plenty of mistakes, especially when trying to understand React’s class lifecycle methods. I spent hours stuck debugging, often circling back to the course material for help. Before I knew it, I was essentially doing the course again, but at a much slower pace. This time, though, I wasn’t just following along—I was actively translating the lessons into my own project. I applied what I had learned from building the YouTube app and adapted it to solve the WYSIWYG problem. The core challenge turned out to be simpler than I initially thought, using React’s __dangerouslySetInnerHTML
to display the changes.
The following day was more of the same. I kept working on new features for the application, adding things like authentication and saving users' work. That’s when I realized I needed to learn backend development. I’d heard of technologies like Node.js and Express.js, but this was the first time I dove into them. I struggled with serving my React application from an Express server, and configuring Webpack was another headache since I had to eject the app from Create React App (CRA). Debugging and fixing those issues was frustrating, and I found myself second-guessing my abilities.
In hindsight, it’s hard to believe that within just three days, I was already attempting to build a full backend service for authentication, document storage, and restoring user data. At the time, I didn’t recognize this as a huge accomplishment—I was too busy being hard on myself for not figuring everything out immediately. It wasn’t until I was talking to a friend over a beer that I mentioned my progress. He was surprised that I’d been able to do all this in such a short time, which helped me realize just how far I’d come.
The truth is, making mistakes is the best way to learn. Every bug or roadblock I encountered taught me something new, even though it felt frustrating in the moment. One of the biggest mistakes I made was thinking I needed to know everything before I could start applying my skills. But that’s not true at all—you don’t need to be perfect, just persistent.
So, how do you keep that momentum going when the excitement fades and the challenges start piling up? More on that in Part 2 of my upskilling journey.
If you like reading my article, feel free to buy me a cup of coffee here.
Wonderful Krishna! Keep the upskilling and inspiration going!
Awesome 🙂