Overcoming a Challenging Backend Project Issue: My Experience and Journey to HNG Internship.
Published: 2024-06-30 16:58:59

Being a backend developer demands more than simply knowing how to write codes; continuous learning, troubleshooting and problem-solving abilities are additional skills required to make a successful career in backend development. I was recently met with a challenge on a project I worked on which involved setting up a Node.js application to interact with a MySQL database on a cloud hosted Ubuntu server. Solving the issues I encountered in the course of that project showed me the level of importance continuous learning, persistence  and resilience is for career advancement as a Backend Developer and it well aligns with the new adventure I'm about starting with the HNG Internship.
**The Challenge**
The project was a simple user registration form with User login. Database Connection failure and authorization error were seemingly encountered while trying to connect to the MySQL database from the Nodejs application.

**Step-by-Step Solution**
1) First I uninstalled MySQL from my Ubuntu server having observed that it wasn’t the latest version.
2) I downloaded and installed the latest version of MySQL-version 8.4.0 LTS on my server, after which I secured the Installation.
3)I then configured MySQL to listen on my server's public IP address. This involved editing the MySQL configuration file where I had to set the ‘bind-address’ and ‘mysql-bind-address’ to my server’s public IP address
4) To apply the Changes, I restarted the MySQL Service.
5)Next, I logged into MySQL to create a database and a user for my application
6)In my Node.js application, I used the MySQL library to connect to the database.
7)Despite careful setup, I encountered an “ECONNREFUSED” error. This usually indicates that the server is not accepting connections on the specified IP and port. I checked the firewall settings to ensure port 3306 was open.
8)After confirming that firewall was not blocking the connection, I encountered an ER_NOT_SUPPORTED_AUTH_MODE error, which I resolved by updating the MySQL user authentication method.
9)Finally, My Nodejs application successfully connected to the database and authentication issues resolved.

**About Me**
My name is Somtoochukwu Okonkwo, I am a recent graduate of Electrical/Electronic Engineering with skills in Backend Development(junior level) and cloud computing. I am highly fascinated about tech especially with the underlying technologies behind them. I recently finished my one year National Youth service Program as a Cloud Solutions Architect graduate intern at Huawei Technologies where I majorly did Huawei Cloud Presales, customer engagements, Solution design, POC and Cloud solutions Implementations. I’m passionate about Backend Development and I look forward to doing amazing things as a Backend developer leveraging my knowledge and experience as a Cloud Solutions Architect.
I love serving people; making positive impacts in their lives and also contributing to a better  society. During my Undergraduate studies at Federal University of Technology Owerri, I served as the Class Representative of my class; Electrical/Electronic Engineering Class of 2021, where I effectively led, inspired and coordinated my Class mates into carrying out various projects and volunteering works including School environment sanitation exercise and tree planting geared towards developing the School Community. I also served as student Volunteer and Public Relations Officer of Institute of Electrical & Electronic Engineering(IEEE) of my school community. Recently served as the President of ICT Community Development Service group for Eti-osa 1 LG VI Lagos State in the course of my one year National youth Service Program where I successfully coordinated and led my fellow Corp members into undertaking ICT sensitization and career awareness campaigns and computer lab sessions for students at Kuramo High School Lagos State. 
Currently, I am a Volunteer at Boys to Men Foundation Lagos State, a foundation with the mission and vision of producing better men in the society through it’s campaigns of catching them young, a program targeted at educating young men on the dangers of addictions(alcohol, sex and betting, drugs) and other social vices. Self-discipline, diligence honesty and integrity are my Core beliefs.

**My HNG Internship Journey**
This challenge spurred me into looking out for ways to learn, grow and improve as a Backend developer, so I reached out to some of my class mates that are into tech; fortunately, I met two of them by names: Eburu Evans and Ugwunna Gerald who happens to have attended HNG internship and they recommended HNG internship for me on the basis that it was what helped them to learn and grow in their tech career. Being motivated with the level of their  tech career progress and by the possibilities of what I can achieve in tech as well, I set sail for HNG internship. From their experience and testimonies, I believe strongly that the HNG internship is not just about learning to code but about solving real-world problems and growing as a developer. I am excited about the opportunity to collaborate with other developers, learn from industry experts, acquire mentorship and also work on meaningful projects. The structured learning environment and the exposure to practical challenges will undoubtedly accelerate my career growth.

**Why HNG Internship**
Just like it did for my classmates Eburu Evans and Ugwunna Gerald who are working remotely and doing well as Backend developers; I believe the HNG Internship will provide me with the perfect platform to hone my skills and gain valuable industry experience. The program's focus on real-world projects, mentorship from industry experts, and collaborative learning aligns well with my goals. I am specifically excited about the prospects of working on projects with tangible impacts  and also to learn from the diverse and talented community at HNG.
I call on you to join me in this growth adventure of learning, joining a vibrant community of fellow learners and also gaining hands-on-experience, just check out the [HNG Internship](https://hng.tech/internship) to be on boarded. Employer? just explore how you can [hire talented interns](https://hng.tech/hire) from the program.

**Conclusion**
Excelling as a Backend developer requires a blend of technical knowledge, critical thing/problem-solving skills, persistence, resilience and continuous learning. The recent challenge I faced with MySQL and Node.js was a learning experience that emphasized the importance this skillsets.  As I kickstart my HNG internship, I look forward to further honing these skills and growing as a developer. I am highly optimistic about the new challenges and exciting opportunities that lie  ahead!