I attended my first conference as an iOS engineer this past weekend: CocoaConf Boston, 2015 in Peabody, Massachusetts.
I was excited and apprehensive. I worried about things that I haven’t worried about since my first day at school – will the other kids like me? what’s for lunch? what if the other kids are smarter than me? – and I thought of the many unasked questions that I left unasked, out of fear that I would be laughed at.
Over the course of my brief iOS career, I have collected and put aside many unasked questions as not appropriate to the occasion, like:
- Do you use storyboards? (The startup I work at, Switch, deleted our storyboard file a year and a half ago and has been flying with autolayout since then. Our code looks something like this:
@"H:|-defaultMargin-[_view]-defaultMargin-|"with nary a visual representation)
- How do you all get that parallax animation? None of you actually use
- How do you refresh your data when a user minimizes and then opens your app? We observe
UIApplicationDidBecomeActiveNotification, but it gets pretty messy when our data fetch happens in
viewDidLoadand in the selector that listens to
- What tools do you use to make things better in XCode?
- Do things ever get better with XCode?
I have always hoped to ask these questions, and more, without appearing too unknowledgeable. I didn’t want to sound like an amateur in front of a bunch of iOS professionals – especially since I had over a year of experience under my belt, and since this was a professional conference – and I felt very much like an amateur in the front row, surrounded by a room full of people who wore Apple watches on their wrists and spoke knowledgeably of the Apple TV dev kit.
“Crave fear,” he said.
Do what makes you afraid, because it means there is a part of you that wants to.
What was I afraid of, I wondered?
Talking to people. Finding out, and showing, how little I knew.
What was it that I wanted to do?
I wanted to talk to people, and find out how much I could learn.
CocoaConf started on Friday morning at 8am, and went until 8pm that night. Saturday’s sessions ran from 8am to 5pm. Some were inspirational (the keynote, in particular, was an inspirational start to the weekend, and lamented by Zarra himself as well outside of his comfort zone); some were highly technical; some drew analogies between coding and writing.
In between each session, we had about fifteen minutes to get up, stretch, and chat with our neighbors.
I learned, in starting a conversation with the table on using open source code to discover best practices for application architecture, that I could take a look at Cheddar in addition to Artsy’s open source projects.1 I had been lamenting that our standard StackOverflow-to-squash-a-bug procedure was only a surface treatment of what could be larger problems that were solved by larger solutions, and now I had two repositories to peruse for structural wisdoms.
I learned, from a friendly face in an ESPN shirt, that his name was Christian, that he, indeed, worked at ESPN, and that he was a veritable source of example code for a custom transition that I had been wrestling with in my last sprint.
I learned, as I spoke to others in line for dinner or coffee, that there were many different flavors of Cocoa developer at CocoaConf. You had a CEO of a successful mobile agency, a CEO of an independent software company, the founder of a non-profit, the director of mobile engineering at a startup, a fledgling developer at a startup… and each came, with her own background and history, to the crossroads that was CocoaConf.
No programmer is an island
It’s easy to put your head down and code in a bubble.
I’ve been doing a lot of coding and building and bubbling, and after a year and a half as a growing engineer, there is a pull to think that you should know things in your seniority. As our team at Switch continues to grow and I get the opportunity to share institutional and engineering knowledge with newer members, I start to look back in wonder, thinking that perhaps this is what it means to be a more senior engineer.
Then the wonder fades into fear as you continue to code but feel obligated to know things, and this is where you begin to feel like an imposter and occupy your bubble out of fear of being discovered.
We don’t need to feel like imposters, and we don’t need to stay in that bubble.
We can ask questions, and we can carry conversations with people who know infinitely more than us without fear of being labeled ignorant, amateurish.
CocoaConf ended on Jaimee Newberry’s keynote on #noexcuses:
“Be an amateur”,
At CocoaConf, I learned, as I spoke to the other developers around me, that I was an amateur.
All it meant was that I could be a better me.
(and you can be a better you, and we can be a better we)
We’re all amateurs, looking to be professionals. Some already seem to be there, and maybe even then, they feel like they’re not.
The rest of us?
We’ll all get there, someday, and the community, rich in its people and minds, is a precious repository of what others have learned on their own journies. Mine began a year and a half ago, and Boston was a beautiful stop on the way.
Thanks for reading! (eski)Mona kindly asks you for stupid questions and answers in iOS @ @hazelynutter. Until next time.