Backend Discoveries: Turning Roadblocks into Learning
Tags: webdev, beginners, opensource, learning
Published: 2024-06-27 20:48:45

Hello! My name is Paschal Ikechukwu Chukwumee, and I'm a backend developer specializing in Django. My journey into development began with frontend work, but I soon discovered the backend and fell in love with it. There's something incredibly exciting and fulfilling about working behind the scenes to make everything run smoothly.

This is my second time participating in the HNG Internship. My first experience was wonderful, although I only made it to stage three. I’m still grateful for that experience because that gave me an example of how things work in real life. 
This time around, I'm confident I'll do even better and make the most out of this incredible learning opportunity.

<u>*The Challenge*</u>
Backend development, as exciting as it is, comes with its fair share of challenges. I have always encountered bugs and challenges right from when I was a newbie. Some were really challenging, either when I’m trying to replicate a tutorial or learn something new. This challenged me to do more in finding solutions to these issues, and I became even excited to fix issues with my code. And when I fix it, I feel very happy. 

One particular issue stands out from my experience—working with PostgreSQL for the first time in an opensource project. Until then, I was comfortable with MySQL and the default dbsqlite in Django, but PostgreSQL was new territory.

The project required setting up a PostgreSQL database, and I encountered numerous issues right from the start. The commands were unfamiliar, and setting up the environment was a hassle, I couldn’t install the requirement packages gotten in the cloned repository.

Initially, I thought the problem was with my Windows setup, as my teammate had no issues on their end using Linux. Other team members weren’t aware of my dilemma, and the team member I complained to responded with “Fix it”.  So, I decided to create a separate Linux environment on my PC. I installed Ubuntu alongside Windows, thinking it would simplify the process. However, this added another layer of complexity. I had to learn Linux commands, something I had never done before. Despite my efforts, the issues persisted.

Realizing Linux wasn't solving my problem, I decided to find the solution before the prolonged issue affects the whole project. I returned to my original Windows environment. I started researching more deeply, watching videos, and reading documentation. I discovered that some packages in the requirements file needed a C compiler, which wasn't initially installed on my system.
I installed the necessary C compiler and restarted my PC. After rebooting, I attempted to install the requirements file again, and to my relief, it worked perfectly. This was after more than five days of persistent troubleshooting. 
With the requirements installed, I moved on to configuring PostgreSQL. There were still issues, but by this point, it wasn’t as difficult. With patience and more research, I managed to navigate through the remaining setup smoothly.

This experience taught me a lot about resilience and the importance of thorough research. It was a challenging journey, but each obstacle made me a better developer. And I’d like to see bugs and issues as friendly challenges rather than frustrating roadblocks. 

I'm very open to challenging tasks that come with backend development, and I'm willing to invest the time needed to find solutions. This internship with HNG is a fantastic opportunity to further hone my skills and take on even more complex problems. If you're interested in learning more about the HNG Internship, check out <a href ="https://hng.tech/internship">[HNG Internship]</a> and <a href ="https://hng.tech/hire">[HNG Hire]</a>