My Experience with the MTI Ramadan Coding Challenge
Published: 2024-06-12 06:25:06

In this blog, I would like to share my experience with the first coding challenge I participated in this year. I'll talk about the stress, a night without sleep, managing and maintaining the project, grouping things together, and especially working with a team and coming out of my cave (room).

## MTI Ramadan Coding Challenge

The Coding Challenge was organized by the [MTI Institute](https://www.facebook.com/MTIInstitute1/), which takes place in Ramadan every year. This year was its second edition. The goal of this challenge was to bring together tech enthusiasts, students, and programmers to showcase their skills and build an innovative project that helps solve a problem in our country, Somalia.

## Opening Ceremony

Before the ceremony, there was an interview phase. I was nervous since it was my first interview ever. What I knew about interviews was the process of asking DSA questions, and the interviewer preys on every mistake you make. But it was pretty simple, and I passed. After that, I joined the participant group where we got notified about the ceremony and rules.

On the ceremony day, I became an extrovert and started talking to other participants. I was amazed by the different skills everyone had. Some knew mobile frameworks like Flutter, and web frameworks like React (like me) and Django (like how would I know that I was coding in my cave alone).

Before the ceremony started, they gave us a list of activities, such as team building, discussions, modeling, and prototyping. We did all that in a few hours. I teamed up with 6 random participants (including me) and a facilitator. The organizers gave us a few minutes to know each other and discuss what we were going to build. We came up with a volunteering page where organizations create an event or campaign, and people who want to join the event can volunteer through the page. It sounds simple, right? Well, the process wasn't. because of the team, time, and maintaining the project.

## The Team, Maintaining, and Time

The team... the team... Well, our team did our best. There were skilled programmers who had built projects, had jobs, and were in higher semesters than me. I learned a lot from them, but our skills were different, which made things hard for us. No one really wanted to be the leader, and the facilitator did not help much. So here is what went wrong.

Our skills were varied: four of us knew React, one knew PHP (and had a job), and the other didn't code much, so I don't remember his contribution. This is how we split the work: design, frontend, backend, dashboard, and using GitHub. I don't know why we agreed on using GitHub when some didn't know how to use it. Someone had to wait for the others to finish their parts, correct their code, and integrate it into the main project.

The timing of the challenge was during a busy week, the last week of Ramadan. We had to pray all night, prepare for Eid, and after Eid, prepare for college exams. Managing my time was a challenge itself, but we were able to build a functional page. However, it wasn't good enough. A lot of features went over our heads because of the stress and deadline (the deadline memes I see on Instagram make sense now).

However, I did experience how professional GitHub users work with amazing team members. We were opening pull requests, reviewing code, and merging it into the main branch, which is much better than sending files back and forth. We were also checking on issues and fixing them. Now, I have a better understanding of GitHub.

## The Pitching Day

The most important day of this challenge was when we presented our project. Unluckily, this was on the last day of my exam. What luck! The project crashed in front of the judges. Luckily, I was not there, but they gave us a chance to fix things and add some missing features. We hope we have a chance to win on the closing ceremony day.

## What I Learned from this Experience

- Have a clear, solid, documented understanding of the project and the team's work.

- Time management is important. I see it everywhere, yet somehow forget.

- Team management is important, where everyone's goal is clear and following a procedure.

- Learn from your failures, and do better next time.

- Don't be the MVP if you can't handle it.

- learning how to Code is not enough, I also need to learn how to communicate and work with a team.

## In the End
it was a stressful experience, like why it wouldn't be it was something new and time multiple try to get good at, made some new friends that I can ask to join other challenges with, So yeah.
I hope this post is helpful and you learn from it. Each failure is not a failure but a step forward to success.