Mary Abiodun who is an alumna of She Hacks Africa Coding Boot Camp Cohort 3, shares her experience as a software developer intern.
Before the internship
I had started to learn tech and I was in serious need of an internship – somewhere to put to use all the knowledge I have gathered into doing real world projects. I applied to some organizations. Some never got back while some replied with no action pointer as to what next to do about the application. You could just get a thank-you-for-applying message and that was the end of it. I didn’t relent in my efforts to get an internship because most of the job descriptions I found were something I knew I could do but, in the meantime, something interesting happened. (Drum rolls).
The first time I built a website and hosted it, I reached out to a colleague of mine to review and give me honest feedbacks and constructive criticism about it. I knew he had experience with building websites and that’s why I reached out to him. He checked it out and commented on the color combination, that it could be better and I could read up on Web Colors and Typography. I took the honest feedback and I changed the color which gave the website a cooler look and feel.
A year after, my colleague called to ask if I still did my “website thing” and I said yes. Then he said his company wanted to train interns and doesn’t know if I will be interested. Of course, I will be interested! I told him that I have been looking for internships, all to no avail and he took it up from there. Then something else happened!
I was waiting to get a call for an interview or to come start the internship but none was forthcoming. Days rolled into weeks, weeks into months and still, no call or email. I still kept the good spirit and I continued learning. Later on, I got a 3-month internship with an Edtech company to be a content developer which I did for 3 months. It was a renewable contract which I never renewed but I contributed in my own little way to the organization through Mathematics and Further Mathematics subject contents.
In the third month at the Edtech company, I got a mail saying I should come for an interview at my colleague’s company. Imagine how many months had gone past before I was finally called. It was a tech internship and I was really interested. I went for the interview (which is another interesting story on its own) and finally, I made it to the tech internship.
My First Day at the Internship
It is amazing to know that I still have an HTML file in which I documented my first day at the tech internship. My job role was “Software Developer Intern”. I was introduced to amazing members of staff and my team lead is one of the best in the world. He showed me around and after breakfast, I was seated at my workspace with a company laptop to begin the journey of a 6-month internship in Software Development.
On the first day, I took an online course on Pluralsight. The course title is “What is Programming?”. The course instructor is Simon Allardice (you might want to check him out). The course taught me a lot about programming and I finished the course same day. It was very interesting.
Moving on, there were other courses. The next course was a Web Development course on Coursera and there was another one from Lynda titled “Foundations of Programming”. I just loved the fact that I was learning a whole lot.
Then came the bomb!
It was just few weeks into the internship when all interns heard the killer news. We were to develop a full-blown application. For the software developer interns, we will be writing backend codes using the C# (pronounced C-Sharp) programming language and the .NET framework. Interns in all departments were to work on this project from start to finish and the Software Development Cycle was going to come into play here.
Now, what was my issue? I had never written C# codes in my life and now, I was to develop a full-blown application with it and the project deadline was about 2 months. Where was I or the rest of the team supposed to start from?
I had to summon courage and try to tell myself that I wouldn’t be working on it alone. I had other amazing software developer interns on my team and if they believe we could pull this through then, we can.
One good thing was that we had awesome senior colleagues who were willing to put us through. They were there to answer our questions and they recommended online materials like books, video tutorials and online courses to help us get started – at least to understand the C# programming language and the .NET Framework.
For the first time, I was hearing terms I have not heard before. There was even another language called Razor that we had to learn as the backend developers. It was information overload and I was drowning in all of these.
Believe me, I wished someone could just wake me up from the dream but alas, it was no dream. It was my reality staring me in the face.
Did We Make it?
I have to be sincere here. I was frustrated. I felt like giving up and quitting it all but you know what? There is another side to it. I love learning and this was a huge opportunity for me to learn something I didn’t know but I wasn’t expecting to learn too much within a very short period. I wish I could take it slow and steady but every passing day, the deadline for the project drew closer and it felt like we wouldn’t be able to scale through.
I was happy that I was learning every day. Meetings with senior colleagues were opportunities to learn what you didn’t know or learn how to do things better like writing cleaner and shorter codes to perform a given task. I liked that very much but it didn’t change the fact that I was still drowning.
Did we make it? Yes, we did but that was probably after six months and a lot happened in-between. So follow me!
What Did I Do?
Like I said, I was really frustrated and at this point, it was like I needed help. I was losing it and almost losing interest but something happened.
It was time for the Christmas break and because our project timeline was almost expired, it was just common sense to still work on the project and possibly learn as much as possible during the break. We were one month into the project already and we were still struggling. In other words, there was literarily no break for us. But let me tell you what I did.
I went for the holiday without touching any form of codes or doing anything related to the project but somewhere in my mind, the project was there. I thought about it every day. I wanted to work on it but I just couldn’t bring myself to do so. I knew something was wrong somewhere. That was when I started reading a lot about mental health and workplace productivity.
It dawned on me that I needed to put my mental health in place before work resumed. I couldn’t believe my mental health was at stake and if I didn’t take care of it or hadn’t noticed it on time, it could have deteriorated into depression.
After all the education on mental health, I was more prepared to resume work and to face the challenge of the project. I also had to give myself some pep talk and I reached out to other developers I knew to understand how they do survive.
I resumed work in January better off than I was before I went for the holiday and my productivity also increased.
I started reading again. This time, it was more laser-focused and tuned to what I wanted to do in the project and before I knew it, I integrated the first screen. I was very excited on this day. Nobody taught me how to do it. I was just given the task and with the knowledge gotten from materials like books and online resources and research, I did it.
In the coming days, weeks and months, I had learnt a whole lot. I now understood the workings of the backend codes I was initially lost in and I integrated almost all the screens that were required for the project.
Lessons from The Project
The project taught me practical and technical skills both frontend and backend skills. Writing of codes has also helped to solidify my knowledge as opposed to the first time when all I had to do was just to read books and watch online videos.
I have also learnt to work and collaborate with team members not just physically but remotely. I have learnt how to use Git to collaborate on projects. Collaborating with Git was something I had not done before, even though I had a knowledge of Git before the project started. The project also helped me to increase my knowledge on Git as I had to take online courses on the subject matter too.
My problem-solving skills has also greatly improved. Each day that I had to work on the project, either integrating screens or writing backend codes, has enabled me to solve one problem or the other. Sometimes I get stuck, not knowing what to do, but by reaching out to Google or asking a more experienced colleague, I am able to surmount any challenge faced. And sometimes, through teamwork, my team mates and I are able to put heads together to solve a challenge.
I must confess that I had amazing team mates and a very wonderful team lead. Working with them was really beautiful and if I was to choose team mates to work on this same project again, I would choose them over and over again.
And to the senior colleagues, what can I say? We had a lot of them at our disposal. We wouldn’t have been able to finish in six months without their great help. They are really experienced and knowledgeable and it was only a privilege to have been under their tutelage.
The internship is over now and I can say that I am not the same person I used to be before the internship. I have grown in my tech skills and I am more positioned to take on tech challenges when they come my way. If there is anything I will take away with me, it is this – you can solve any problem just by walking away from it and coming back to it with fresh eyes. That really helped me a lot during the course of the internship.
I hope you have learnt a thing or two from my tech internship experience. Feel free to drop questions and comments in the comment section.
Written by: Mary Abiodun, WAAW She Hacks Africa Program Alumnae