Dev Conversations #0: Tim Condon

Published: July 30, 2024

Dev Conversations is a monthly series where Swift Toolkit features members of Swift work groups, content creators, and people who contribute to the Swift community, focused on tooling, developer experience and Server Side Swift.

In these talks, we discuss open source projects, tips for professional growth, and many other valuable insights and perspectives from other developers.

For our first Dev Conversations, we have the pleasure to chat with Tim Condon. If you have used the most popular web framework written in Swift, Vapor, or previously had any interest on Server Side Swift (SSS), then probably no introduction is needed. Tim is one of the authors of a top book about Vapor, from Kodeco, and his name became almost a synonym for SSS in the community.

Besides being a Vapor core maintainer, he is also a member of the Swift Server Work Group (SSWG), and works by providing services, training courses, and consultancy on SSS, at the company he founded: Broken Hands.

Today Tim joins us to tell a little bit about his background, why Swift is a great fit on the server today and in the future, and what he loves about running his own company.

Tim Condon

Swift Toolkit
Hi Tim! Thanks for joining us today for the first Dev Conversations.
Nowadays you are “the Server Side Swift guy”. How did you get to that domain in a first place, considering you were an iOS developer?
Tim
I started working with Vapor pretty early on. I originally wrote a blogging engine for Vapor, which was one of the largest open source projects using it, so it became a bit of a de facto example. That then turned into tutorials and blog posts about using it, which led to the book and video course at RayWenderlich.com (now Kodeco). After that, I started getting invited to speak at conferences and the rest is kinda history!

Swift Toolkit
That's great! Since then, how did you deepen your knowledge on server side knowledge and practices? Did you have any previous knowledge in other languages and frameworks?

Tim
I’ve done a lot of server side stuff in the past in many different languages so had some previous knowledge and experience to build on. I also do a lot of client work, using Vapor in the real world which really helps you understand what works and what doesn’t and how to apply different patterns, as well as dog fooding Vapor itself to find any pain points that could be improved.

Swift Toolkit
From there, how did you become one of the top contributors to Vapor and core team member, as well as member of the Swift Server Work Group (SSWG)?

Tim
After so long contributing to Vapor, Tanner invited me to join the core team when he moved on. It was a natural fit I suppose being so heavily involved in the framework and community. The SSWG was pretty much a package deal as I filled one of Vapor’s now vacant seats. That’s changed now as we have more seats filled by independent devs, which is great.

Swift Toolkit

What are the main goals and focus of the SSWG for the near future?


Tim
The goals for the SSWG over the next year or so really boil down to two things:
  • Proper adoption of structured concurrency in the ecosystem
  • Showcasing the success stories of Swift on the server
Structured concurrency is a huge differentiator for Swift as a server language compared to many other languages, which combined with things like Sendable really make Swift stand out both from an ergonomics view and safety view. The transition is going to be a little bumpy as we move from async/await bolted on top of futures and adopting strict concurrency checking (both things Vapor 4 has had to work really hard at to achieve in an acceptable way) but if we can get the whole ecosystem on board it will be a huge win for Swift on the server.
Traditionally, Swift hasn’t done a great job of showcasing the success stories of Swift on the server, which is something we’re working on changing. The meetups, the conference, future blog posts, the migration to the new swiftlang GitHub organization, they all combine to show that Swift is a great choice for server side development and a real thing. That is something we want to capitalize on this year and improve.
Swift Toolkit
In your routine at Broken Hands, what are the things that excite you the most? Which opportunities you have that in a regular job you wouldn’t?

Tim
I’m very lucky in my role at Broken Hands where I get the best of many worlds. I get to work on exciting client projects and use Swift on the server in anger. I also get to spend a significant amount of time working on open source projects which is not something most jobs would allow.
And then there’s all the conferences I get to speak at. Conference season means I get to travel all over the world speaking to people about Swift on the server and Vapor. That’s a very privileged position to be in and I’m very grateful for it.
Tim at SwiftHeroes 2022 Talking about Vapor in SwiftHeroes 2022
Swift Toolkit
What tips can you give to someone willing to learn more about Swift on the server and tooling with Swift?

Tim
The only real way to learn more about something in my opinion is to start using it! Create a project and start playing around and see what you can do. You’ll quickly learn the basics and then you can go in any direction you want to, to explore and learn more.
This is especially true if you have a problem you need to solve, whether it’s an API for your app, a website and a BFF (Backend For Fronted) at your company. The hands on experience is incomparable to just reading about it.
Swift Toolkit
I totally agree, learning by building is the best way! And adding to that, the barrier to entry into the server world has never been so low for people coming from an iOS background as it is today. It's definitely worth playing with it.
Thanks for your time, Tim! I'll leave here some information in case our readers want to follow you and your content.
Tim
Thank you!

Swift, Xcode, the Swift Package Manager, iOS, macOS, watchOS and Mac are trademarks of Apple Inc., registered in the U.S. and other countries.

© Swift Toolkit, 2024-2025