Relaxed but Professional
As an intern at BlueFletch, I could not have asked for a better environment to gain professional exposure and hone my skills as a software developer. The days leading up to to my first day on job were hopeful and nerve wracking; however, upon starting I quickly came to realize that what little nerves I had were completely negated by the combination of my friendly, approachable coworkers and a work environment that promotes open communication and collaboration. With weekly company-wide standups, frequent code reviews, and lunch-and-learn presentations, BlueFletch makes it clear that learning and open interaction are key foundations to a successful organization.
The Work
The first project I worked on was the Enterprise Launcher for BlueFletch’s Enterprise Mobility System (EMS). Similar in function to the home screen on a regular Android device, the Enterprise Launcher, designed for rugged devices, adds a layer of control and meets the needs of any organization with multiple shared android devices. Specifically, I was tasked with updating and consolidating the different ways an associate could log into the Launcher (currently LDAP, Google Sign In, and Office 365). The end result would be that an organization would have the ability to select from these options without any external support. While working on this project some of the things I learned about included oAuth2 authentication, API calls using Retrofit, android navigation control, and much more.
After wrapping up the previous project I was tasked with replacing the backing local database for the Support Analytics android app. This app, also part of the EMS system, was responsible for displaying and sending information about the device (battery percentage, network status, temperature, etc) to a server. The issue was that the local database it used to store the data was not only difficult to test, but also unnecessarily inflated the app’s file size. While migrating the database to a different, more lightweight implementation, I had a first-hand experience of how external libraries interact and sometimes conflict with each other. I was also introduced to the idea of mocking when testing an application.
For the remainder of my internship I worked on two projects as part of an agile-driven team. I worked on bug fixes and implemented new features on several android apps. Unlike EMS, these projects involved active sprints and high client interaction. In addition to improving my skills and knowledge of android development, working on these projects gave me the valuable experience of collaborating with a team where each person had a specific role. From daily team standups to tracking progress with task management software, I was able to witness the SCRUM methodology in a real world context.
Having the opportunity to work on multiple relevant products was an invaluable aspect of this experience. I was able to witness the different design patterns and architectures I learned and heard of in school being implemented in projects with actual value. As someone kicking off their career as a developer, BlueFletch was the perfect environment to advance my knowledge while working on interesting, challenging problems.