Michael White iOS Engineering Intern at Square
Who are you and what do you do?
I'm an iOS Engineering Intern at Square and a senior studying Computer Science at Stanford. I've been working for Square for the past nine months on the Square Card Reader and Square Register apps and I'll be joining full-time after graduation in June. I got started programming in middle school making websites in Atlanta, GA and have been filling all my spare time with side projects and freelance work ever since. I've only been developing for iOS for the past year or so, but it's easily my favorite platform. You can find me on Twitter @mwwhite and my website, mwhite.me, has a little bit more information about me.
What is your computer and workspace setup while developing?
For Square work, I use a company-issued 15" MacBook Pro 2.0GHz Core i7 with an SSD and 8GB of RAM. I'm working part-time until June so I'm not in the office enough to justify a Cinema Display at my desk, which is standard-issue for most Square employees.
At home, though, my 27" Cinema Display is indispensable. It's usually hooked up to a 17" MacBook Pro (my personal laptop for school and other projects). The 17" display makes it unnecessarily bulky now that I don't use Final Cut Pro very often, so I'd love to swap it out for a 15" MacBook Air, should one ever exist.
What are your favourite Apple iOS API's to use within apps you develop?
I feel fortunate to live in a world with blocks. Beyond that, I'm constantly pleasantly surprised by UIKit's penchant for making my life easier. Obviously that's is the point of any framework, but UIKit seems to put everything I've used before to shame. Please forgive the generality; there are just too many specific examples to list out.
What is some software that you use outside of Xcode for development?
I don't think I could live without Git. And GitHub is fantastic not only for open source projects and professional software development teams, but also school project teams.
I use TextMate for most of my non-Objective-C development now (the 2.0 alpha is great), specifically Ruby, Python, and C. When I did more front-end web work, I spent a lot of time in Coda and VMware Fusion.
What do you do to stay up to date on new iOS features, frameworks and SDK's?
I generally use Twitter for staying up to date on everything, including iOS. Other than that, I've mainly relied on the Dev Center and my extremely knowledgeable co-workers. I've never been to WWDC and can't attend this year because it falls during exams (not to mention the early morning sell-out). But I'd love to go next year if I can score a ticket.
From a developers perspective, what are your hopes for the next major iOS update?
I'd love better built-in text formatting without using CoreText or a UIWebView. A Siri API would be awesome as well. Finally, while this isn't specific to a major iOS update, I'm sure developers everywhere would cheer an Xcode update that addresses the remaining quirks and crashers of Xcode 4.
Finally, what is your favourite app?
It's impossible to choose just one. I'm totally enamored with Pay with Square and a future in which the act of paying can fade into the background of the actual human interaction with the cashier, barista, or merchant. I'm also constantly on Twitter using Tweetbot (and Instapaper). Instagram is another favorite.