When 2020 first began, we thought it was going to be a business-as-usual kind of year.
It's safe to say we were wrong about that.
One of the top challenges we faced in 2020 was handling our interns remotely.
Normally, they would come to the office and work directly with our different teams.
But 2020 made sure that would not be the case.
But what 2020 didn't see coming was the Gameball team excelling in a new experience.
Here's what happened with our interns this year:
The Summer Internship 2020 Process
- The Gameball team scanned over 100 resumes for students from universities across Egypt.
- We selected 12 interns based on acceptance criteria/scoring we built. We focused on metrics other than previous work experience
- The selected interns included 50% females. Our interns came from multiple majors, studies, and years.
- To make sure things worked smoothly, the Gameball team prepared 6 different major projects along with 5+ sub projects.
- Each project was led by a Gameball Tech engineer.
- We collected the interns' preferences for project assignments and the interns were assigned before their internships began so they had time to prepare, read more, and ask questions.
- Every week, we had a Tech-wide meeting to discuss project milestones, problems, and dependencies.
- To maximize the interns' learning experience, we had a weekly Tech talk by me, Gameball's CTO to talk about technology and explain best practices with real world examples.
- Before the internship began, we decided on the paths and tasks we were going to give each team of interns.
- During the course of the internship, each team leader used these paths and maps to work with their team on the already-discussed projects paired with on-demand meetings as needed.
Projects Implemented during Gameball's Summer Internship 2020
1) Gameball SDKs (5 interns)
We implemented SDKs for Gameball APIs in 5 different languages: Ruby, PHP, node.js, c# and python.
We made sure that the interns did their research first on SDK best practices and techniques, with each specialized in a language.
The project started from the bottom by building the SDK skeleton, followed by the communication approach all the way to the top by releasing the SDK packages to each language package manager with documentation, while adding the source code to Github.
Our interns synced well with each other which helped both the project and their learning experience. We wanted the SDKs to be consistent in their interfaces and naming and this sync complemented our work.
2) Magento Extension Development (2 interns)
We kick started our Magento extension development with the help of two of our 2020 interns.
First, they needed to understand the Gameball business process and then the Magento environment's best practices and development guide.
To achieve this in a short time, we planned the project in advance and divided it into modules that can be tackled like Scripts to UI injection/listening to events and implementation of business roles.
Once every module was completed, the interns and their team leader shifted their focus to releasing the extension to the Magento Marketplace.
3) PowerBI Reports Implementation for Gameball Support Team (1 intern)
At Gameball, we believe customer satisfaction is the key to success. That's why it comes first in everything that we do.
An important dimension of customer satisfaction is the response time.
For this project, we had one intern who worked on the development of PowerBI reports that can help the support team respond quickly to customers' requests without the need of the backend team's involvement.
The intern had to study the PowerBI tool in order to give the best outcome in terms of data and performance.
They also built multiple PoCs in order to settle on the best approach to query the data from our multi-tennat dashboard.
4) API Test Automation (2 interns)
One of the major projects we had this summer was to build an API test automation framework for our events engine.
The challenge was that our events engine had no limit on the possible scenarios a client can configure.
The interns, therefore, began understanding the events engine and how it worked with its different configuration parameters. Then they started building a test scenario to automate.
After the test cases were developed and approved, they moved on to step two and built the automation scripts using the Postman Automation Tool.
After the automation was completed, it was added to Gameball CI\CD pipelines to continuously detect defects, errors, and bugs as early and quickly as possible.
5) Migrating Gameball Shopify Communication from REST to GraphQL APIs (1 intern)
Gameball has been operating as an app on Shopify for over a year. Our communication with Shopify was based on Shopify's REST APIs which were set to be replaced by their GraphQL APIs for better performance and more features and support.
One of our 2020 summer interns worked on the migration of our REST interfaces to their equivalent GraphQL interface and ensured that Gameball functionalities were intact.
The intern also worked on an internal Gameball application that will be used for bulk operations to be done on our Shopify customer base like upgrading their widget version, subscribing to new webhooks,…etc.
6) Traffic Routing using Serverless Functions (1 intern)
Gameball's backend receives two types of traffic: one is from guests who are not logged in to the website, and one if for users who are logged in and have a tracked profile on Gameball.
The Guest traffic was adding unnecessary overhead to our infrastructure.
That's why one of our interns was assigned the task of designing a routing solution specially dedicated for Guest traffic.
This allowed guest traffic requests to be fulfilled using Redis caches and serverless functions outside Gameball's backend.
More Projects for Interns
Once interns completed their assigned tasks from the above list, we rearranged their assignments based on which interns wanted to extend their internships.
With interns looking for more experience, we were able to kick off two new major projects.
These were:
- BigCommerce plugin development
- Gameball OAuth interface development
Reviews from Our Summer Interns
The Gameball teams felt that they had achieved much this summer. Not only were we able to overcome the issue of working remotely with our interns, but also the overall experience was different and we believe successful for everyone.
That's why, our completed projects weren't the only things we were proud of.
Here's what some of our summer internship 2020 interns had to say about their experience:
Monica Ghobrial (GUC engineering student, senior year)
"I was part of the internship provided by Gameball in the summer of 2020. Although it was a remote internship because of the circumstances of the pandemic, Gameball people were keen to provide us with an enjoyable technical internship. It was a great opportunity to learn about new technologies and dive deeper into Gameball environment, grow my network, and gain skills in multiple areas. What was really special about Gameball, is that we, the interns, were assigned real-life projects related to Gameball, which made the working environment realistic and really interesting. All the people at Gameball were giving their full attention to trainees and interns to make the internship beneficial as much as possible. It was my honor to be part of such a fast-growing and empowering team!
As was told to us at the very beginning, "In Gameball We work hard and we party even harder". This was really clear in the funny ambiance of Gameball gatherings. Personally, it was a great experience that guided and pushed me way beyond my limits thanks to all the empowering and inspiring people I have met."
Omar Eliskandrani (GUC engineering student, Bachelor year)
"The experience that I have gained from interning at Gameball is really what I can call the TRUE experience of internships, throughout the internship I was a part of the company and doing real-world software engineers tasks.
Also, all the company members were really friendly and very helpful and I am very cheerful to make such wonderful friends, so no doubt that I have gained a full internship experience involving both sides: technically and socially."
Youmna Khaled and Hana Amr from Cairo University added:
"An enriching experience is the least we can say about our internship at Gameball.
Despite the 2020 pandemic limitations, which led to many respected organizations failing to adapt to the unexpected working conditions, Gameball was able to bring in 11 interns to their family and mentor them into successfully completing challenging projects in a relatively short time.
Although our project was challenging in nature, since day one, Gameball's CTO Omar Alfar dissipated our fears and showed absolute confidence in us. He constantly proved to us that this internship was more about exploring and learning together than just getting a project done. This was highlighted even more in the weekly tech workshops he gave us discussing the trends and best practices in software engineering which was undoubted to our benefit. Today, we celebrate the completion of our project, and this could've never been done without him and our dedicated mentor, Islam Abdo.
Beyond doubt, this internship, being our first, gave us comforting insights into our future in this career and what being in a professional work environment can look like. It was definitely an honor to be part of Gameball's big family."
Final Words
The year 2020 continues to be trying year with lots of surprises. There will be ups and downs, but it's important to learn from those downs.
2020 is the first year we have tried working with interns on a remote basis.
Was it easy? Nope. But it was a learning experience for us as a team as well.
Gameball's teams had to adapt to the new norm and make the summer internship 2020 work!
So here's to Gameball's tech and development teams and to our special and hardworking interns!