I started learning Angular for about two weeks on my own, and it got me an opportunity right away at Panopath to work with another engineer and gain hands-on experience maintaining code and developing a hybrid app with the Ionic Framework.
Late July 2017
WHAT IT DOES
It pairs you up with another high school student who is also working on college applications. Until both of you finish your application essays, you two will be “essay partners” and helping each other build plans on this app.
Each partner has their own plan which both partners can view and edit. To make it more user-friendly, we used local cache to store form data so the user’s name is displayed after registration.
HOW IT’S BUILT
Angular and the Ionic Framework provided the foundation and structure. The app itself looked and felt like a native mobile app and can use native functionalities because of Ionic.
Some of the biggest ones:
- Improving code quality and readability, designing and planning the project before hammering away on keyboard coding.
- Making sure that other engineers on the team can read my code, grasp the project structure and get their hands on the project as soon as possible.
- Writing efficient documentation that has good usage examples for the above purposes.
- Working at a student-run startup without an established management structure, many situations require everybody to take charge at least once at some point. Fortunately, my inputs were almost always valued by my colleagues. It’s hard to communicate technical details and requirements to management and/or design people who usually think the bigger pictures. But I will also say that putting myself in their shoes and thinking about what the project means for our organization helped a lot in build understanding and trust between us.
WHAT I LEARNED
There have been so many day-to-day eye-openers, mostly coming from being exposed the first time to the real world of software development and how developers really do their jobs. Comparing to doing personal side projects that weren’t really rigorous, working with others in a relatively fast-paced manner while learning new concepts and technical terms was big to me. As a result, the area I had the most growth in is writing quality and maintainable code by using a consistent coding style throughout the project.
- Gulp.js (task automation)