back to CSSE Capstone schedule

UWB Logo

Computer Science and Software Engineering Capstone Presentations

Summer Quarter

August 21, 2020

 

Chandler Mendoza-Eastman
"Software Engineering Internship with T-Mobile"

(T-Mobile)

 

Faculty Advisor: Dr. Kelvin Sung

 

 

 

Abstract

At the start of my internship I was assigned to the R&D team, which mainly consists of Android developers. This would allow me to be closer to those that would be able to help me. I was tasked with creating a proof of concept (POC) application for an internal customer. The application needed to be written in Kotlin, the Google-preferred language for Android app development. I can't talk about what the app does since all the work my team does is confidential.

I spent a couple of weeks learning Kotlin at first. The next few weeks I worked with a team member to follow the requirements and technical specifications. My POC was meant to be a basic implementation with a simple UI to show that the requirements and technical features were possible. The next iteration of the application was to be done by the development team and have a more robust UI.

Once the POC was done, I started learning about architecture patterns such as MVP, MVC and MVVM. My team wanted me to create the next version of the app using the MVVM pattern - the POC used a single class for all display and business logic. The MVVM uses a Model, for a repository, a View, for display logic, and a ViewModel for business logic. We decided a Model wasn't necessary since we weren't storing any data. I proceeded with a modified MVVM design pattern using the View and ViewModel components with the concept of Data Binding.

The second iteration of the app won't take as long as the POC since most of the business logic could be reused, with some modifications. After it's completion, I will present the final product to T-Mobile leadership which includes my manager, director, senior director, and the rest of my team. I will also create a document for the team's internal wiki, detailing the features and technical requirements.

In addition to the technical skills I've learned so far, I've also learned a lot about the software industry. I gained a better understanding of how sprints work in an Agile methodology, how to communicate and collaborate with my coworkers, and better time management with work and personal life.

 

 

 

 

 

 

 

 

 

 

Updated August 20, 2020, 3:03