We were delighted to have Will Sawyer join us for the summer as our first iOS programming intern. In this post, he shares his experiences with the technology, people, and space that make up Planet Maestro.
How fitting that my journey at Maestro began through a mobile device, when I received the call informing me that I was being offered an opportunity to join the team as an iOS software engineer. During my freshman year at the University of Michigan, I was told not to get my hopes up when applying for internships. Therefore, I was ecstatic and grateful when I found out Maestro was willing to take me into their family and teach me the ways of an iOS developer. I mean, every kid dreams of growing up to be a Maestronaut, right? ...or was it Astronaut? Hopefully my thoughts and experiences will give you insight on the culture at Maestro and how an internship works here.
My first day at Maestro was May 20th. Since I had never worked with iOS at all (my background was in C++ and Java), I spent the first week or two getting familiar with the basics. I pored through Objective-C and iOS Programming books, practiced writing some simple apps with tutorials, and got the hang of GitHub, an incredibly helpful web application that Maestro uses to easily manage version control in projects. I quickly became accustomed to the commonly used apps and websites utilized by Maestro, such as Xcode (Apple’s programming IDE), Testflight (tool for distributing beta apps), Basecamp (project collaboration tool) and Harvest (time-tracking software).
After I got comfortable with these, I started working on little projects to make life easier around the company. First, I re-signed almost all of Maestro’s iOS apps so they would be on the same expiration schedule. Since Maestro won’t release an app to the App Store or to our customers until it is perfect, we deploy them with Ad Hoc provisioning profiles first. This allows us to distribute the app for beta testing, internally and to customers, without it being available to the public. Every Ad Hoc app needs a certificate with a valid profile to be able to run, and when the profile expires, the app won’t launch. Re-signing the apps with the same profile will ensure that they will run properly until they all expire next May. I enjoyed this task, as I got the opportunity to get familiar with the awesome apps that Maestro has created. Even though my brand new Macbook had already ran out of memory thanks to these huge apps, learning the inner-workings of an app has given me valuable experience in iOS programming.
As I became more experienced throughout my internship, I was assigned tasks that the team knew would challenge me more and more. I was often thrown into unfamiliar projects and had to fix bugs or make updates. I was proud of myself after completing these tasks, I felt like I was playing ball with the pros. Not only did I feel I was contributing to the company, I was also absorbing skills and information daily. In fact, I believe that working through errors on your own is one of the best methods of learning a programming language. If you spend time understanding why the code is a certain way, the next time you come across a similar issue you will be an expert.
A sales product app, food catalog and Maestro’s own Congress Vote Tracker app were my focuses for the main part of my internship. The team was there for me if I needed help, but I tried to do most tasks on my own so I would maximize my learning. I have done the majority of the programming on the Congress Vote app (still under production), which includes some pretty cool features that I never thought I would be able to code on my own. My favorite is a Congress member filter, which can sort a list of Congress members by name, party, house and even which state they are from! The user is also able to interact with a Congress member directly by tweeting at them, visiting their website or YouTube channel, or posting on Facebook about them, all from their profile on the app. Keep an eye out for this app, it is a Maestro Fuel Project and was a very cool idea from one of our very own Maestronauts. After my internship, I have confidence and a new skill set of iOS programming that I’m positive will be valuable in my future.
Programming experience isn’t the only thing that I will take away from my journey as a Maestro intern. I became part of the culture here and now have fond memories of this summer, such as the Tiger’s game, beach party and my favorite, the Maestro Bike Build. The day of our surprise Team/Bike Building event was a definite highlight of my summer. After assembling twelve children’s bicycles, the twelve new owners stormed the office with radiant smiles on their faces. It is hard to explain the exact feeling that I had that day, but it was special.
Even before I started working, I fell in love with the atmosphere at Maestro. I had been to the office once before for an interview and was teased for wearing a three-piece suit to a place where the dress code is decidedly casual. Despite being a bit embarrassed, I couldn’t wipe the smile off my face as I walked around the office. Our space is so open, and the few walls we do have are made of crystal clear glass. (Even though I smashed into one of these because I was paying attention to my laptop instead of to where I was walking). And don’t get me started on the snacks… forgot breakfast? No problem. Getting distracted by a growling stomach? Don’t worry. Selecting from the assortment of treats is sometimes exactly what employees need to stay happy and focused. Another benefit of my time here is that my billiards skills are better than ever. Part of my job included being ready for a game of pool any time a co-worker needed a break (pool pun) to gather their thoughts. The bank shot? The cut shot? The three-ball combo? You can count on me. The tough part is deciding whether I should let my opponent win or not. In my opinion, the office environment is a huge part of our culture and is a key contributor to the constant hard work that occurs.
Of course, you can’t talk about the culture without mentioning the factor that makes Maestro, well, Maestro - the people. Even as an intern I get included everywhere, whether it is playing pool with the design team, participating in monthly CocoaHeads meetings with the production team or grabbing lunch with the ambassadors. This summer I have learned plenty of life lessons from my co-workers and have even found some role models that inspire me to improve myself. Now, as I head back to Ann Arbor for my second year as a Computer Science student in the College of Engineering at U of M, I hope to keep in touch with my new friends that I’ve gotten to know this summer. Who knows? Maybe I’ll be lucky enough to come back in the future. I can’t imagine a better gig than working for Maestro.