Read the transcript
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.