In the break after my 4th semester of the BSc (Hons) Computing at Informatics College Pokhara, I joined Skybase Innovations as an intern for Android app development.
During the internship program that was of 3 months long starting from 2078/05/01 to 2078/07/30, I learned lessons and gained some valuable experience in the field of app development. The colleagues and the supervisors were also very helpful and inspiring who helped me learn many skills including but not limited to app development, maintainable code, git, communication skills, research skills, and so on. They also helped me to get inspired to work hard to be successful as an app developer.
Today I am going to share the valuable experience and skills I gained during the internship at Skybase.
Things I learned
Teamwork
When working on a project as a developer we usually don’t develop every part of the project since it might become a burden and will take a lot of time to complete. Therefore, to lessen the burden and finish the project on the estimated time, we work in teams where every member of the team is valuable and contributes to the completion of the project.
Researching and Debugging
Whether the project is complex or a simple one, the development of the project will not be a smooth one. Even though a developer might be experienced and skilled, he is likely to face errors and bugs. Therefore, the developer is required to have researching and debugging skills to solve the bugs and errors he faces.
Git and version commits
In the team for developing the project, there will be more than one developer. In order to have a better developing experience and control over the project “Git” is used. Git allows to track every change and made to the project and allows multiple developers to work on different parts of the project at the same time. Since multiple developers will be working on the same project the developers need to make good commits for better version control and easier work collaboration with other developers.
Maintainable Code
As the multiple developers are working on the same project developers need to collaborate with each other. Hence, a maintainable code should be written in order for other developers to understand the code and also it helps for better debugging of the code when facing errors and bugs.
Communication Skills
A developer needs to interact with other developers and members of the team. He also needs to communicate with the clients for the proper delivery of the project. Therefore, communication is one of the most valuable and required skills for the developer.
Things I learned regarding Android app development
Android development with Java/Kotlin
During the internship, I learned to develop android apps using Java as well as in Kotlin. I also learned the MVC pattern, Activities and their life cycles, fragments, permissions, and so on. There were minor projects that were assigned to me which helped me understand the things I learned better and gain experience in using them.
Different versions of Android
As I worked on some demo and real-world projects I learned about the different versions of the androids, the difference between them, and how apps work on each version. With the knowledge of the android version, I learned how to develop an app that works on many versions without giving errors.
UI/UX Design
As kept learning skills and developing apps I learned the importance of the UI/UX designing of the app for providing a better user experience to the user. I also learned the basic concepts of UI/UX design which helped me develop apps with better UI.
AdMob
As I worked on the project I learned about the platform named “Google AdMob”. The platform allows us to monetize the apps by showing the ads to the users. I also learned that there were many types of ads like banner ads, interstitial ads, native ads and how to show them to users and the difference between them.
Libraries
Libraries are the tools used for development which makes it easier to develop apps. The libraries provide the functionality for the developer to use for cleaner and better code. The libraries that I used frequently during the internship are listed below:-
Volley:- Used for retrieving JSON data from the server.
Room:- Room is a database library that makes it easier to develop a local database for the
app with minimal use of SQL statements.
Summary
During these 3 months, I experienced significant growth in my knowledge, experience, and confidence as an app developer. This internship has helped me add the skills and experience which has boosted my confidence in developing real-world apps with better UI/UX design. I would like to show my regards to Skybase Innovations Pvt. Ltd and the colleagues for providing the opportunity and guidance.