This has been a really busy year for me, but most of the time I’m too busy working on stuff and planning what’s next to actually look back and see how far I’ve come.
So, in this end of year blog post I want to look back over the last 12 months: what I worked on and why, what was successful and what wasn’t, and what the results are. This is as much for my own benefit as it might be for yours – reviewing the year helps give me a fresh perspective, while also helping me plan for the future. Plus, even though I’ve worked hard, I feel sure I’ve learned more from you than you learned from me.
It won’t surprise anyone to learn that my main goal for this year was to speak at conferences – I spoke at 17 of them in all across 15 different countries, each time delivering a new talk, and you can read my write up of that here: Conference report: 2018.
As I said in that article, delivering fresh talks at so many events was a real challenge, and one I’m unlikely to replicate in 2019. Yes, I’m likely to keep delivering new talks most if not all of the time, but I’ll be more selective about the events where I speak – I need to focus my attention elsewhere in 2019, so conferences will take more of a back seat.
One thing I didn’t mention in the article is that in 2017 I delivered only three presentations, of which one was a lightning talk, and in 2016 and earlier I delivered none at all. A couple of folks have questioned whether me speaking at so many events was a good thing, but it would be easy to miss that this year was quite the outlier.
As well as speaking at conferences, I also got the chance to attend various meetups. I don’t prepare new talks for meetups, which makes them substantially easier for me to do. Also, meetups are by their definition grassroots events, so you get a much more varied audience – they are great fun to speak at!
Even while speaking at so many conferences, producing Swift tutorials has taken up most of my year. I spend so much time thinking about Swift, coding in Swift, and writing up my results, that I don’t often have time to sit back and look at the big picture.
Well, now is as good a time as any, so I did a quick count of how many articles about Swift I wrote this year. It’s not precise, because that would take more time, but I can give a best guess. Here’s the breakdown:
So, if we add all those up we get to 506. Where things get a little confused is that some of the Countdown and Advent articles were filed in the knowledge base, so they are double counted above. To be precise, 4 articles from the Advent and 16 from the Countdown were in the knowledge base.
So, to the best of my knowledge I wrote 486 new articles about Swift in 2018.
I also wrote three books: Swift Design Patterns, Practical iOS 12, and Testing Swift. Combined, those have 160,000 words, although they aren’t free so I appreciate most folks aren’t able to read them.
However, this year I did release the complete text to Hacking with Swift on GitHub so that folks could help translate it, and I also uploaded the code for Hacking with macOS, Hacking with watchOS, and Hacking with tvOS so that everyone can benefit.
But wait… there’s more!
This was the year I decided to build an app to help folks learn Swift. It’s available on GitHub if you’d like to check out how I structure my own apps, but the code itself isn’t that important. What matters, at least for this part of the article, is the content: I wrote 12 code samples for every chapter from Swift in Sixty Seconds.
With 98 chapters, that means almost 1200 code samples, grouped into a question and answer format. I subsequently ported all of them to the web, so you can now review your Swift and track your progress using just your web browser.
2018 was also the year where I finally launched a podcast, Swift over Coffee. Doing my own podcast had been sitting on my brain since I had so much fun being a guest on Fireside Swift, and earlier in the year I had been a guest on Sean Allen’s WWDC video and Swift News.
So, I decided to put the two together: I knew I wanted to do a podcast, and also knew that Sean would be a great co-host, so I was really grateful when he agreed to give it a try. Since then we’ve picked up thousands of subscribers and having a lot of fun along the way – I’m sure the podcast will continue to grow in 2019!
But wait… there’s still more!
If you follow me on Twitter you’ll know that I regularly hit problems with Xcode, Swift, UIKit, and other Apple technologies. Most of these problems are with Apple’s frameworks behaving in curious, undocumented, or flat out broken ways, so I did the only thing we can do: I filed a radar.
Over the course of the year that all adds up, and across all of 2018 I filed 48 radars – almost one every week. I’m not going to pretend that I enjoy filing radars, but I do think we all have a responsibility to help Apple identify and resolve issues with the tools we rely on so heavily.
But wait… there’s mo— actually, no. That’s it.
An important metric for me is how many people come to Hacking with Swift. I can’t judge whether they enjoyed their visit or how much they ended up actually using, but as a raw metric this helps me get some idea of how many folks I’m able to help each month.
There are lots of ways of measuring visitors, but three are particularly important: users (how many people came to the site), sessions (how many visits were made to the site), and page views (how many individual pages were accessed). I’m going to give you all three figures for my site, but first some provisos:
So, each user will have one or more session, and each session will have one or more page view.
With that in mind, here are the latest monthly figures for Hacking with Swift:
So, every user read about 3.5 articles on the site each month.
Now, there’s a limit to the number of users I can expect to attract: only a small percentage of the world are computer programmers, and only a small percentage of those use Swift, so I don’t expect the users number to rise dramatically in the future.
However, page views is a representation of how often those users see fit to return to my content every month, and that’s a number I can improve. Reading 3.5 articles a month is a sign that folks trust my site enough to come back regularly for Swift news and tutorials, but – to be absolutely blunt with you – it’s not a great sign, because it means they come back less than once a week.
Last year I set the goal to double my numbers, and I haven’t quite achieved it: I’m up 79.8% when averaged out over the year. I don’t feel terribly bad about that, because obviously at the start of 2018 I hadn’t done much to change my numbers over the end of 2017. Instead, what matters more to me is the numbers from the most recent month, and they are looking very positive.
Anyway, soon enough I’ll be talking about my goals for 2019, and you can expect page views to be a big part of that story. Again, it’s only one of several metrics so it can’t really assess how useful my work is, but when you can’t measure what you care about it’s natural to start caring about what you can measure.
I think it’s important to be vocal: talking about our problems and raising awareness matters. However, I don’t think talking is enough, at least not for me – I believe in putting my time and my money behind my words, because I want to use whatever limited position I have in the iOS community to make things better in every way that I can.
If you follow me on Twitter you’ll know I’ve been to teach classes at my local university and my daughters’ school. The latter was a real privilege: I got to work with the four top girls in the school to help coach them towards a coding competition, and one of the girls placed in the top 10 worldwide – it’s just astonishing how good they are.
But there’s a lot I don’t talk about much, mostly because I don’t feel comfortable speaking about it. However, I think it’s OK to break that once a year, so here are some things you might not know.
In 2018 I donated $35,000 of books to folks who needed them. I regularly offer free books to STEM groups that are working with under-represented minorities, and it’s a real source of joy for me to hear back from them about things they are able to do as a result.
On top of that, I donated free Swift books to 1500 Apple employees. I know what you’re thinking: why do Apple’s highly paid engineers need free books? Well, Apple employs 132,000 people, of which only a small fraction are developers – they employ far more retail staff than engineers, and those retail staff aren’t on the kind of Silicon Valley wages you might associate with Apple’s development teams.
Yes, some of the folks with the free books probably do have the spare cash to buy them, but being highly paid or not isn’t what matters here: my job, my career, and pretty much all work-related things in my head right now are only possible thanks to a massive team effort from Apple’s staff. I realize that donating some free Swift books is a relatively small thing to give back, but it’s a gesture of my gratitude and I hope it helps some folks inside Apple get where they want to be.
2018 was also the year where I really pushed forward my outreach efforts to help build a more inclusive community. In February I had Skype calls with two dozen people from under-represented groups using a scheme I shamelessly stole from Cate Huston. I offered career advice, code tips, or indeed anything they wanted.
I regularly offered help to folks who were from under-represented groups or were first-time speakers, because I want to do everything I can to bring new speakers into our community. This often meant helping write their conference proposals and contacting organizers on their behalf, but it’s been incredible getting to meet these folks at events after their talks were accepted.
I also ran a series of free online workshops for under-represented groups, which was more tiring than I had expected – when you live in the UK and you’re addressing a 6:30pm workshop in LA, it takes a fair amount of coffee to wake up!
In the same way I want to give up my time as well as being vocal about diversity issues, ultimately it’s also important to put my money where my mouth is – to use my own money to help make a difference. As part of that, I’d like to thank the organizers of NextDoor, iOSDevUK, and DevFest Baltics for allowing me to sponsor diversity tickets at their events. There’s a cost to me, yes, but there’s also a cost to them of organizing and running these schemes, so I’m grateful for their support.
Before I move on, I feel it’s important to add two further things.
First, even all these efforts are still only a drop in the ocean: I’d like to think I’ve done as much as I can to make things better for everyone, but I know there’s a vast amount more to do.
Second, my ability to donate so much time, money, and books to good causes flows directly from the many thousands of readers who support my work by buying books. Your generosity, support, and encouragement makes all this possible – thank you so much!
As you might imagine, I have big plans for 2019 – I think it’s likely to make 2018 look pretty relaxed in comparison. I’ll be outlining precisely what my plans are over the coming weeks and months, but what I can say up front is that my focus continues to shift more towards helping those around me. That will mean more volunteering of my time, creating more free tutorials, and mentoring more folks from under-represented groups in our community.
Of course, I’m sure I’ll write a few books along the way – it’s something I love doing and my readers certainly seem to enjoy reading them. I have quite a few topics on my list that I’m extremely keen to cover, but I’m afraid I’m not giving any spoilers!
Before I sign off, I just want to repeat my warning from the start of this article: thinking about, writing about, and talking about Swift is my full-time job. I spend hours a day experimenting with Swift and seeing what I can do with it, so if you’re looking at my work in 2018 and wondering how I do it, the “trick” is simple: it’s all I do.
Anyway, thank you for taking the time to read through this post. This was another entirely self-indulgent article, but I hope you learned a few interesting nuggets along the way. Even more, I hope you can also look back on your accomplishments this year: whether you achieved what you set out to do or not, you made it through another year and hopefully learned a lot along the way!
SPONSOR Tired of wasting time debugging your Swift app? Instabug’s SDK is here to help you minimize your debugging time by providing you with complete device details, network logs, and reproduction steps with every bug report. All data is attached automatically. It only takes a line of code to setup. Get started for free.
Paul Hudson is the creator of Hacking with Swift, the most comprehensive series of Swift books in the world. He's also the editor of Swift Developer News, the maintainer of the Swift Knowledge Base, and Mario Kart world champion. OK, so that last part isn't true. If you're curious you can learn more here.