Reflections From an Android Dev Newbie

“I have so much gratitude, and consider myself lucky that I was able to grow at a company that supports individual advancement”
I’ve come to the end of my internship here at Udacity, and it sure has been great! …but before I say farewell, let me tell you a little more about what I have worked on since my last post.
New user onboarding

Goals:
- To increase user sign-ups
- Provide a better first time user experience
Results:
- 40% increase in sign-ups per day (7 days post-release compared to rest of Q3)
Implementation
This time around, I had the opportunity to work with a designer, which made the process of setting up the UI much faster.
The headlining text in the last Fragment
was the trickiest to get right. You can’t tell from the image, but the semi-bold text fades in-and-out as iterates through a list of subjects (strings). At first I placed those values in a <string-array>
resource, and seemingly everything worked perfectly. Later down the line, I realized that the app was crashing when clicking-through on aTextView
in any of the first four fragments— and previously it had not. At that point, I had already made significant strides in the implementation, so it was difficult to pinpoint where and when exactly the bug appeared. Ultimately, the bug had nothing to do with anything I had written, and instead was due to an Android Studio ‘quirk,’ that didn’t like two <string-array>
’s stored in the same resource file.
All-in-all, the lesson I learned was to always test the entire flow after big changes because you don’t want to be at the end of the line and realize that something’s not quite right 👼.
The existing internals of the previous on-boarding implementation were only of some use. It was ‘old’ code that wasn’t aligned with the MVVM architectural pattern that is found throughout the rest of the codebase. My main job was to refactor the existing code so that it met said pattern, make it configurable for the future, and to move that code into its own module to continue the ongoing modularizing of the application.
Onto the next
Onboarding was my last user facing project, and I’ve since moved onto an engineering task involving changing the way we query our primary content api. I’d say it was my greatest feat to date as an intern here at Udacity.
I had a lot of catching up to do with GraphQL. Then, I spent some more time putting into context how the structure of the classroom content related to what I was taking in. I also learned a lot about event and event subscribers. However, the most tedious task was putting together all of the many broken parts after changing the data type of the query response 😰.
Beginning anew
It was fun being a part of Udacity for the past 12 weeks. I met so many awesome people, made new friends, and learned a whole lot more about Android development (and the tech industry in general).
I have so much gratitude, and consider myself lucky that I was able to grow at a company that supports individual advancement. My mentors and teammates carried me all the way, with their encouragement and support.
Can’t wait for what’s next!
Follow Us
For more from the engineers and data scientists building Udacity, follow us here on Medium.
Interested in joining us @udacity? See our current opportunities.