AppForce1: news and info for iOS app developers

Jonny Klemmer, iOS developer at Nike

March 24, 2022 Jeroen Leenarts
AppForce1: news and info for iOS app developers
Jonny Klemmer, iOS developer at Nike
Show Notes Transcript Chapter Markers

Jonny has been developing iOS apps for over 8 year. Since 2019 it is at Nike as a Senior Software Engineer. Listen in on Jonny’s journey and what he wants to give back to the iOS development community.

You can find more info on Jonny on:

Dev Interrupted
What the smartest minds in engineering are thinking about, working on and investing in.

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

Please rate me on Apple Podcasts.

Send me feedback on SpeakPipe
Or contact me through twitter or Mastodon: @appforce1@mastodon.cloud

Buy me a Coffee or become a member of my podcast.

My book: Being a Lead Software Developer

Jeroen Leenarts:

Hi, and welcome to another special edition of my podcast. I'm sitting here with Johnny Clemmer. He is an iOS developer living in the United States. And he's been working on some interesting products over the years. And I think there's also some story to how he actually got into iOS development. So we'll dig into that and get to know Johnny a little bit better. So Johnny, how are you doing today?

Jonny Klemmer:

Good. Thank you so much. Thanks for having me on. Thanks, everyone, for tuning in.

Jeroen Leenarts:

So, Johnny, you live in the United States. But where? Exactly because it's not like on one of the coasts, right? Yeah.

Jonny Klemmer:

So I'm in Portland, Oregon, which is about a mile or sorry, an hour and a half off of the coast. So it's, you know, within short travel distance, but yeah, just just north of Portland. And that's also where my employer is based Nike.

Jeroen Leenarts:

Okay, so immediately mentioned when you're working, so that's Nike. Most people know Nike from their running shoes and some other related materials. So what what does Nike has to do with iOS apps?

Jonny Klemmer:

Yeah, certainly. So I'm sure many people are kind of familiar with for sure. They like commerce, you know, apparel side of Nike the products most people know and love or grew up wearing. And so we have an iOS component to kind of our online shopping. And there's also maybe people are familiar with the sneakers app. It's SN, Kr s. And that's an app that kind of has like some high heeled shoes and things like that. They also have a strong iOS presence. And then you have the area specifically that I work in, which is within the activity space. And there's two apps that I work on there. It's the Nike Run Club and the Nike Training Club apps. And those are kind of similar if people are familiar with like Apple fitness, things like that. Apps that really gives you access to a lot of like, super high end, fitness instructor content, as well as the running app allows you to kind of track runs, listened along to runs, you know, all sorts of cool features there.

Jeroen Leenarts:

And that's also immediate, something that you go in there. And that's the fitness aspect of the Nike brand. Because probably people familiar with iOS devices are familiar with Apple watches. And there's also some cross going over between Nike and Apple. Is that something that that is related to the work that you're doing?

Jonny Klemmer:

Yeah, definitely. So prior to me joining Nike was when that initial partnership happened, but it was right with the launch of the first Apple Watch that there was kind of some tight collaboration. And several of the developers who worked there at the time, who are co workers I've worked with over the years at Nike, flew down to Cupertino, and were, you know, kind of testing products and working on different things and testing code that we had been working on to see if it would run on these products ahead of launch. And then that kind of continued with the, you know, official Nike branded version of the Apple Watch. But as well, I would say for the running app, in particular, the kind of like running experience on the Apple Watch is a huge part of what we do. A lot of people who use our product, and specifically user product on watch, are really kind of in tuned and prefer that I would say that experience. So we definitely put a lot of work there. And that's, I think one of the the few cases where Watch app development has sort of kept up and stayed equally useful in that fitness and running space, in particular.

Jeroen Leenarts:

So I would just say, based on your experience with the Nike products, and the integration between the iOS platform and the Apple Watch platform, that anybody out there with access to the developer resources of Apple would be able to implement all the features that the Nike app is implementing. So there's no no additional API, no additional integration that that you're dealing with. That's a benefit for Nike.

Jonny Klemmer:

Yeah, yeah, true. Exactly. I can safely say that there's no secret frameworks or any kind of under the hood thing. So there's definitely secret sauce in our code, in terms of how we integrate with those, but I do think it is kind of exciting thing when you think of the fact that all of these frameworks that Apple provides things like HealthKit, and core location, that give you access to these low level sensors, you can leverage those and build just as cool, powerful, fun experiences.

Jeroen Leenarts:

Yeah. And the special thing that the Nike brands and the Nike product brings to the experience is like intellectual property that is like, specific to specifically to Nike based on the sensor data that you're able to get from all the sources that you have available if you're basically attached to somebody restore in somebody's pocket while running, right.

Jonny Klemmer:

Yeah, exactly. So it's It's a lot of that like kind of, as we collect that data for you off of those iOS sensors, and novel ways of presenting it to you and kind of sharing those insights back the obviously the user experience that we build around those. And then I would also say huge part of Nike is kind of like the supplemental content that we provide with runs. So specific to running, for example, we have a feature called Audio guided runs, which is kind of like a podcast, where you're listening to a coach as you're going through that run. And they're kind of guiding you and giving you feedback of how how you should adjust and how fast you should be running where your heart rate should be things like that. And so all those types of things, I think, can really help elevate the overall like offering of the product. Yeah,

Jeroen Leenarts:

yeah, it's an adaptive experience based on the current data that the sensors are receiving on your biometrics, right?

Jonny Klemmer:

The the audio guided rounds is primarily like a more of a pre recorded, I guess you would say thing, it's, it's more along the lines of like, the coach will tell you to slow down, or speed up or, you know, if you're working on a specific type of like, if it's a speed run audio guided run, it'll actually be guiding you of when to break when to pause and rest and then resume. And so it's it's much more like coaching you ahead of the responsive. But there is some interesting things in the work in that area. So yeah, definitely stay tuned for any Nike Run Club fans that might be tuning in.

Jeroen Leenarts:

Cool. Well, enough plugging of of Nike as a as a production branch we're working on, let's dive a little bit in, in your experience working in that area. Because you've been working at Nike for quite some time now. A bit of two years. And you've been doing other things as well, amongst them being a mobile leads, and iOS leads an iOS developer. So that's basically some career ladder being going on in your years as an iOS developer. Can you tell a little bit about that?

Jonny Klemmer:

Yeah, definitely. I think I, when I first joined kind of the industry, so to speak after school, it was definitely in that individual contributor, Junior software engineer role. And the first team I ended up on was iOS. And I would say there's constantly been a journey of still love for the code and the technical problems and the challenges there. But also love for working with fellow engineers and mentoring and growing the team and kind of doing some more of those architectural type things. And so when we talk about the difference between me as a maybe a developer or a senior iOS developer on the team, and then combined with my current role, which is a team lead, it's it's sort of been bouncing back and forth between those at the last company I was at, I also did a little bit of both, there was times where I was just a senior developer on the team. And then there was a time where I was a team lead. So I'm sure that trend will continue throughout the rest of my career, I definitely like to stay somewhat in touch with What's New in iOS. It's just too fun. And there's too many changes that come out every year.

Jeroen Leenarts:

So and how many years? Have you been working as a software developer by now?

Jonny Klemmer:

Yeah, it's it's been about seven going on eight years, specifically in iOS. And then previously, there was four years of non iOS development during college. And then years before that in high school, dabbling with whatever code I could get my hands on.

Jeroen Leenarts:

But could you say that you got involved with it and software development? And at some point made a conscious decision to go deeper into the iOS developer ecosystem? Or was it more serendipity that it was based on? That's where the job opportunities were, and you progressed from there?

Jonny Klemmer:

Yeah, it was, it was definitely serendipity. closer to that afternoon. So funnily enough, when I had graduated, one of my kind of like senior projects, or capstone projects, as part of university was an Android app, an Android app and a website. And so I actually was working more in that realm. And I'm now looking back super fortunate that I didn't stay on that track. As much as I love my friends who work on Android apps. I've just had a blast working in the iOS ecosystem. So yeah, it was that first job. It was a company called Meijer, which is a grocery store kind of like chain retailer, out in the Midwest of the United States. And at that company, there was a mobile platform specifically that worked on the iOS and Android apps. And it was just circumstance that they needed iOS developers. And so that's actually where I picked up the majority of those skills.

Jeroen Leenarts:

Okay, so and what did you What university did you attend?

Jonny Klemmer:

Yeah, so a university and Michigan also in the United States called Grand Valley State University. And I was there for about two and a half years and then before that, I was actually At a local community college, which, for anyone outside of the states who maybe doesn't know the differences between those two things, community college is typically more of like for a two year degree. And then universities are typically where you would earn four year degrees, but you can transfer a lot of the credits in the progress between the two. So

Jeroen Leenarts:

yeah, so you're basically able to take your credit points that you earned during community college into your university education and then got like a sort of a short track on the on the four year program.

Jonny Klemmer:

Exactly. Correct. Yeah.

Jeroen Leenarts:

That's that sounds like time well spent in community college, then?

Jonny Klemmer:

Certainly. So.

Jeroen Leenarts:

But what made you decide to go into software development? Because it seems that at least at university, you did a specific education, and you were able to transfer credit, so probably, your community college education before that was also related to it. So there must have been a reason that you decided to go in that direction, right? Yeah, definitely.

Jonny Klemmer:

I think, from a young age, I've always loved technology. So I think it started with a love for video games, like many children, and and that's a favorite pastime of mine that I'd never actually grew out of. But the specifically starting there was, you know, playing console games, and Super Nintendo, and then PC games. And I remember, like, loading floppy drives with, you know, random games and the process back then, for troubleshooting and installing certain games on your machine was definitely a little bit more involved than it is nowadays, where you can just download it off steam, or whatever the case might be. So it was it was definitely started there. And then I think it grew into, you know, chat rooms with friends and getting into, you know, hacking and trying to code and crash your friends, chat clients and do different things like that. And then that was also kind of the era of the beginning of social media, I guess, I would say. And so MySpace was another big one that was prevalent at the time and kind of early high school days, were creating your own custom MySpace layouts, doing a little HTML, CSS, things like that, that that definitely was like what really started sparking the interest of code and software development specifically. And I would say, my, my kind of interest and passion there was always in more of the front end portions of the experiences. So it's very much in the seeing my code turn into something kind of real that people can interact with and has like a visual component to it. That was always super interesting to me. And so as I was getting into that end of high school phase, where it's like time to decide, you know, should I go to university? What will I go to university for, I think software development was just kind of a natural fit. It seems like a great career, it was super high in demand. Fortunately, it still is, and, and that was kind of the entry into that pathway.

Jeroen Leenarts:

And so just to recap, it was video games, and then you got into this social media thing. So that's the tweaking of MySpace pages that got you look interested in the front end side of things and things sort of progressed from there. But then still playing video games and then doing an education and making career choice out of that. That's still a big leap, I guess. Because did you have any prior programming experience before you really got into a educational program on that? area? Yeah, definitely.

Jonny Klemmer:

So I think, and this is good advice for kind of anyone who's getting interested, because I can tell you that in university, if you jump in and just want to dabble, by taking that first kind of programming course, in university, it's a pretty steep cliff. And, and programming definitely is a big mindset shift. And so my experience outside of like some of the, you know, right click, inspect a webpage and grab out the HTML and tweak things until they break or work. That was the extent of my programming experience really early on. And then it was mostly in high school courses that my high school fortunately had a web design course. So that was what was starting to get the gears turning in terms of more of a like typical introduction to programming. And then I actually believe it was my senior year in high school that the final fourth year was able to take a course that was a C++ class, like an online course. And so that was the first option where it kind of transitioned from still just like web design and very HTML, CSS driven, not much JavaScript to a full programming we're learning about for loops and control statements and all these different things. That was the first time where I would say it made the shift into proper software development, and fortunately wasn't scared off by having to work See, but definitely didn't love it. And but that was enough to kind of make that leap to when I decided to go to university, take those programming courses and try and head down that track.

Jeroen Leenarts:

Yeah, because doing some web development and then diving off cliff into c plus that's, that's, that's a pretty steep learning curve that you're in for.

Jonny Klemmer:

It definitely was I for sure anyone I talked to who kind of is asking, like, what languages should I start in? Or what should I learn first, C++ is never on that list, I can say. And it is interesting, because when I first started in iOS development, at my first job, Objective C was still the only language that you could use. And so funnily enough, some of that C, kind of like skills that I had also learned a bit more through university that actually came in, like very much in handy in terms of recognizing some of those same elements, especially in the Wild West, early days, where, you know, we're doing doing Alec and D Alec and manual memory management and things like that.

Jeroen Leenarts:

Yeah, retainer release. It was called, I think, yeah, exactly. And there was no arc yet. Right. So.

Jonny Klemmer:

So yeah, it was definitely a huge shift in terms of where we are today with iOS development with Swift and ark, and all these, you know, kind of extra frameworks that are provided to abstract away from some of that low level code that might have been broke before.

Jeroen Leenarts:

So but if you started, like, about 10 years ago, with software development in iOS, you would have been getting started with iOS in the I think it was like iOS three, maybe four days, right? Yeah, I believe. So. That kind of sounds right. So that's, that's quite bright and early that you were at the table of iOS development. And so what was your experience like transitioning from Objective C, into into Swift, then,

Jonny Klemmer:

certainly. So I would say the Objective C transition to Swift really primarily came with that second job. And that was actually a job that I had taken at a company called Client Resources, Inc. But it was basically a dev shop. So the whole kind of purpose of that company was for clients who want us to do a mobile app, but didn't necessarily want to build it themselves, we would take that on and, you know, do a six month to one year engagement to build their mobile app. And they were actually wrapping up a mobile app that they had built with, I believe it was swift 1.1. So it was in the very early days as well of Swift. And I was frankly, shocked because the playing around that I have done with Swift at the time, and Xcode was pretty gnarly, you get a lot of source kick crashes, where none of your code will sort of be syntax highlighted, and your code completion will stop working, things like that, you have to restart Xcode. So it was kind of wild to me that they had managed to build a full production app and swift, but I had helped them get that done. And then it was kind of from then on out, Swift just kept getting better. So there was no reason to ever kind of go back. So a ton of my development all the way from Swift 1.1 was writing apps primarily in Swift, which I felt super fortunate for because as we kind of know, now that has dominated the industry, and that's the direction sort of most major companies and applications have went. And so it was really fun to get in on the ground floor. I think the one thing that struck me, it's an interesting kind of parallel to what we're going through today with UI kit and swift UI, I guess, I would say, and that's the shift from Objective C and having very like, verbose, long winded function names and variable names and things like that to Swift, which was, in the early days, still pretty verbose because people weren't used to writing it. But when you see Swift code now, it's much more succinct and shorter and simpler to kind of communicate your intent with less words on the screen. And I think that's a very interesting thing as we look at what's going on today with like UI Kit compared to Swift UI, and very much a similar idea of getting your code much more succinct and short and easier to kind of follow and grasp what you're intending it to do.

Jeroen Leenarts:

And I'm of the of the old type that still messes, the long winding message signatures that you were dealing with with Objective C and your code completion was very helpful back then. Very true. So but you lived through the Swift version transition, Stan, right. Did you have a lot of code conversions with the help of X codes, if you could call it that?

Jonny Klemmer:

A very well said very well said yes, the perk there, I suppose is we were a contracting company. So every time a new X, you know, a new iOS came out, which also came paired with a new Xcode and a new version of Swift. That meant that if they want their app to take any of those latest and greatest features, they had to come back and kind of hire us to do some of those migrations. So In hindsight, I guess it's fortunate that, you know, it's a great way to keep your business model flowing. But as a developer, it was definitely a painful process. And I'm very much thankful to where we are now with like swift four to five and things like that five to 5.5, that those have become much more painless. And largely, you only have to tweak one or two spots here code.

Jeroen Leenarts:

Yeah. And also the ABI stability is kind of helpful right now. So you got started with iOS development 10 years ago, basically, you've seen the entire development of the platform from the early days to where it is right now. You also mentioned swift UI already. Is swift UI, something that that you can actively engage with, on a day to day basis already in your job? Or is it something that is more like on the sideline? Keeping an eye on it? And at some point, you you want to commit on it? Or what's the situation for you?

Jonny Klemmer:

Sure, yeah. So swift UI was another one where in that the initial release, I would say that first year, it was out, it was just me purely dabbling on the side and trying to get some understanding of, you know, how might this be useful. And it felt like a really cool toy, but not quite ready to, you know, try and build entire apps in it. It was probably now I guess it would be about two years ago that we had moved to iOS 13 Plus, for our applications. And we were able to start leveraging it, I would say we kind of dipped our toes in the water with small views across the app, things like that, where I'd actually sped up development to use Swift UI. But the the big push was probably a little over a year ago, where we started rewriting our watch app. So we were converting from watch kit and watch iOS, you know, previous structures to Swift UI instead of watch kit. And I think that was a huge sort of win and boon. Most of our visual like development doesn't use storyboards. And so most developers weren't familiar with storyboards. And it was always kind of a painful process, when then they would have to transition into, you know, iOS development on the watch and leverage storyboards and some of those different watch components. And so yeah, we now I would say, are probably 70 to 80%, Swift UI on the watch. So in terms of our UI layer, so it's been a huge transition, kind of to go all in, in that regard, we're now iOS 14 Plus, so we get a lot more great swift UI things. So we're also leveraging it much heavier on the phone for kind of new things we're building. So I would say at this point, it is a you know, kinda like daily parts of our software development experience. And so I kind of eager to see that continue.

Jeroen Leenarts:

And with UI kit are like these defined patterns that that are known to to work well, on application of a certain size. That's not so much the case yet for swift UI, right?

Jonny Klemmer:

Yeah, definitely. It's still, in that regard, I think very much like up to the user to implement as they see fit and kind of to chain together knowledge of, you know, existing patterns, as well as new patterns. The approach I personally kind of recommend, and what we've used for many of our features and things we've built is, it's largely still kind of UI kid as a shell. A lot of the navigation and communication between views is still sort of what you would expect with a UI Kit app. But then when you get down into those, like composable, view layers, building reusable views are just building a screen out of several smaller views. That's really where I think swift UI shines and is a huge time saver. Obviously, all the benefits you can get of previews and things like that to kind of make that development cycle much faster. Also really pays off. So that's mainly where I would say leveraging, it makes no sense.

Jeroen Leenarts:

So So you would say, right, like right now, you basically have smaller few hierarchies with their own dedicated little swift UI environments that in themselves are like a small sandbox that that do one screen off user interface, and maybe a few things on that screen. But if it goes beyond that screen, you drop back to UI kits, make the transitions and if so happens to be another swift UI screen. That's then great. But it doesn't have to be. Yeah,

Jonny Klemmer:

exactly. The watch app is a little different, that does actually leverage some navigation links and things to navigate directly between swift UI views. But for the most part, yeah, there's a good amount of UI hosting view controllers being leveraged to sort of wrap those swift UI views and then still be able to navigate in a, you know, classic UI kid sense.

Jeroen Leenarts:

But would you say that watch development has moved a lot closer to iPhone development in regards that you could now make a more full fledged app On the watch within the resource limitations that you still have, because it's a small device.

Jonny Klemmer:

Yeah, that's a really interesting thing, kind of both from the UI aspect, I think there is some interesting areas to consider with being able to reuse some view elements. I would say for the most part, we haven't reached that point. However, there is some interesting things we leverage when it comes to things like theming. And, you know, styling of fonts and colors, I think that's an interesting area where it's kind of, we're exploring that place and trying to see, you know, how much of that we can leverage and share between the two. But when you talk also about like the power of the platform, I think, as the watch, like hardware has gotten more advanced over the years, we've gotten cellular support, you know, better networking and connectivity, that's a huge unlock in terms of some of the features, were able to just reuse that lower level capability of like syncing your run, for example, now can go directly from your wrist up to the platform, rather than requiring, you know, routing through a phone app and your phone needing to be nearby in the event, say you were running without it, or just using the watch directly without a phone app.

Jeroen Leenarts:

So um, there's a lot of new things that you're that you're working on in your day to day job in regards to the Apple ecosystem, but but how do you stay up to date on all these things? Are there specific things that you do or specific events that you go to resources that you keep up with? What's your, what's your process

Jonny Klemmer:

there? Yeah, great question. I think the Twitter is a great recommendation. So I think curating a good sort of like following of people who are also actively curious and iOS developers themselves, that's a really powerful way I find to get those snippets as they come out through the year. Obviously, dub, dub DC is a great time to get the What's New from Apple, although I would also recommend people to leverage all the like supplementary content around dub dub DC. So you know, people who are doing awesome podcasts and talking about what just came out, people like Paul Hudson, and some Dell who do you know, great blog write ups of all the new features in each iOS version, or, you know, in different framework. So I think that's primarily like the sources of my information is doing some of those, those reading elements. And then every once in a while, there's something like combined, which is a very big shift in terms of kind of how maybe you're used to working or how, you know, things like async programming used to work. And then that's an area where I might dabble into more like formal, like, textbooks and things like that, to get a little deeper knowledge. Yes.

Jeroen Leenarts:

So and, of course, we're still getting out of the whole COVID thing from the past two years. But were you going to meetups or different things that will like in person in your area?

Jonny Klemmer:

Yeah, that's a great call out to I actually, for a while I lived in Omaha, Nebraska, which is smack dab in the middle of the US. And I helped run an iOS Meetup group there. So that was something where we would organize every month and give talks about various topics and iOS and kind of share ideas and network and collaborate. So I'm a huge supporter and fan of meetups. I had attended some of them out here. But then as you mentioned, shortly thereafter, they kind of all shut down and went remote. I have found some of our remote iOS meetups, like the iOS dev Happy Hour is a really great experience to not so much maybe learn new technology, but really to just like connect with fellow iOS developers and give some of that like, networking and personable experience that you know, you lose when you don't have those physical in person meetups. Otherwise,

Jeroen Leenarts:

yeah, that's that's what I like, in our area with with meetups that I go to as well. It's like, if you keep on going to the same meetup, there's like this core group of people that seems to go frequently. And it's more or less like it's sort of like networking, but it also becomes somewhat eye catching up with acquaintances kind of thing. Yeah, and because you have prior relationship with us people you can immediately dive on on topic or off topic doesn't matter really, but just have like a conversation with some like minded people. So are you looking forward to going back to in person things again, what's the what's the status of things where you're living?

Jonny Klemmer:

Certainly. Yeah, I think it's kind of a mix still right now. So most are still I would say remote but it's like slowly here and there. You'll see an in person event. So I would, hopefully like fingers crossed. This year we'll do we'll see that kind of return back to fully in person meetups, but it definitely is in in something I'm eager to get get back to doing in person, I think there is a form of kind of the getting that core group and that core community, I like to think of it as it's sort of like work friends without the stress of work. Where you know, you you have these people that you can talk to about your career and things that you work on, for a living without necessarily, you know, that same mindset of like talking about work outside of work. And so I think that's a really exciting way to talk about side projects and, you know, ideas you had, and bounce them off of some other people who are in your same industry. So some of that still exists in that virtual forum. But I think when you get in person, those relationships are much deeper and easier to build.

Jeroen Leenarts:

Yeah, that's true. So you mentioned there already that in person meetups are something that you're looking at a little bit about, what about conferences? And is that something that you've been actively participating in? Before? COVID? Or is it something that you are looking into? Or what's your, what's your view on that?

Jonny Klemmer:

Yeah, definitely. I love conferences, if I could attend more I would. And hopefully, soon, we'll resume. I haven't attended too many of the digital conferences outside of dub dub DC. Some of the the new structure they have for labs, I think, is really awesome. And I'm kind of eager to see, it seems like they're breaking that out of the typical once a year format. I think that's really exciting. I have attended dub dub DC, once I was fortunate enough to get at the company I was working for to pay for that ticket and flight and hotel, which I think is a huge barrier of entry for most people who maybe aren't familiar, a little bit the cost in San Francisco, at where it was at the time. It's still pretty expensive, though. And I think another great iOS kind of DEV conference that I had attended is 360 ai Dev, which is more focused on independent developers who are, you know, building their own apps. And I think that's a really interesting conference, I actually found the talks, they're much more engaging and interesting than the talks at dub dub, DC, sorry, Apple. But I think there's, there's something really interesting to someone who is doing what you do and building their own app, and they're the whole kind of business so to speak, you can get a lot more insight from them, then in terms of kind of, like what these features and technologies will actually mean for you at a more practical level, than I think when you go to a dub dub DC, it's much more kind of just building hype and kind of introducing these new frameworks and the, you know, world of possibility that awaits you and using them. So it's it's definitely kind of two different sides of the same coin. But I would definitely recommend, like dub, dub DC isn't the only conference and there's really great conferences, outside of kind of that once a year mindset.

Jeroen Leenarts:

Yeah, yeah, that's, that's, that's totally true. Because I'm, I'm a fan of conferences as well. And I'm like, yeah, very eager to get back in person again, this year. And by the looks of things, I'll be going to 360 I def this year, we're looking forward to that one. The only drawback case is that I have to find some people to celebrate my birthday with then. Because the few days before that, it's like at the end of August, I think that yeah, usually in the fall, and the 25th, this is my birthday. So I'd be traveling or I'll be in the US. But there's a big difference. Indeed, as you mentioned, between the corporate company events, and the more grassroots people organize something because they either like enjoying organizing a conference or it's it's a dedicated company that organized these conferences as a business model. That's three totally different types of conference that you end up with, and also a totally different experience for you as an attendee, and also for Speaker If you so happen to be one of these speakers at a conference. But getting back in person, is that something that that you're looking forward to? Or do you still have some apprehension on that or what's your take on that?

Jonny Klemmer:

Yeah, I think it's, it's something I'm looking forward to I think the main thing, it kind of goes back to that same element. Having done zoom calls at work for two and change years, the the concept of like giving a zoom talk to people all across the world. It's it's a hard toss up. I really love the aspect of like, people are able to join without all those expenses of travel and commuting, but there really isn't an equal comparison at least yet. Have that in person kind of energy that you get from a lot audience and giving, giving and receiving a talk from kind of a live speaker. And so I think that's a huge portion of that. And then it kind of relates exactly to what we were saying with the meetup just in a more compact form. So those relationships that form over months of attending a meetup once a month, or twice a month, things like that, those get drastically reduced at conferences where you know, the people you meet at the end of the conference, or if you know, you grab lunch or dinner together with a group of people, you're able to form some really awesome bonds and get some great information about people who are, you know, doing different things around the iOS, that sort of like ecosystem and can share ideas and make those connections. And I know, there's been several people I've met at conferences years ago, when, for example, 360 I dev before I even lived out there, or some people who are attending all conference over in California outside of dub dub DC, and then met up with them again, years later, because I happen to move to now Portland area where they happen to live. So I think there's a really fun aspect of just making those connections in person at conferences that I've never found is quite the same for zoom.

Jeroen Leenarts:

So you mentioned something there at? Are you planning on entering some CFPs as well this year? I'm

Jonny Klemmer:

not sure I did see that the 360 IDEV CFPs are open. I actually did I believe it was 2017. If someone decides to Google hunt down my name, they can find the talk it is online. I apologize in advance because it's me evangelizing storyboards, Interface Builder,

Jeroen Leenarts:

which was a thing back then. Yeah,

Jonny Klemmer:

exactly. As we know, it was, you know, short lived thereafter. But I think the the interesting thing, in that talk that I had given was more so based around the idea of a lot of the complaints I'd commonly heard about storyboards in interface builder, I felt were a little unfair or targeted, or there wasn't as much effort put into working around the issues and the constraints that might have. So I think there's, there's definitely probably more talks in that vein, but with some of our new technologies, so TBD if I'll decide to actually submit a talk for 360 IDEV. But for anyone else, or yourself, who will be attending if you decide to, I would highly recommend it, I think their their process was really great the way they kind of like help speakers prepare and get organized and actually perform during the event. It's a really awesome experience.

Jeroen Leenarts:

If I would be organizing a conference, I don't think I would mind having you as a speaker on the topic of Swift UI or watch a kid for example. That's

Jonny Klemmer:

true. That's true, maybe to prove it,

Jeroen Leenarts:

or maybe the integration between iOS and watch kit, which is on a bit more higher level than just calling the same. Jason REST service. Right. So I think you have some material there that might lead you into a talk if I don't, like, yeah, shouldn't push you. Anyway, appreciate it. So um, so you mentioned that you've done talks, you went to meetups, you, you like going to in person events, you've been doing iOS development for 10 years, went to university went to community college, called started with software development related activities because of computer games, which computer game

Jonny Klemmer:

so lately, it's almost all action role playing games. So I would say early on like Diablo Diablo two, those are some huge influences. And so now latest Path of Exile is kind of the modern version of that, that I still tend to play a lot, which if anyone ever looked, you know, looks at various screenshots of Path of Exile, they'll totally click why you're probably a software developer, because it's a web of spreadsheets and, you know, complex, you know, and third party programs that are developed by the community to help understand game mechanics. So it's, yeah, that's an interesting place.

Jeroen Leenarts:

I tried my hands at at EVE Online at some point. And in that game, spreadsheets in space is very good salesman. Yeah, comments on what you're actually doing. And the same holds with if you play a game like World of Warcraft, which is a full on RPG. Yeah. But it's yeah, it's just it's all a numbers game and just tweaking your character and getting the maximum stuff out of the gear. It can get complex quite quickly in those games. So yeah, is there anything that that you think that we forgot to talk about or something that we should mention before we start wrapping things up?

Jonny Klemmer:

Yeah, definitely. I think one of the the most recent things I would say, really, it kind of started maybe a year before the pandemic, so it's kind of been in the last three and a half years. Here's it was mentoring, I think that's an area that I really benefited from in my career. So we we talked about that first job that I had getting involved in iOS. But one of the things that I found the most beneficial, there was the team of really talented iOS developers that I was able to bug and ask, you know, silly questions, and how would you build this and is this you know, the right way to structure code and things like that, that allowed me to, I think, grow my career and grow my technical skills really fast. And so I think we're in a really interesting space right now, where there's so much resources out there in terms of learning iOS, more than there probably ever was, and more than probably a lot of universities offer. But there isn't a lot of like, support through that process and mentoring through that process. And so that's definitely been something that I've spent a year doing, giving one on one mentoring sessions, you know, week over week, and then also getting involved with some really cool programs that are doing kind of like iOS mentoring, like underdog devs. And Hong Kong Academy.

Jeroen Leenarts:

Okay, that's, that's a good one. Because biggest difference between a experienced software developer and an unexperienced software developer, in my mind is unexperienced software developer makes a mistake, and they think their career is over. And experience software developer makes a mistake. And then, like, the day after they start laughing with her peers, because hey, you remember that last time, like last year, when we did pretty much the same thing? Yeah, that's the big thing. You know, you can learn about the nuts and bolts with all these online resources. But getting to grips with how things fit together, how you can work on a, on a problem really, with a team with a couple of peers to really do you know, disputa work and get going and bring everything back together again, and working together as a team. That's, that's probably I think that's even harder than just the nuts and bolts of software development. But you mentioned underdog defs. There, I think it's he's called Rick, I think he reached out to me recently, yeah. Should should follow up on him as well, because he's doing on the dock staff, actually, yeah, he's running it. Yeah. Um, but do you say that you actually make yourself available for for mentoring of different people through an a doc test, but also maybe through iOS? Deaf? Happy Hour?

Jonny Klemmer:

Yeah, yep. So I've met several people through iOS deaf, happy hour, some that I'm still mentoring and some that I've mentored in the past. And done one on one mentoring. That way, it sort of shifted now I would say, I usually find that my Saturday gets booked. And I'm not able to attend some of these latest iOS dev happy hours, but several more through Twitter that I've kind of connected with, I think I'm trying to open that process up once again, to kind of get some new people probably in the next month or two here. And so a Yeah, it's definitely something that I'm always kind of eager to do, I don't charge it's a free service kind of thing, just to give back to the community when I do one on one mentoring, so I think that's a really interesting place for me. And then I also kind of supplement some of that, where there's more of these like group sessions or more organizational learning opportunities that I can kind of give my time to.

Jeroen Leenarts:

And in mentoring, what are some of the things that you notice with people that you are trying to support artists, some common threads going on that that you see, every time again, that that people are running into? Or what's it like? Because it seems that you've, as a mentor have already touched quite a number of people already. So anything you can tell him that?

Jonny Klemmer:

Yeah, I think the one kind of key area that I really like to stress to people is sort of like a positive reinforcement and a very, like constructive learning space. I think, in general, it's very easy, especially when you're learning technology and software development, new programming languages, iOS, there's a lot of like, weird, tricky, hard things to grasp and get your head around. And it's really easy to get into a negative kind of mental space of like, I'm not good enough. And I'm not going to be able to learn this and I'm not going to be able to succeed. And even if I do learn iOS, I'm not going to be able to learn data structures and algorithms and get a job at Facebook. And so there's a lot of like echo chamber around that that I think scares people off or gets people to stop through that kind of journey too soon. And so, a lot of I think what I try and work on with Mentees is mostly in recognizing and celebrating those wins along the way and getting people to look back at where they came from and their journey and like, the drastic amount that they have learned because I think it's very easy to just look, oh, there's a new thing I don't know. And I'm not good enough because of that. So that's definitely I think a huge part, I think self taught iOS development has never been in a better place. I think there's never been more companies, hiring, self taught developers instead of requiring, you know, four year degrees from the University, things like that. So it's a really exciting time. And I think it's, it is important as ever, to just get people started down that path, and then not dropping out. Because they're sort of like feeling inadequate.

Jeroen Leenarts:

So just to recap it, somebody's getting started with software development in any which way or trying to develop their career as software developer. Of course, a hard part of it is getting to know the nuts and bolts, the basics of programming really. But then there's also the the mindset that you need to develop as a software developer that you're constantly learning really. But that's the, but that a large part of learning is actually failing, and that it doesn't reflect back on you negatively. Because the quickest way to learn is to set yourself up for continuous small failures because you then create learning opportunities for yourself. But it's not failing that you're trying to do, it's actually trying to get yourself into situations that you can see how things are actually working. And based on that understanding, move forward again, so that there's actually some process to the madness that you might feel that you're into when you are trying to learn something new, and you're feeling overwhelmed with all the stuff going wrong and stuff not compiling even and stuff crashing with Xcode. So it's that hard to get people to see that they're actually in this process, instead of just like, failing.

Jonny Klemmer:

I think sometimes it definitely depends on the circumstance, I think that's really where one on one mentoring can shine, though. Because when you're going through a blog or video tutorial, or something like that, where there isn't a live component to it, it's very easy to say like, oh, I followed what I saw there, and it doesn't work on my machine. And so it's my fault. And it's my issue and things like that. And when you're maybe working with another developer, they're like, oh, they actually wrote that in Xcode 12. And you need to tweak this thing over here. And then an Xcode 13, your entire app works. And I think that's a wild thing, where people look at that. And they're like, oh, wait, so I actually like, had 99% of it done. And I just missed that one crucial piece. And I think that never goes away in programming, right? You touched on that, like that's as a professional, you're going to be doing those same exact things and finding those same exact issues. And so it's more about celebrating the fact that you did that 99%, then it is, you know, really lambasting yourself over that 1% that you happen to mess up.

Jeroen Leenarts:

Yeah, that's true, especially with mentoring. You don't want to do much more than getting people unstuck in their learning process, because the more they can do on their own without being frustrated, the more they are able to achieve, I think, and is that getting people unstuck is, is quite important. And also, it really reflects on the speed of progress really in the field that we're in that some article that would be like, totally faded, like three months ago, there could be things in there right now, that aren't very convenient to somebody totally new to the field. So basically, people looking for some mentorship, where should they go online? Where can they find some some guidance on that? Because I know under doc defs they're really tailored to people who have been in the prison system in the US, I think so that's reintegrating into a normal civilian life again, after being locked up. That's very specific. But are there other avenues that people who don't fit in that profile? Have some opportunities to get some mentorship?

Jonny Klemmer:

Yeah, totally. So a slight plug for underdog devs. They do primarily focus on that formerly incarcerated group, but I think they they also have an avenue that maybe is a little lesser well known of just people who are sort of, you know, minorities, you know, less privileged people, people who come from financial hardships. So there is a bit wider lens, I guess you would say in terms of the groups that they help connect with mentors. So I think they're really great for a much wider group of people than just if you have been formerly incarcerated in the US. Then an extension of that, I would say is finding those online and or meetup groups locally around you, I think that's the most like prevalent to everyone, there's probably an iOS group in your area or in your greater area, or nearby city that you could join remotely. And then, if not, there's those giant groups like iOS dev Happy Hour, which is a great space to kind of network and build community, then it becomes much more difficult to find a mentor, frankly. And I think that's something that I try and promote, like, actively, like when I am, you know, accepting new mentees, so to speak, getting the word out there is type deal, because I think that's a really great way to do it. But also just reaching out to people, a lot of times, you'll find really great experiences, if you you know, connect with someone or see someone post something relevant to an area you're trying to learn just reaching out to them and asking for advice. I've personally found really helpful to get feedback from people. By and large, the iOS community is really a super friendly, great group of people. And so I think it there's a lot of ability to kind of connect amongst there. And then there's also options like boot camps, I kind of mentioned Hongkou Academy, that's something I'm going to be helping out with here starting in early March. And that's a great program that kind of helps take people more holistically from you know, where they've been and tutorial on blog post purgatory to a fully fledged, I'm ready for the interview process and an iOS career. And so I think they're really great group. Boot Camps, obviously come with kind of a financial component. But if that's something you're able to do, then that can be a really great option to go as well, to get that mentoring.

Jeroen Leenarts:

Yeah, because making the leap from tutorials to being like something that resembles a software developer, there's like a big, big gaping hole in the learning material still nowadays. So to just help people across to basically be able to take the nuts and bolts and and put something together with those nuts and bolts, that that's a very worthwhile endeavor, because you really enable people to basically better their life and, and get success with their careers as a software developer. I think we pretty much covered that topic that you mentioned, like 10 minutes ago. So again, going to ask the question, I think we're about there, right, Johnny, that we covered everything that we wanted to talk about, is there anything that we've forgot to mention?

Jonny Klemmer:

No, I don't believe so. I think that the main thing to everyone who tuned in, and as kind of watching, thank you so much. And also like continue that journey, you know, kind of continue learning iOS, hopefully, we'll all struggle through the same problems of new frameworks and bugs and, you know, quirks in the iOS ecosystem in the future. But definitely feel free to reach out as I kind of mentioned, I'm pretty active on Twitter, that's easiest place to find me. It's just my name, John and climber. And I think that's a great way I'm always happy on there. If someone wants to tag me in something a question they have, I'll do my best to, to answer and help.

Jeroen Leenarts:

Because people on Twitter, especially in the iOS developer ecosystem, they quite a lot of them have opened DM for a reason. So they really like getting that little question in there, in a Twitter client, so that they can answer or help somebody or at least point somebody to something that will help them along. So, Johnny, thanks for your time, and I really hope to bump to you in short, I really hope to bump into you in Denver, maybe this year. Who knows, maybe you'll submit a CFP after all.

Jonny Klemmer:

Same I appreciate that. That would be great.

(Cont.) Jonny Klemmer, iOS developer at Nike