All of our interviews for iOS engineers are done in Swift. It's growing, it's adoption is picking up as well. It's made its way to the big four apps that we support, namely Facebook, Instagram, Messenger, and WhatsApp. The main apps which have a legacy code base that exists since before the language even existed they're adopting more and more Swift. My name is Krys. I work at Meta, in the New York office and I've been working on Instagram for the last four years, half of those as an engineer and half as an engineering manager. The first year or so of Swift, it was a very new language and it was an unstable language. All the big companies were scared to touch it. It was something where you knew things can break. You knew they would make updates to the language where it would break everything you've written in it, and that's just not something we can do at a big company. Then Swift at some point reached what they call ABI stability, which is when you have this guarantee that even as the language evolves, old usages of the language won't break. As soon as that happened, we kicked off this project where we had some very amazing engineers get together and look at the code base and assess the language and see the risks. We took all that context together and made a decision of, are we ready or not for Instagram in the code base. We decided, let's give Swift a shot in Instagram, let's make that work. Then we spent several months making it possible so that we got to a state where product engineers can really build products features in Swift. I'm happy to say that a lot of the most recent product development, a good chunk of it has been in Swift. If you think of code as a tree, the most core areas of that tree, like the trunk, is going to be a lot of the infrastructure, like what all the other code is depending on. Then as you go further down the tree, you're going to get closer and closer to the UI where the products really lives. The core aspects of that tree are going to be in lower-level languages because they're stable, people aren't touching them too much. The way we see the migration is we really want to enable the leafs of those nodes to be able to work in Swift. The question is, how much UI can be built in Swift? Once the UI is there, can we start building some of the dataflow in Swift? The big difference there between Swift and Objective-C is just how powerful the compiler is. There's certain rules you could enforce in Swift that you can't in Objective-C. One concept is this concept of knowability. If you have some object in memory, right now and older languages, you have no guarantee whether that object actually contains something or really is nothing. In modern languages like Swift and Colin, you can have the compiler say like this is guaranteed to be something or it's guaranteed to be maybe something. A lot of older languages just didn't have that concept, and so when you have those guarantees, you can write code in a way it's just safe to make certain assumptions. Then you could express things in just a much cleaner way with much less code. There is this new framework in Swift called Swift UI, very nicely named, which is, how Apple envisions the new way to build interfaces in the future. The whole framework and the APIs of the framework are designed in such a way where anyone can really come with very little experience and build really beautifully functioning apps. What Instagram and specifically my team really cares about is, can we get to a world where we can get products engineers to be able to design things using that framework. That framework is still in early phases of development, so if Swift is eight years old, Swift UI is only four years old. With every single iteration, it becomes more stable, easier to use. With every single year, we also assess it as a company of, is it ready for us to use in production? Can we start building Instagram features in this framework? I think everyone's really excited about it. It's a beautiful framework. It makes it very easy to express even the most complex layouts. I would love to see the world where these frameworks becomes so easy to use that you don't even need an engineer. You could just go to a designer and be like, hey, can you build this? The designer can just do it directly. I think that's the world that we all want to get to and the dream we want to get to. Swift UI is definitely a step closer to that world. It's really not about the company or the project or the technology. It's really about the people. You want to surround yourself with the most talented people you can. I really believe in the saying of you are the five people you spend the most time with, and you want to make sure that you're around those type of people. How would I connect that back to Swift? Again the people that have the most exciting and rewarding careers in Swift are those engineering archetypes that really love building products. Really love designing things, are working with designers, really like working with product. If that's your driving force. If you're a creator, a builder of things, then you'll find yourself surrounded by those type of people, and your career will thrive and grow. Learning Swift will position you to be around those builders. A lot of people that are passionate mobile experts love building these things and love iterating on that product.