After completing the elective course provided by Motorola Solutions, I was selected as an Internship Trainee for 1 year. So, I will be working as an intern in my 4th year along with managing exams and assignments in the 7th Semester.
Summer Internship
I started my internship in the summer and it included a summer internship of four weeks. As I had joined for a one-year internship, the first month was going to be training for sure.
The first week included an orientation session, a meeting with my manager, setting up my account, and other onboarding processes.
In the second week, I was provided with Knowledge Transfer videos to get insights into the project. I also received my work laptop this week and after receiving it, I needed to clone the project on my laptop and make the local project run. It included node js, angular setup, python setup, and tools which are used by our team on a day-to-day basis.
The third week included going through the KT videos, and understanding the code flow of the main repositories. I also explored Angular best practices that are being used in our project and learn python flask as a backend service.
In the starting phase of the fourth week, I was exploring the KT videos, and source code, understanding the functionalities of the UGWP portal, etc. I also started attending the daily scrum meetings this week. I went through the in-depth functionalities of our application and the flow of the application, and I got KT sessions from my seniors on the team.
Post Summer Internship
After the initial month, my training almost got completed and now the team is assigned me UI enhancements and bugs that I started fixing with the help of other senior engineers.
I also get a chance to work on one of the API's changes on the backend side in which I optimized the API response time by optimizing and improving the code.
So far I have been working on UI Enhancements on the Front end side, API creation and optimization on the back end side, and helped other team members to complete their tasks.
UI Automation Project
One portal is a new project that I assigned to our team and our team is working on its UI enhancements and new functionality addition, so after each new feature that got added we need to make sure that old functionalities are working fine. so I along with other interns are doing sanity testing whenever a new build is generated to make sure that all the existing functionalities are working fine along with new features that are added freshly.
So this manual testing is a bit tricky task so our manager suggests we create a new project or environment where we can run the suites and that will test the whole application automatically.
So we implemented UI Automation using cypress and tools.
What is Cypress?
Cypress is a purely JavaScript-based front-end testing tool built for the modern web. It aims to address the pain points developers or QA engineers face while testing an application. Cypress is a more developer-friendly tool that uses a unique DOM manipulation technique and operates directly in the browser.
So along with other interns, we implemented UI automation functionalities based on UI flows that we were testing day to day basis. so we have implemented suites under the guidance of two senior members of our team.
Code for UI Automation: https://github.com/veetmoradiya3628/Management-Portal-Automation
Development for the Enhancements
We almost implemented all the core UI flows and functionalities that are needed to be tested as part of Sanity testing.
Some of the other flows are yet implemented that we are working on.
Next Task
I will be working on UI Enhancements, Backend API Tasks and database query optimization-related works, and Automation tasks I will be working on as per our manager's assigned work.
Learnings
It has been around 4 months since I started my internship and the learning curve has been very high which is required at the start of the career. The scale of the projects and the impact it creates can be cannot be experienced generally at the university that is what the internships are for.
For personally, I had not worked as part of an Agile development team so learned how we can work in agile methodology and learned how the industry is building software projects.
Also working on a big project for the first time brings its own challenges because understanding the code flow can be challenging.
For the remaining part of the internship, I will be trying how other projects are being developed along with the tasks assigned to me so that I can improve my understanding of how the whole team works and helps me develop better software.


