My Experience Speaking At The Swift Summit
February 5, 2016
Almost a year ago now, I gave my first talk. It was last February at a Papers We Love meetup group in San Francisco. By November, I was speaking at the Swift Summit. It was two days long with 250 attendees and 24 great speakers from all over the world. It was an extremely rewarding experience. If you're thinking about taking the plunge into public speaking, it's not as terrifying as you may think.
Getting into speaking
Last year, I taught myself how to develop for the iOS platform and became involved in the iOS development community. After working on a web application for two years, I wanted to dive into a new area of software development that I was unfamiliar with. Fortunately, software engineers at LinkedIn work on many types of applications and they are encouraged to move across different teams.
I knew iOS was an option, so I decided to make my own app to see if I liked developing for that platform. At the time, I used several self-tracking apps for my health. I discovered there was a key feature missing from all of them: the ability to create a question and answer it with a number. For example, how much pain is in your left wrist? iOS development had a steep learning curve, but I loved making an application that helped me in my day-to-day life. This got me hooked on mobile development.
While I'm not an experienced iOS developer, I had a unique perspective worth sharing. I had about two years of professional experience in functional programming, which had become popular in the iOS community with the introduction of the Swift programming language. My experience with Scala, a hybrid object-oriented and functional programming language, gave me insight into the best practices and pitfalls of using functional programming in production applications.
Technical conferences ask potential speakers to submit paragraph long abstracts that describe what the talk will be about. I submitted to two conferences before a proposal of mine was accepted at iOSDevCampDC. A friend who is an experienced speaker at iOS conferences gave me feedback on the proposal, which was eventually accepted.
Preparation is crucial
Preparing my talks took a huge amount of time. I was nervous about speaking to a group of people whom I expected would point out my lack of knowledge and experience. So I spent at least three hours every Saturday and Sunday for several months preparing for them. When I submitted my talk I didn’t know how or if someone could recreate list comprehensions or guaranteed tail call optimization in Swift. Preparing the talk was a process of discovery. I gathered material from StackOverflow, blog posts, conference talks, Open Radar and the Apple Developer Forums. I used Twitter to ask questions and have conversations with experts like Rob Rix. I strived to created a talk that members of the wider iOS community understood, not just experts or functional programming enthusiasts. I saved all this information in Evernote. Then I began turning this information into an actual talk. I identified my audience, structured my talk and designed my slides based on Ash Furrow’s blog post on how he does public speaking.
My friend Ines Sombra, an experienced public speaker, gave me feedback on my structure and slide design. I practiced my talk over and over again, adding material until it fit into my allotted time. When I spoke at the Swift Summit I was able to predict down to the minute how long I would take. Before the Swift Summit, I gave a similar presentation at iOSDevCampDC and at the Brooklyn Swift meetup.
The time spent was well worth it.
Speaking at the Swift Summit
At the Swift Summit, I spoke about which functional programming features I would add to the Swift programming language. These were list comprehensions and guaranteed tail call optimization. I reason I chose this topic is because I regularly heard people comparing Swift to other languages and felt like the conversations were over my head. I wanted to understand what Swift lacked compared to more functional languages like Haskell and Erlang. I distilled the large number of features down to the most important, foundational ones. I really dug into Swift's implementation and even used a disassembler to look at Swift bytecode.
From gendered criticism to inappropriate comments on our appearances, women don't always have the best experiences speaking at conferences. However, I'm happy to report that my experiences have all been positive. One man veiled his critique of my talk in the form of a question, and proceeded to disagree with all of my responses. I calmly and intelligently responded to his comments and felt supported by the attendees and other speakers who talked to me about it afterwards. All in all, this in no way dampened my interest in speaking at more conferences. I care about sharing my speaking knowledge with other underrepresented people in tech so that they can start speaking themselves and are aware of the impact it can have on their careers.
I met many iOS developers I admire at the different conferences at which I spoke. Those developers include Chris Eidhof, who literally wrote the book on Functional Programming In Swift, as well as Daniel Steinberg and Ash Furrow. Attendees asked me interesting questions and shared their own knowledge. Through all of this, I gained confidence in my skills and I learned how to create a great presentation. I look forward to being involved in more conferences in the future.
The experience made me realize the huge impact speaking has on careers. I used to think is was a nice goal but not a life-changing one. It has definitely changed my life. I have professional relationships with people who are writing the books, creating the open source libraries and driving the culture and best practices within Swift. My work is featured in lists of the best Swift resources and my name is mentioned when people talk about important Swift developers. Goals like writing a book, creating a new iOS organization or making a proposal to Swift-Evolution now seem normal.
See you next year!
I've already set several new goals for myself this year. The first is to create dedicated speaker section on my LinkedIn profile where people can find my work. This will help me get more views for my current talks and make it easier to share my work in future proposals.
I'm also going to speak at an international conference. I was invited to speak at a conference in Tokyo this year, so all that's left is preparing a talk and preparing for travel! Giving a talk in a new country will be particularly challenging and exciting, due to language and culture differences.
And finally, I'd like to speak on a topic completely unrelated to functional programming. Functional programming was my entry point for speaking but I don't want to limit myself to this single subject. My work experience at LinkedIn exposes me to many interesting iOS topics. With enough time and effort, I know I'll be capable of speaking on any of them.