Yay!! internship is over I am really glad and proud of myself that i came this far. At the beginning of this internship i had so much fear of not being able to bring forth what is expected of me. I was mostly doubtful of myself because i was doing everything for the very first time. That is the first time in open source the first time working remotely and the first time working across time zones. But it all turned out that i just had to push myself,work harder and be consistent.
The one fear I had at the beginning of this internship was not being able to complete the project or do my own portion of the work that i had to do during this internship.But I did it. I did what i was supposed to do and I did it very well.
The internship was very challenging I got to do a lot of work, I had to quickly understand concepts that i just came across and also I had to be very spontaneous to give reply to my mentors and also questions asked by the admins. During the internship one amazing thing that happened to me was that i always received help when i asked for it. It was not just from my mentors but also from fellow interns and organisation developers.
The project i worked on was a Laravel/Lumen project. Before getting into the internship my knowledge in this Framework was very little but due to the project i had to first of all learn a good portion of it before getting into the internship. In addition to that i was learning while working on the project. The tasks were a very good strategy to use while working on the project, and also learn at the same time I really appreciate my mentor Anna Losif for breaking down the project into small tasks and issues this enabled me to understand concepts better and also perform task with accuracy.
My mentor helped me in various ways during the internship. Firstly, like already mentioned my mentor understood my position and abilities when i got into the internship and we drafted a plan that was suitable for me to work on the project efficiently and smoothly without any stress or hurdles. Secondly,my mentor was very responsive to me and always answered all my questions and answered them quickly too,she always gave me help in so many ways either it was providing me resources to enable me solve a bug or have a live coding session with me to view my issues and direct me on what to do. We often had real time chat on slack and at any time.That is whenever i had an issue and i brought it up on the slack she will be available to answer.I am really happy about the fact that there was no specific time allocated for our slack discussions on the issues i am facing. The weekly check up was another great help offered to me. During the weekly checkup my mentor will first review with me the task of the previous week,then she will introduce a new task for the week and also explain and provide me with resources needed for the task.
With all this help that i have listed above and more the internship has boosted my confidence a lot in contributing to open source. Truly contributing to open source takes a lot of confidence and patience too but before applying for Outreachy i had discovered that because, i had to visit many organisations make a lot of mistakes and also feel pain. However during the internship i understood it all. I better understood the World of open source the pros and cons of contributing to a project and also had better understanding of software development.
Communication is a very essential part in open source contribution and software development in general especially when working in a team. During the internship i learned how to communicate with people in so many ways I learned to be very polite when talking on any occasion especially when asking for help and also learned to be brief and straight to the point when pitching or talking to people about something or an idea.
The technical skills i learned during the internship are the most important and interesting part of my internship. What I learned was centered around the technology i used for the project which was Laravel/Lumen. I learned the structure of a laravel folder and the roles of each file in a project and its uses. I learned the concepts of Routing,Controllers,and http request in Laravel, I learned how to use Google Cloud services like the one i used (cloud speech-to-text library). The research part of the internship was also a very educative part of the internship where i got to research about Twilio voice API,AWS Cloud services,Google Cloud services,coding standards and conventions that my organisation uses and version control because that is what i was using to submit code to the project.
The project i worked on was just brought to the organisation it had not yet been initiated or even started so when i came in i was the first person to take a step in bringing this project to reality. It is a huge project i must confess nevertheless it is possible. I did the foundation work for the project which was: Create Routes and Controllers for the project, Introduce the cloud Speech-to-text library to the project which is to be used for transcription and also make a detailed Readme file for the project repository,to serve as explanation of the project and also guide for future contributors of the project. The work i have outlined here might seem small and little but it took a lot of time to accomplish it. I had to research,learn try and fail before i could finally land on the work i have done so far on the project. All this preparation before implementation was very necessary to create a proper foundation for the project. And thanks to this project i realized that software development is not all about coding but research and trials are also a huge part of the process.
For the project to be completed there is still a lot to be done. The Twilio Api will have to be introduced to the project to serve as the client that the voice application will use to make and receive calls. There after the Twilio Api will have to be configured to communicate accurately with the Ushahidi Platform Api and the platform Api too has to be able to communicate with the Twilio Api. Continuos testing will have to take place and then Finishing the project with documentation about it on the Ushahidi Gitbook documentation account. Here i have just listed the project continuation from my own perspective. It is not standard and can be altered or changed.
Nevertheless, the internship has ended but i will still continue contributing to the project. I am really passionate about the project and i will like to see it to completion. The internship was a very amazing and satisfying one. I leave with much more knowledge than i came, more confidence more skills and also a wider network of people.