Greg Heo

Swift Summit SF 2016

Thoughts on reading and writing after spending two days amongst 400 other Swift nerds.

I had another great time at Swift Summit in San Francisco this year. For a Swift nerd, there’s nothing like being surrounded by so many thoughtful speakers and attendees for an all-Swift single-track conference over two days.

On stage at Swift Summit. Thanks to Erik Kerber for the photo!

Thanks to everyone who stopped to say hello! And a pro tip for other conference speakers out there: have something interesting to say (perhaps one of those “elevator pitches”) about your talk since people will inevitably ask you what you’re going to be speaking about. Apologies to folks who asked me before I had a coherent answer.

On a personal note, my Swift Summit trip last year was the start of talking to more folks at Facebook and led to me joining the company and the team at Instagram. Now I live in the city and work in the Bay Area and it seems like so much has changed in only a year.

Last year I spoke about protocols in the standard library and how we could use them to guide us on using them in our own code. Looking back on it now, I can see that my talk this year had a similar theme: examining standard library source code (now that Swift is open-source!) to guide us toward better coding practices in general.

Open-Source Swift

After last year’s talk, I thought it would be fun to go through each protocol and write about it. I got through a grand total of two before life got in the way.

Then Swift was open-sourced and there were even more distractions! So much code to read and commit history to browse through!

First commit to the Swift repository

I started reading through bit of code at random, mostly at parts of the standard library. I remember checking out the CFLite project and the GNUStep source code back in the day for something similar — GNUStep includes their own implementations of classes you know and love such as NSDate and NSIndexPath and many others. Although this isn’t Apple source code here, it’s still an implementation of the same set of APIs.

On Reading

While reading all this Swift, I found myself thinking more about how I was writing code and also picking up small tricks from what I was reading. One benefit of standard library code is it comes from people who have the most experience with such a young language. You know, that exclusive club of folks who have the “3–5 years of experience with Swift” all the recruiters are looking for. 😉

Again, I managed to get one thing written about Bool.swift before regular life got in the way again. I really enjoyed doing that kind of close reading of a simple-looking bit of source code and writing about it. I did more research and wrote some drafts on optionals and collections and strings over the last few months, but never managed to finish anything.

And that’s where this year’s Swift Summit talk came from. I learned so much from reading more code and making that a habit, and I wanted to share that experience.

If you were at the conference and attended my talk, I hope you enjoyed it! If you weren’t there, there will be a video posted soon enough. And if you were there and didn’t enjoy it, I’m always looking for feedback if you’re willing to take the time to offer it.

I’m hoping to get back to writing more often as all my Swift reading notes continue to pile up. If you’ve started reading more code too, I encourage you to write about it as well!