Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Jeroen (00:01):
Let's see if I can do
this in a single take.
It's been a while and this isgoing to be episode 104.
So, hey there, ios developers,welcome back to AppForceOne.
My name is Jeroen Leenarts andif you've been following this
podcast for a while, you mighthave noticed it's been quite a
while.
Well, today I'm excited toshare something new with you.
(00:22):
You see, life has a funny wayof throwing curveballs at you.
Some of you might know that Iwas working at Stream for a
while doing developer relationswork, speaking at conferences
and helping build that community.
I was speaking at events likeNS Spain, swift, heroes,
techorama, appdevcon and 360iDev.
I was helping developersdiscover new tools, writing
(00:44):
content about developerexperience and, honestly, I love
that work.
Past tense.
You probably know where this isgoing, but, as many of you
probably already know, the techindustry can be very
unpredictable and sometimesthings just need to change and
when those things happen, theyaffect someone personally and it
can be jarring, but there's thething Sometimes these
(01:06):
curveballs lead you exactlywhere you need to be.
So here I am, back to what Ilove most building iOS apps.
I'm now working at DawnTechnology, which some of you
might know as eGenic, thecompany behind the AppDevCon
conference and, honestly, Icouldn't be happier about it.
There's something deeplysatisfying about writing Swift
code, solving complex problemsand creating something that real
(01:26):
people will use.
It's the kind of work that getsme excited to wake up in the
morning and start coding.
But here's the thing Today marksa significant shift for this
podcast.
Instead of the weekly developernews format, you might remember
, I'm pivoting AppForce One intosomething more personal, more
authentic and hopefully morevaluable to you as an iOS
developer.
I'm calling it the AppForce Oneinto something more personal,
more authentic and hopefullymore valuable to you as an iOS
developer.
(01:46):
I'm calling it the AppForce OneWork Log.
Here's what this means I'mgoing to share my journey as an
iOS developer in real time thewins, the struggles, the lessons
learned and the code thatactually works.
No fluff, no corporate speak,just honest
developer-to-developerconversations.
Why the change?
Well, after spending time indeveloper relations, I realized
(02:07):
something important.
While I loved helpingdevelopers discover new tools
and technologies, what I missedmost was the actual building,
the moment when your codefinally works after hours of
debugging, the satisfaction ofshipping something that real
people will use.
Let me give you a concreteexample.
Just like last week, I wasworking on some SwiftUI view
that needed to handle complexstate management.
I spent three hours trying toget the animations right,
(02:30):
debugging why my addStatevariables weren't updating
properly and figuring out how tomake the UI feel responsive.
When I finally got it working,that feeling of dissatisfaction
was incredible.
That's the kind of real, messydevelopment experience I want to
share with you, and I thinkthere's value in sharing that
journey with you.
Not the polished, perfectversion, but the messy, real
version of what it's like to bean iOS developer in 2025.
(02:53):
You know what I've noticed?
There's a gap in the podcastingspace.
We have plenty of shows aboutthe latest iOS news, about new
frameworks and libraries, aboutwhat Apple announced at WWDC,
but there aren't many shows thatdive deep into the day-to-day
reality of building iOS apps.
The debugging sessions thatwill take hours, the
architectural decisions thatkeep you up at night, the
moments when you realize you'vebeen approaching a problem
(03:14):
completely wrong that's whatthis work log is going to be.
It's going to be raw, honestand hopefully useful.
I'm not going to pretend I haveall the answers because I don't
.
Hopefully useful.
I'm not going to pretend I haveall the answers because I don't
.
I'm going to share my mistakes,my learning and the solutions I
discover along the way.
And here's the thing I thinkthis format will be more
valuable to you as listeners aswell.
Instead of hearing about toolsand technologies in the abstract
(03:38):
, you'll hear about them in thecontext of real projects, real
problems and real solutions sowhat you can expect.
So what will those work logepisodes be like?
I'm not entirely sure yet.
I do know I aim to do abi-weekly format, so every other
week you will get a new episode.
Why bi-weekly?
Because I want to give eachepisode the attention it
(04:00):
deserves and I want to make surethat the content is solid and
is actually based on completeproblems and things that I did.
I'm not going to rush contentjust to hit a weekly deadline.
I want each episode to bepacked with real value, not just
filler content.
Each episode will be around 25minutes.
That shows it specifically,because it's perfect for your
(04:20):
commute, your workout and thatcoffee break when you need a
mental rest from coding.
It's long enough to deep diveinto topics, but short enough
that you can listen to the wholething without feeling
overwhelmed.
Each episode will follow aconsistent format the week in
review what I actually worked onwhat shipped, what didn't.
I'll be honest about thechallenges, the wins and the
moments when I got stuck, codedeep dive, a specific technical
(04:43):
challenge I faced and how Isolved it.
This might be a SwiftUIanimation issue, a core data
problem or figuring out how tointegrate a new API.
I'll share the actual code asfar as my employer allows, the
debugging process and the finalsolution.
And if there's new tools orlibraries or techniques that I
discovered or revisited, I willalso include a section that I
(05:04):
would like to call tool talk.
But here's the key I won't justtell about them.
I'll tell you how I actuallyused them in real projects and
what worked for me and whatdidn't work for me, and why I
made those choices.
And, of course, there's lessonsthat I'm learning.
So let's share the lessonslearned as well, the mistakes I
made and what I'd do differentthe next time.
This is crucial because we allmake mistakes and there's so
(05:25):
much value in learning fromsomeone else's experience I've
noticed over the years.
I will also be looking ahead alittle bit.
So what's coming up in the nextsprint, what I'm excited about,
what I'm working on in the longrun?
So, overall, it will be aboutreal examples, that I'll be
sharing actual code snippetsabout real project challenges
and honest assessments of what'sworking and what isn't.
No fake demos or oversimplifiedexamples.
(05:46):
If something is complex, I'lltry and explain it properly, and
if I don't, or if you don'tunderstand something, please let
me know and I will revisit itin a later episode, because
feedback is important and I wantto make sure that the things
that I share, that peopleactually understand what I'm
talking about, and for me it'salso a learning experience to
discover how I actually talkabout these technical,
(06:08):
challenging topics in a spokenformat.
Also, I want things to beinteractive.
I'll be sharing challenges.
I'll be sharing the challengesthat I'm facing and I might
actually even ask for your inputoccasionally Because, let's be
honest, the best solutions oftencome from a community.
So multiple people, multipleminds, thinking and giving input
(06:29):
, and that's where I need yourhelp.
I want to know what you want tohear about, what topics
interest you most, whatchallenges you are facing in
your own ios development, somaybe together we can come up
with nice solutions that workfor everybody who's listening to
this podcast.
I want to know what thispodcast makes it most valuable
for you.
So if you give me that input, Ican do things that really help
(06:52):
you as an individual.
You can reach me on TwitterSorry, it's called X nowadays
LinkedIn Mastodon or through mywebsite with your suggestions.
Tell me what you'd like to hearabout, whether it's SwiftUI,
best practices, core dataoptimizations, testing
strategies or anything elserelated to iOS development.
Your input will help shape thecontent of future episodes.
(07:13):
So let's dive in a little bit.
Let me tell you a bit where I'mcoming from, because context
matters.
I've been doing iOS developmentfor over a decade now software
development in general.
For over 20 years now.
I've worked at startups,scale-ups and larger companies.
I've been through the greatSwift migrations, dealt with the
app stores' ups and downs andseen the ecosystem evolve
(07:36):
dramatically.
I remember when we were allexcited about AutoLayout when
Swift first came out and we wereall trying to figure out
optionals, and when SwiftUI wasannounced, we wondered if it
would actually work because,let's be honest, when SwiftUI
was just around the corner, itdidn't really work so great.
So my time at Stream taught mea lot about developer experience
, about what makes toolsactually usable versus just
(07:59):
flashy.
I learned that the bestdeveloper tools are the ones
that solve real problems, notimaginary ones.
I learned that developers areincredibly smart and you can see
through marketing fluff inabout two seconds.
I'm one of them.
I learned that the mostvaluable content is the stuff
that helps developers get theirjob done faster and better, so
you want to get information thatactually helps you tomorrow and
(08:20):
today.
So now I'm back to buildingapps full time and it feels like
coming home.
There's something deeplysatisfying about writing Swift
code, solving complex problemsand creating something that
people will actually use.
And let me tell you about theproject I'm working on.
It's an app forbedrijfshulpverlening, which
translates to company emergencyresponse or corporate first aid.
(08:40):
It's essentially an app thathelps companies manage their
emergency response proceduresthat's a difficult word, at
least for me as a non-nativespeaker First aid protocols and
safety compliance.
It's a critical app that couldactually save lives, which makes
the work feel incrediblymeaningful.
This is a client project atDawn Technology and it's exactly
the kind of challenging,meaningful work that gets me
(09:02):
excited about iOS development.
But here's the thing this codebase is a beast.
It's over eight years old,which, in iOS development terms,
is ancient.
It was built before SwiftUIexisted, so it's all UIKit.
It's using patterns andpractices that were cutting edge
in 2016, but are now consideredoutdated.
We're talking about manual viewcontroller management, old
(09:25):
networking patterns andarchitectural decisions that
made sense at the time but arenow technical debt.
And I love it.
I absolutely love it becausethis is the kind of challenge
that gets me excited.
I'm going to be rolling up mysleeves and tackling this
massive ongoing refactor whileadding new functionality.
It's like being handed aclassic car that needs complete
restorations.
Sure, it's going to be a lot ofwork, but the end result is
(09:47):
going to be amazing.
This is exactly the kind ofreal-world development challenge
that I want to share with youin this work log the
architectural decisions, therefactoring strategies, the
moments when you realize thatwhat seemed like a simple change
required touching 15 differentfiles and that's just not a lot
yet.
The satisfaction of modernizingold code while keeping the app
running smoothly for users whodepend on it.
(10:09):
It's a bit like changing a tireon a car while going 120 miles
or 200 kilometers an hour downthe highway.
But I'm also aware that iOSdevelopment in 2025 is different
from when I started.
We have SwiftUI, we haveAsyncAwait, we have Actors, we
have these new concurrencymodels we get strict concurrency
soon and dealing with AIintegration in ways we never
(10:31):
imagined.
It's exciting, but it's alsooverwhelming.
There's always something new tolearn, always a new framework
to understand, always a new bestpractice to adopt.
That's why I think sharing thisjourney makes sense.
I'm learning alongside you,making mistakes big mistakes,
most likely, I hope not andhopefully finding solutions that
can help you in your ownprojects.
I'm not claiming to be anexpert in everything far from it
(10:54):
but I am someone who's beendoing this for a while, who's
made a lot of mistakes, trust meand who's learned a lot of
lessons along the way.
So what's coming next?
In the next episode, I'll bediving into this
Bedrijfshulpverlening apprefactor.
I'll be sharing the firstarchitectural decisions that I'm
making with the team how we areapproaching the migration from
(11:15):
old patterns to new ones, andthe challenges of refactoring a
critical app that can't afforddowntime, because this thing
needs to keep working and itneeds to be stable.
I'll also be sharing some ofthe tools and libraries I'm
using in this refactor,including some that might
surprise you.
Not everything needs to be thelatest and greatest.
Sometimes the best solution isthe ones that have been around
for a while and just work.
(11:36):
But before I wrap up, I have toshare something I'm incredibly
excited about.
You probably can already guesswhat it is.
I'm again working on organizingdo ios in 2025, and it's shaping
up to be something special.
For those who don't know, doios has been one of the premier
ios conferences in europe andI'm honored to be the person
behind this conference, and I'mbringing it back in 2025 in
(11:59):
november.
Now you might be wonderingisn't there a conflict of
interest there?
After all, I work at dawntechnology, which was formerly
Egenic, the company behindAppDevCon.
But here's the thing DawnTechnology actually loves that
I'm organizing my own iOSconference.
In fact, it was a large part ofwhy they hired me.
They value the communityinvolvement, the networking and
the expertise that comes frombeing actively engaged in the
(12:23):
iOS developer community.
My podcast work also played asignificant role in their
decision to bring me on board.
We're putting together anamazing lineup of speakers for
DoiOS 2025.
Most of them are already onlineand it's focused on practical,
real-world iOS developmentcontent no fluff, no corporate
presentations, just developerssharing what they've learned,
(12:45):
building actual apps.
It's going to be the kind ofconference you will leave with
actionable insights you can usein your projects immediately.
I'll, of course, be sharingsome details ongoing about DuoOS
2025 in the next episodes,including speaker announcements,
session previews andbehind-the-scenes content about
what goes into organizing adeveloper conference, and I can
(13:06):
tell you it's a lot.
If you're interested in iOSdevelopment and want to connect
with other developers who arepassionate about building great
apps, this is definitelysomething you want to keep an
eye on.
I'll also be sharing some ofthe tools and libraries I'm
using in my day-to-day work,including some that might
surprise you while organizingthis conference and I want to
hear from you, might surpriseyou while organizing this
conference and I want to hearfrom you.
(13:27):
What are you working on?
What challenges are you facing?
What would you like to explorein future episodes?
Are you planning to attend anyconferences this year?
Not only Duo IOS, but alsoSwift Leads, ns, pragma, swift
Connection, arctic Conferencethere's just so many going on
this year again AppDevCom, ofcourse.
Is there one of those thatyou're going to?
Please let me know and tell mewhy you are interested in going
(13:49):
to this specific conference.
You can reach me on X Mastodon,linkedin, as I already mentioned
.
You can find me through mywebsite, and I'm genuinely
interested in your feedback andyour stories and if you're
listening on a podcast appthat's supported, you can also
use Buzzsprout's fan mailfeature to send me an SMS
message directly.
It's privacy preserving, so Iwon't get your phone number, and
(14:10):
I'd love to hear from you andmaybe even feature some of your
questions and feedback in futureepisodes.
So that's the plan.
Appforce One is evolving intosomething more personal, more
technical and hopefully morevaluable for you.
As an iOS developer.
I'm excited about this newdirection and I hope you are too
.
The next episode will be out inabout two weeks and I'll be
(14:30):
sharing real code, realchallenges and real solutions.
Until then, keep buildingamazing apps and remember every
expert was once a beginner.
Every pro was once an amateur.
The key is to keep learning,keep building and keep sharing
what you learn with thecommunity.
Thanks for listening and I'llsee you in two weeks for the
first real work log episode.