The Intern Experience

Ryan Miles – Android Developer

My summer internship at Bluefletch gave me the opportunity to work on real products and gain firsthand experience in how teams communicate and function. My work focused around Android development for Bluefletch’s Enterprise Mobility Services. I developed a new platform to increase supported devices, built a theming library to allow for instant demos, and researched and prototyped various future features. Each project I worked on came with new challenges that I was able to learn from.

Android for Work Devices    

During my summer, my focus was on developing a new platform to support Android for Work Devices. This platform allowed Bluefletch’s Enterprise Mobility Services to communicate with non-rugged devices if a company already had a supply of Android devices. I was able to get first-hand experience in proper application architecture and using background services. I attended weekly code reviews and received feedback on how to improve the function and style of my code from the senior developers. Toward the end of my project, I started learning how to test and use dependency injection methods like Dagger 2 properly. Learning to test inspired me to practice using other tools such as Espresso and Robolectric along with developing software using Test-Driven Development.

The Inbetweeners

Inbetween working on the Android for Work platform, I was given a task to theme BlueFletch’s sample retail applications for a client meeting. I noticed the process of theming 5-6 apps for every meeting is very tedious and costs upwards of 5-7 hours to complete. After the task was complete, I finished writing a library to instantly update the theme on runtime for Android applications. Instead of building 5-6 apps for each company, there is now one set of demo apps that has a customizable color scheme and logo support. During a demo, developers and managers can quickly and easily change colors and logos to showcase the customization of our products while saving 5-7 hours of development per requested demo. This process taught me how to inject theme data during an Android app’s onResume statically. At the end of the project, I used Confluence to write documentation for how to use the new demo set apps for internal reference.

Another inbetween project I worked on was prototyping development features for BlueFletch’s products. One element was touchless-login which included NFC, Barcode, and Face authentication. These quick two week prototypes gave me experience with OpenCV and Android NDK along with NFC intents and Zebra barcode scanning. After the prototypes were working, me and one of the other interns produced a demo video that showcases the features. I enjoyed developing these quick prototypes because I was able to dive into new technology and figure out how they work.

Overall, I enjoyed my ten weeks working as an Android Developer at Bluefletch. I came from interning with a large corporation and valued working for a smaller company. The position allowed me to be self-directed and work on products that provided new challenges and opportunities to learn. Bluefletch highly values the attitude of continuously learning, and there was never a day that I was not learning. After finishing my internship as an Android developer, I can confidently say that this is a field I want to continue on and dive deeper into.