UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

Year in review: 2018

A brief look back on another year of Hacking with Swift

Paul Hudson       @twostraws

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.

Advance warning: Doing this stuff is my full-time job. I’ve tried to be clear in the past that it’s not sensible or fair to compare your work to mine – see here and here, for example.

Hacking with Swift is sponsored by RevenueCat

SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure your entire paywall view without any code changes or app updates.

Learn more here

Sponsor Hacking with Swift and reach the world's largest Swift community!

The year I went to conferences

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!

Writing, videos, and more

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.

Visitors to the site

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:

  • There’s no way of tracking “unique” users. If someone visits the site from their work computer then again from their home computer or from their phone or iPad, all analytics packages will consider that as two users.
  • Each user will be responsible for at least one session, but usually more. If the same user on the same computer comes to the site twice in one month on separate days, that’s considered two sessions.
  • Each session will contain at least one page view, but usually more. They might visit one page, click through to another, then a third, before going somewhere else.

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:

  • Users: 185,000.
  • Sessions: 394,000.
  • Page views: 630,000.

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.

Towards a better, more inclusive community

I talk a lot about diversity and inclusion in our community, much to the annoyance of certain members of that community.

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!

Looking forward to 2019

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!

Hacking with Swift is sponsored by RevenueCat

SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure your entire paywall view without any code changes or app updates.

Learn more here

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Pro SwiftUI Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!

Average rating: 4.4/5

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.