AppForce1: news and info for iOS app developers

Tim Condon, Vapor Core Team Member and Swift Server Group Member.

December 16, 2021 Jeroen Leenarts
AppForce1: news and info for iOS app developers
Tim Condon, Vapor Core Team Member and Swift Server Group Member.
AppForce1: news and info for iOS app developers +
Help us continue making great content for listeners everywhere.
Starting at $3/month
Support
Show Notes Transcript Chapter Markers

Tim worked in cyber security, ended up at the BBC and started working on server-side Swift fulltime in 2019.

He is also the server-side Swift team lead at raywenderlich.com

Next to that he organizes several meetups and conferences.

More on Tim online:

The I.T. Career Podcast
Your ultimate guide to success in the I.T. industry. Helping you Grow your career!

Listen on: Apple Podcasts   Spotify

Runway
Put your mobile releases on autopilot and keep the whole team in sync throughout. More info on runway.team

Lead Software Developer 
Learn best practices for being a great lead software developer.

Support the show

Rate me on Apple Podcasts.

Send feedback on SpeakPipe
Or contact me on Mastodon: https://hachyderm.io/@appforce1

Support my podcast with a monthly subscription, it really helps.

My book: Being a Lead Software Developer

Jeroen Leenarts:

Hi, and welcome to another special edition of my podcast. I'm sitting here with Tim Conlon. And I got in touch with him through swift leads, because I had like the entire speaker lineup as guests on my podcast, either already or in the future. And he was the one person missing, I think it was. So of course, immediately, I jumped on Twitter and started nagging to Tim, but fortunately, I just only had to ask once, and then it was like, Yeah, sure. Let's go ahead. So, Tim, Hi, welcome to my podcast. And how are you today?

Tim Condon:

I'm Pearl. Thank you. Thanks so much for having me on the podcast. It's great to be here.

Jeroen Leenarts:

And just to get things started, where are you at in the world?

Tim Condon:

I'm based in Manchester in the UK.

Jeroen Leenarts:

So then I active in the in the local communities or?

Tim Condon:

Yeah, so I run up a meetup called NS Manchester. So it's a monthly meetup for iOS developers, which is a bit of a cop out, given I didn't do iOS development these days. It's nice to keep my kind of toe in the game, and catch up with loads of friends as

Jeroen Leenarts:

well. And what is the thing that you're doing nowadays?

Tim Condon:

These days, I'm full time server side swift developer. I really like the language. I've just moved more into the kind of backend and distributed systems type stuff.

Jeroen Leenarts:

And running a meetup. Like, as Manchester. How's that been? Going for the well, last two years? Really?

Tim Condon:

Yeah, we were we basically put it on hold for the last two years, we did a couple of special events. Like we watched the dub dub keynote. But we were back at our first meetup back last month, which was really nice to, to get back and see everyone again. So yeah, it's good to be back. And then hopefully, we can keep going and get the meetups back up and running regularly again.

Jeroen Leenarts:

Yeah, cuz I've been dealing with similar challenges as you are, because I run the Dutch cocoa hats. And we've been going at it like online every month, but it is it is hard, keeping people engaged through such channel. So But why did you start as Manchester or how did you get started in its organization?

Tim Condon:

So and this Manchester has been around a long time, way before me. And I started going, when I was working for the BBC. And one of my colleagues at the BBC he guy called Grid Spears was one of the organizers. So he roped me into speaking a few times. And then when he moved away, me and another friend called Chris wooden Stanley took over organizing it had been organizing it ever since.

Jeroen Leenarts:

How many years has the auto?

Tim Condon:

So we've been organizing it for probably three years. Now. I want to say about three years.

Jeroen Leenarts:

That's quite a while already. So you mentioned to me that you mentioned that your works at the BBC. I recognize as an iOS developer there. And but I guess that's not your first job, right?

Tim Condon:

No, so A, I have had, I've been kind of all over the industry. I started, I think computer science University. I did a placement year building flight simulators for the RAF, the minister of defense in the UK. So that was pretty cool, because I had to learn how to fly various different jets and planes as part of my job, which was nice. That's a fun overture, of course, never been a real thing. But I got to throw the simulators. And then after that, I moved into doing cybersecurity stuff. So I did kind of cybersecurity penetration testing, malware analysis, reverse engineering stuff. And then from that moved into more of a development side and doing everything from front end development to back end development to custom system development, and then eventually move into iOS development from that.

Jeroen Leenarts:

So but that's, that's quite a few. Well, let's just say significant changes in your career paths as a software developer. So what made you switch from flight simulators into into cybersecurity?

Tim Condon:

My, the, the modules I chose at university were kind of very low level. So I did a lot of hardware stuff. I did a lot of assembly stuff. So I wrote an operating system for my final year projects in assembly language and C, I wrote Verilog and vs V LSI code to create your own processes and stuff. So I've always had quite a bit of an interest in the low level stuff. And that gives you a good fitting to get into kind of reverse engineering and cybersecurity stuff. So that's kind of how I got into it. I kind of got picked up when I joined my first job And then as time went on, I realized, is good to have an understanding of that. But I like making things and compilers have moved on. And it's nice to have a compiler to do a lot of the work for you.

Jeroen Leenarts:

So and cybersecurity penetration testing is something that you mentioned. So you moved away from that get, again, into all kinds of software development, and then into mobile. But in this image in between period, what kinds of things we work on front end back end, what kinds of stacks, what kind of challenges we're dealing with.

Tim Condon:

So it was it was very, very, so a lot of it depended on the client. So it was, I was working as a consultant. So we had worked with her on various different projects. So it could be that we needed to build a front end website. So we use C sharp and SP, it could be that we were doing some low level system programming. So we would write C or C++, it could be that we were doing some kind of scripting stuff and move into Python or Ruby. So it was all over ready or enterprise development in Java. And so that kind of gave me a good exposure to a lot of very different languages, and not very different types of programming and ways of thinking. Which it kind of must jack of all trades, master of none type thing. So I got, I got to touch a lot of different areas, which was really fun, and a good, good grounding for moving into other stuff as well.

Jeroen Leenarts:

So but if you if you then look at that there. So doing a lot of different tax tax different languages, different stuff, really. What's your take on switching tax tax between projects, because what I always hear from people is that even for some people, the switch from Objective C to Swift was already quite significant for them, or just getting into iOS development was one of the biggest challenges that had to deal with because they came from, for instance, dotnet back end development.

Tim Condon:

Yeah, I mean, they are very different. They do have different paradigms and different ways of thinking. And even moving languages can be quite, quite difficult. I would say that for like, probably 75% of stuff, you don't really need to know, all of the low level stuff of languages. And you can kind of get by working on projects, without needing to know all the specifics. And the same is true of Swift and Objective C. And once you learn the basics, you can kind of work your way around stuff with enough Googling and looking at reference documents and stuff. But it's I think it's good to have exposure to different types of tech stacks. And learning about security or learning about back end development or learning about front end development. Because it allows you to kind of understand how things work. Or if you need to build your own stuff, it's easier to build it because you've already kind of done it or learned about it. And certainly if you're working in large teams, it's a lot easier to understand why your back end might return this weird response or why your front end developers are asking for everything in one response once you've kind of been there yourself. Okay?

Jeroen Leenarts:

And then if you if you if you then take swift out of the equation of all the frameworks and all the tech stacks that you that you work with, what what were some of the, the highlights or like key takeaways that you think yes, that's something that I learned because of the stack stack, or this is one that I really loved. And I still miss

Tim Condon:

for ask a question. I'd say that. I think it's a very good question. Like, I've touched a lot of different languages, I think they've all have, they're very, very good Part C sharp, C sharp, so really nice language. It has some really awesome tooling as well. Go has a great concurrency model is really simple to learn how to write very good back end systems. Python is very easy to get going because it's it flows really nicely. Java is the first language over lint. So there's always kind of a bit of deep knowledge there. And I say I'm not a fan of assembly these days. I think I spent enough time digging through decompiled binaries to not want to do that again. So yeah, like I think they're all They're all good. And I think some of the more modern languages like Kotlin and swift and go a really kind of, it's nice to have a new generation of languages that are picking up and learning lessons from all of the languages that have been gone by in the past

Jeroen Leenarts:

and Then, of course, after this whole wide spectrum of exposure to different languages and tools you ended up with, with iOS development for some time. Yeah. How did you get into iOS development? And when was that?

Tim Condon:

So I, I started doing iOS development. Back here, I think it was iOS three, I was four days, I think. I, one of the projects I was on, I had to write some kind of security applications for iOS. So I picked up a bit of iOS development there. And then I was working with some friends building some custom iPad apps for fitness company. So they take these apps to kind of trade shows and exhibitions, and allow users to sign up and sign up for training plans and build custom training plans and stuff like that. So that's kind of how I got into iOS development. And I really enjoyed it. So when I decided it was time for change, I started looking around and found the BBC. And they were looking for mobile developers. So I joined the BBC. For I think when it was now it's probably about six years ago. As an iOS developer, well, actually, as a mobile developer, I did both Android and iOS in the same team.

Jeroen Leenarts:

And between getting started with iOS development and landing the job at BBC, was it like a period that you did a lot of different projects? Or was it like longer engagements with a single employer or client?

Tim Condon:

No, it was lots of different projects. So most of the projects, my job before the PPC work kind of one to two months, with various different tech stacks. Some of them were a few months longer, but nothing more than like six months. So I moved around a lot.

Jeroen Leenarts:

So were you like freelancing at the time or working in an agency?

Tim Condon:

I was working for a consultancy company. Yeah. So consultancy?

Jeroen Leenarts:

Yeah. And so yeah, because consultancy, it really means very different things depending on which country, you ask the person also how they interpret the consulting, because it sounds that in your case, you were consulting by moving from project to project on premises with clients.

Tim Condon:

Yeah, so we'd go onto client sites, we'd work with their client teams, help them get set up, help them solve a particular problem, and then leave them to it. And sometimes go back as well if needed.

Jeroen Leenarts:

So And what made you decide from this well, wide range of different projects to choose to work at BBC, the bridge broadcasting comm. Company, most likely, that was more like a big code base. And not that many code bases, probably the most time you worked on a single app, what made you choose to work at the BBC.

Tim Condon:

The BBC is obviously a very prestigious Corporation. And it was a fantastic chance to a work on apps that millions of people use. So I mean, I think we had say, 35 million downloads on some of our apps. So and it was really cool to be able to like, go onto the train or any public transport and just see people using the apps that you've you're writing there and then. So that was a really unique opportunity. And also, it was an opportunity to kind of go and do that software development has kind of a different side. So when you're doing consultancy stuff or agency work, you tend to write very small projects that you'll never see again, and don't have to maintain. And therefore you don't write tests, you don't have to worry about dealing with legacy code bases or maintainability. So going to the BBC, it was a great opportunity to learn how to work with an existing code base that had to be maintained for years. And that 10s of developers used. So it's a very different experience and a really kind of unique opportunity.

Jeroen Leenarts:

And I are at liberty to share what kinds of what specific apps you've worked on, in your time at the BBC.

Tim Condon:

Yeah, so I worked on the mobile platform team. So we built kind of all of the common libraries that were used at the time. So the main one was the video player that's used across all the media player that's used across more was used across all of the apps. So if you're playing back video or audio on any BBC app, it will be the SMP, which is the standard media player. And I also worked on kind of download size and DRM for downloading videos. We had some stats libraries, I manage CI for the BBC as well. And I did some kind of placements on iPlayer as well.

Jeroen Leenarts:

And then you mentioned that it code bases that had like a lifespan of multiple years. What were some of the biggest challenges that you that you had to deal with in that code?

Tim Condon:

And I think some of the biggest challenges are a supporting back very far. iOS versions. And so when I left, I think iOS 12 was just coming out. So just come out. And we were supporting back to iOS seven. I think.

Jeroen Leenarts:

That's, that's quite a while back. Yeah.

Tim Condon:

And because we had many, like, hundreds of 1000s of users on those older iOS versions, so kind of working around those issues was quite a unique challenge. Working on a code base that I think on my particular team, we had 10 developers. And then if you're working on any of the main apps as well, they had 15 developers as well. So you could be working on a code base at 20 people a touching? Yeah. So learning to kind of modularize your code and split that up and make it testable as well. That was a really unique challenge.

Jeroen Leenarts:

Okay. And then at some point, you decided to leave the BBC. what's your what's that already, when you were working with server side Swift? Or was the choice that you made? afterwards? So what's the process there?

Tim Condon:

Yes. So at my time at the BBC, I want to join the BBC, we're all Objective C, I think swift did only just come out. And it was the Swift ones for two days. And that those are the days? Yeah, I remember doing the migrating one of our libraries. So that was fun.

Jeroen Leenarts:

Why is it everybody remembers the migrating between swift first, it's,

Tim Condon:

yeah, it's got a lot better lead recently, which is really good. So at the time, I'm trying to when this was I think this is end of 2014 or so 2014 20, there must be in 2015. I was that true? Maybe on 2016, actually, because I think Swift is only open source in 2016. So kind of around the Swift three days, I was doing Objective C, Java, Kotlin, and swift at work. I also had some side projects, Python, and Ruby, and PHP. And I was writing my own website, doing mines website, as you do. And I decided that I wanted to kind of standardize on at least a few languages rather than 10s of languages. So I was looked at vapor because I was really enjoying swift at the time, I think the language is, has always been great. And is evolving very, very well. And so I started looking into vapor. Pretty much as soon as it came out. I think it was released in February, and I started looking into it in June. So I started putting a website over, I realized I needed a blogging platform. So a blogging engine for for vapor. I think it kind of took off from there. So I got heavily involved into vapor. I then started doing a lot of writing about vapor that then got me on to writing a book for robot lick. And then, basically, that kind of just kicked everything off. And so I started doing swift stuff on the side, doing kind of side projects and consultancy stuff. And then it got to the point where I was doing two jobs full time, and decided that it was a good opportunity to go to alone and see how it would work.

Jeroen Leenarts:

So you mentioned co edits alone, you're now freelancing, or

Tim Condon:

yes, so I, my time is split between working on vapor full time as kind of maintaining the framework itself. Working for Ray wonderlic.com. So I manage the server side swift team there. So we have a number of authors and tech editors, writing articles every month and doing video courses and writing the book. And then I have a consultancy company with a couple of people who work with me. And I've got about 15 clients are doing server side swift and paper hoops I help them either build complete apps or packages or just advise them.

Jeroen Leenarts:

So yeah, that's pretty much already described to people who don't know you who Tim sort of is online, at least. So just to recap that bit a little bit. Were you successful at consolidating on like less languages with everything that you were doing?

Tim Condon:

Yes, I now probably do 95%, Swift, and then 5% of the stuff on the side. So it's I think it's always good to keep your eye on other languages. I've always been very interested in Go. So I kind of do a few go projects. When I can. I have to do TypeScript or JavaScript for things like Visual Studio code execution, extensions, and some front end stuff as well. So whether it's vapor or clients doing kind of front end, websites, you're always gonna have to wait a bit JavaScript somewhere. Yeah. So

Jeroen Leenarts:

that's, that's like, it's like the duct tape of the internet. Right? Yeah. Yeah. So that's the other 5% of my day job for my job, maybe pocket lint, because you keep finding it everywhere. But and then if you if you look at your work for the vapor framework, just in a few words, for people who are not aware of what vapor is, can you like, describe it in like one or two sentences?

Tim Condon:

Yeah, sure. So vapor is a web framework for building applications and server applications and API's in Swift. So it's very similar to kind of Ruby on Rails, or in Ruby on Rails, or Django and Python, or Laravel, and PHP. So allows you to kind of build back end services and API's and web applications in Swift.

Jeroen Leenarts:

And what are the benefits of using favor over for instance, a Ruby on Rails, or Django or Laravel.

Tim Condon:

So there are a number of number of benefits depending on where you're coming from. Obviously, if you're an iOS developer, who knows Swift, you don't need to learn a lot another language, you can keep using the same language that you know and understand. So that's a huge benefit from anyone kind of coming from iOS needing either a back end service or a website's rubber web application. But swift also has a number of benefits over some of the more traditional languages. It's very performance, especially memory wise. So if you compare a PHP or JavaScript application to Swift, it's like, hundreds of times less amount of memory that you need. So a typical, like, hello, world vapor application is about six megabytes, kind of equivalent in JavaScript is kind of 500 megabytes. Because it needs it has to run a interpreter. And so like, you can fit a lot more into a single server. So there's massive performance benefits there as well. And it's also strongly typed and statically. Typed as well. So lots of errors that you get in other languages just aren't possible in Swift.

Jeroen Leenarts:

And I also think that with the new Neo networking, it's also the capabilities of, or at least the saturation that you can get on a single machine is way higher, because you can just do non blocking IO, right?

Tim Condon:

Yeah. So there are a number of frameworks out there that do non blocking IO across different languages. But it definitely enables you to handle a lot more concurrent requests than you would if you're blocking and vapor hasn't done. It has done very little kind of performance work so far. And there's a lot of low hanging fruit that we can look over the next kind of year or so as async await kind of settles. So yeah, so there's a lot of scope for growth there.

Jeroen Leenarts:

So there's, there's plenty of stuff for you to do there. But one of the feedbacks that I hear from some people, especially if they're coming from, from a Python backer background, they say like, oh, yeah, but with Django, I can just do this. And then within like, I don't know, some amount of time. I've got a whole list of things up and running. And there's no other framework that can do that for me. So how does Facebook compare at that? That's 10, the challenge that he posed. So yeah, how would you respond to that?

Tim Condon:

I would say that, it's definitely legitimate comments. Python, and Django and other languages and frameworks are a lot more established and a lot more mature, because they've been around for far long, Josue, it's going to be that case for a while. I would say that for 99% of developers out there now that they're the ecosystem in Swift and vapor is big enough that it can do everything you need to do. There are very few occasions where I find I have to write a custom framework or a custom library to interface with some API. So that's, that's really good to see. As hasn't always been the case. Certainly in the early days, you'd find you're writing a lot of stuff yourself from custom. Yeah. So and the tooling will get better as time goes on.

Jeroen Leenarts:

Because I think that preferred tool slash IDE for favor is spacial studio based right Visual Studio Code Xamarin,

Tim Condon:

almost, I think most people tend to develop an Xcode and then deploy to annex. B, you can use Visual Studio code or atom or anything that uses the language server protocol. So one of my other hats is working for the swift server workgroup. So we're kind of steering committee comprised of people from Apple and vapor and Amazon and MongoDB. And independent people with the kind of our goal and remit is to basically push swift on the server.

Jeroen Leenarts:

So that is one of the effects of this workgroup also that says now that Amazon has released a sort of like a swift runtime for the lambda stack, or,

Tim Condon:

yep, so we work closely with the Amazon people, our team to do that. And we're also responsible for some of the changes in Swift package manager or Swift itself. And we have really good connections with the Swift team. So if we need things kind of changing or implementing, we can kind of push that push for that work to be done. So our focus this year is on tooling, and async await, obviously. So async await is now out and in use. So at the moment, we're looking at tooling. So that could be improved Visual Studio Code extension, for kind of a single installation that makes swift work and work seamlessly. Or it could be improving kind of any other tooling around working from the command line or installing swift on different systems and

Jeroen Leenarts:

stuff. Yeah, I saw just before we really wrap up the topic of, of vapor, because that's, of course, a big part of your your work, but also want to talk about other things. What is the easiest way, easiest way for people to get a look at fiber and to just get started with the first bits of code in that framework?

Tim Condon:

These ways to just use it, if you go to docstoc, vapor dot codes. There's like a Getting Started page and you can build your own Hello World app. And there are also a number of really good kind of getting started tutorials out there on number of different websites, that will kind of help you build your first vapor application.

Jeroen Leenarts:

And what is right now the easiest way to get something that you created with Viper locally on some server running publicly,

Tim Condon:

the easiest way probably is to deploy it to Heroku. That has the kind of the single click deployment that most people look for. And it has a really good free tier as well. So you can kind of deploy simple applications without having to spend anything. So that's the best way I'd say.

Jeroen Leenarts:

And if and the next thing beside besides that, is it like a VPC or what's the, if you want to have permanent uptime.

Tim Condon:

So Heroku will give you permanent uptime, you can also spend a bit of money on Heroku, I think it's like $7 a month to get like a dedicated dyno that doesn't turn itself off, if you don't have any activity. After that, I mean, kind of your world's your oyster, you can go down the virtual server if you want, or I think kind of the industry is tending to move away from that. So I think if you kind of outgrow Heroku, you should then look into doing things on AWS or GCP. And there are a number of good ways of hosting going as hundreds of ways of hosting application for an easy way forward.

Jeroen Leenarts:

And is the is the experience for four or five per developers that develop it once and they can pretty much run it anywhere, provided it's like a Unix based operating system.

Tim Condon:

It's usually here so as long as they use the open source, Swift Foundation, don't use any Apple frameworks that aren't available on Linux things generally tend to compile. The kind of best practice way if you were of deploying is to just build a Docker container. Because then you know, it works. And you just put that wherever you're hosting your Docker containers.

Jeroen Leenarts:

Okay. And are there still any sort of like swift based similar type frameworks available? Sort of like competitors still because I, you know, that there were like three or four, but they seem to all have, like, folded up into two paper, at least paper is, is I think the biggest right now by a large margin.

Tim Condon:

Yeah, I think the paper is kind of probably, well, paper is the biggest, I'd say. And the most popular because it has the most abuses. But there are a number of other frameworks out there. So there's one called smoke, which is Amazon's framework. They use that for pairing some stuff in Amazon Prime video. So if you've ever watched anything on Amazon Prime video, it's gone through swift on server, which is pretty cool. There's also one called hummingbird, which is a kind of a newer one that's kind of a stripped down framework. So it's kind of very lightweight. It's similar to vapor. But vapor tends to bring in a lot of stuff that you might need, or it's Hummingbird tends to, you have to kind of opt in to everything. And then we're starting to see others as well pop up. Now the async await has released a few few new ones as well. I think this competition is great. And there are a few more that spring up and be interesting to see how they go.

Jeroen Leenarts:

Wanting to consolidate on a single language then makes you opt for swift and then sort of like ending up using vapor. And then because you were not like the creator of vapor right

Tim Condon:

now. Tamar Nelson was the original creator, and then another guy called Logan bright joint pretty soon after. But I've known Tanner and Logan for for years, basically, I think it's the after within the first year, I kind of met them. Yeah, yeah, I was not the original creator, but I kind of am now I'm one. I'm one of the core team members. So we have a core team of three, who are responsible for the framework.

Jeroen Leenarts:

And what's interesting is that you consolidate on single language, you end up with Viper, develop yourself in that community. And and all of a sudden, you're sort of like in touch with developers of Apple, chatting about the server implementations and stuff that you guys would wish that they would add to the language, which is quite significant, because that means that the impact is there in the work that you're doing. So just to just to switch up everything a little bit. What was the first computer that you got your hands on?

Tim Condon:

Oh, the first computer I got my hands on was a very old desktop, running Windows 3.1. I think my dad took it from his work when they no longer needed it. And this would have been back in 1995 or so.

Jeroen Leenarts:

That's like a 286 or a 386? Maybe?

Tim Condon:

Yeah, I can't remember the type of computer it was. But that was the first

Jeroen Leenarts:

computer I ever did it have a little turbo button?

Tim Condon:

It might one of the actually, I remember being completely blown away when you could create a folder that was called your name. I think that was mind blowing to me at the time.

Jeroen Leenarts:

So and what did you do with this machine? Was it like playing video games? Or? Yeah,

Tim Condon:

I think I played a lot of video games when I was younger, kind of original Age of Empires and Command and Conquer and stuff. And then I did a little bit of Visual Basic. And I was another like a programming for dummies book. I can't remember what language it might be might be Visual Basic. Doing some kind of stuff when I was about 1314. And I didn't really touch programming until I got to university.

Jeroen Leenarts:

Yeah, so but that that that was like just a touch point with computers just because they were fun. You could play games on them. But then later in your education, you got involved with computers again, but what was your trigger to get interested in pursuing something with computers?

Tim Condon:

I'd always done a lot of kind of engineering based stuff. So I was doing physics and maths for my kind of exams, and I was planning to go and do maths at university. I then realized I wasn't actually that good at maths.

Jeroen Leenarts:

That's a bit of a problem then.

Tim Condon:

Yeah. I mean, I was I was okay. But I wasn't great. I wasn't the kind of person who could then sit and build formula and proofs.

Jeroen Leenarts:

Yeah, no, no Beautiful Mind kinds of Yes.

Tim Condon:

That's not me. So I can have one of the courses I was looking at university was a computer science and maths course. I liked computers. I liked playing games, I'd always been kind of interested in it. So I thought why not give it a go? Because worst case, I can switch to maths halfway through because it was half in half. And then pick that and then realize actually, no, I'm just going to do straight computer science.

Jeroen Leenarts:

So that was like really like, sort of like an eye opener that says, hey, this is this is way more fun, maybe even then than just plain maths. And you just want to get good at it. Probably.

Tim Condon:

Yeah, building stuff like that. I think that's my kind of drive. Like I could have done any kind of engineering. I think I think I would have found more but I think computer engineers or computer science or software engineering. It gives you a kind of a Very quick feedback loop, which is kind of gratifying.

Jeroen Leenarts:

And you mentioned that before you had to choose your education, that you were already a little bit busy with engineering types of things. Well, is it like electronics or soldiering? Or what kinds of things?

Tim Condon:

Yes, I did. physics, maths and chemistry. And I really enjoyed electronics and building stuff and making robots and kind of doing the Lego programming robots, building circuit boards and designs and stuff. I never kind of anything too serious until I got to university. But I was kind of always a big driver of being able to make things and make lights turn on and

Jeroen Leenarts:

make things feel beep. Yeah, exactly. It's

Tim Condon:

kind of very, very rewarding. Yeah, that's, that's

Jeroen Leenarts:

immediate feedback there. And but what's interesting is that you mentioned that that you're like, more like, you grew an interest into software development, because you felt that you were more like the Creator kind of person. But you didn't do you did end up with like, some job in cybersecurity, and then pen testing, but pretty much breaking into things by breaking things. Right. So how does that work for you, then?

Tim Condon:

Well, then kind of cybersecurity stuff, and pentesting and reverse engineering, it's all still kind of creative. It's kind of finding ways, and it's like solving puzzles. And I love puzzles and escape rooms, and kind of those kind of things. So it's just like a professional puzzle solving. Basically, you find, find your weaknesses, and you find your ways in or you find your exploits and see if you can break things. But I think it's pentesting is interesting. Yeah, it's a lot of report writing there. I don't like writing reports. And CO reverse engineering stuff is very low level and nitty gritty. And some my colleagues were the kind of people who could spend hours just staring at assembly code, or either print outs and working out a way of breaking into something. I just don't have the patience for that. I think. I think I'm not that kind of, I'm not built that way.

Jeroen Leenarts:

Yeah, you've pretty much mentioned earlier that at some point, you were sort of like done with, with assembly or anything even lower than that.

Tim Condon:

Yeah. It's interesting to know, but not day to day.

Jeroen Leenarts:

Yeah. So yeah, we pretty much went from like, university days, all the way to what you're doing right now. Just workwise Is there anything that we've forgotten?

Tim Condon:

No, I don't think so.

Jeroen Leenarts:

Okay. Next that you do of course, and as Manchester you're on the Swift surfer bought or at least interest group and I other ventures, that you that people might get in touch with you or they're like conferences, or you read some books and you do article stuff for Ray when they got other things outlets that you that you do?

Tim Condon:

Yes. So I organize. I'm one of the CO organizers of the serverside dot swift conference. So obviously, that's been a hold because of the pandemic. But fingers crossed next year, we might have something put on them depending on how this new wave goes. So that's the other another venture. I also wrote a book for Reverend live.com, which is the server side swift vapor book. It's a hefty chunky reference manual to vapor.

Jeroen Leenarts:

Yes, it's significant enough that you can swat a fly with it multiple times over I think, I think I've seen a book.

Tim Condon:

It's like 35 chapters, 3637 chapters or something. Yeah, it's chunky if you have the hard copy. So that that took that takes up or took up a lot of time. And then outside of work, I enjoy playing games, video games. I'm currently getting into 3d printing. Because again, it's another way of making things with a short feedback loop. And I also enjoy doing growing stuff at home and doing gardening. So we built during lockdown, we built a huge Greenhouse on the side of the house, like four and a half meters tall. And I've seen

Jeroen Leenarts:

I've seen some pictures of UK supermarkets. So it was good. It was a good thing that you had like a greenhouse right? Yeah, it was good. Yeah, I did hear that. It was like a bit skewed in the reporting that was like the news agency state of course. Love to find that one shop with like completely empty shelves and with cardboard folks. product in there. So was it really that bad or was Okay, it was

Tim Condon:

never that bad. And there were definitely times when we went to the shops where there was a lot less choice than normal. But there was always plenty of food. Yeah,

Jeroen Leenarts:

yeah. So and with 3d printing out what are the typical kinds of things that you try and get out of the machine.

Tim Condon:

So I've made a lot of stuff for the greenhouse and gardening. So I printed some strawberry pins there wait like so when you grow strawberry plants. After they've finished fruiting, they like shoot off little runners, which are like little like stalks, that kind of quite long, they try and grow new plants from so to make them into plants, you kind of have to pin them into the ground. So custom printed some 3d printed strawberry pens, which is quite fun. I also built some custom brackets for guttering. Because of our greenhouses completely custom because we built it from scratch. There was no way of attaching the guttering to the greenhouse easily. So I built some custom brackets that would fit and offset it enough. So that was quite fun. I've also been doing modeling my 3d printer a lot as well. So it's currently in parts because I built like a integrated base that holds the spool and the filament sensors and stuff, and the power supply all in one. So I'm currently in the middle of building that

Jeroen Leenarts:

sounds like a hobby that's like, significant if you if you spend the time or money on it.

Tim Condon:

Yeah, you can definitely get into it. It's really fun just to be able to like, print things like you might find. So my girlfriend's a dentist, and she needed a custom mount for her camera to put a special filter on the end to take pictures. And I think you can buy them for like, two 300 pounds. So we've just designed one and printed one that was ready in a few hours later. Yeah, it's really cool thing to have.

Jeroen Leenarts:

And this This filament based structures that you that you print, how sturdy are they, in practice,

Tim Condon:

they're pretty sturdy. So it depends on the material that you choose. So if you go for pet G, which is kind of a, I can't remember what the actual name of it is, but it hardens it. It's It's strong, it will take a lot of weight. Like a significant amount of weight.

Jeroen Leenarts:

Yeah. So um, let's see, is there anything that we need to talk about? No, I think I think we're pretty much there. Right? Yeah, I think so. So how can people find you online? What's the easiest way?

Tim Condon:

The best way is probably Twitter. I'm 0x. Tim. And that says if you are in hex, it does confuse a lot of people. But yeah, I think that's my old assembly days coming into into force. Or you can I occasionally blog at TMC dot dev or you can find me on Discord and slack in many of the server side Swift or iOS workspaces. 0x, Tim, basic 0x 10 everywhere.

Jeroen Leenarts:

And why should people get started with server side Swift?

Tim Condon:

Because every app needs a back end. So you might as well write it in a language that you enjoy. And

Jeroen Leenarts:

Cool. Okay. Tim, I'll make sure to get all the links to the things that we talked about in the show notes. And, yeah, thanks for time. And I really enjoyed listening to you and what you've been doing with, with Swift and server side Swift. And hopefully, we'll get to meet at a conference in some capacity sometime next year. But who knows? And definitely once you get the server side swift conference going again, let me know. Because I'd definitely be interested in in hearing, how it is developing how it's happening. Really?

Tim Condon:

Cool. Yeah, I really hope that conferences start picking up again. As you mentioned, right at the start, we had swift leads last month, which was the first in person conference, since the pandemic and I don't think there's anything else planned at all apart from 360 IDEV next year in the States. There's no other conferences I know of yet. So hopefully they start popping back up again. Really nice to see people in person. Yeah. Thanks for having me on. It's been great.

Jeroen Leenarts:

Thanks for your time, Tim.

(Cont.) Tim Condon, Vapor Core Team Member and Swift Server Group Member.