Read the transcript
Jeroen: Let's see if I can do
this in a single take.
It's been a while and this is
going to be episode 104.
So, hey there, ios developers,
welcome back to AppForceOne.
My name is Jeroen Leenarts and
if you've been following this
podcast for a while, you might
have noticed it's been quite a
while.
Well, today I'm excited to
share something new with you.
You see, life has a funny way
of throwing curveballs at you.
Some of you might know that I
was working at Stream for a
while doing developer relations
work, speaking at conferences
and helping build that community
.
I was speaking at events like
NS Spain, swift, heroes,
techorama, appdevcon and 360iDev
.
I was helping developers
discover new tools, writing
content about developer
experience and, honestly, I love
that work.
Past tense.
You probably know where this is
going, but, as many of you
probably already know, the tech
industry can be very
unpredictable and sometimes
things just need to change and
when those things happen, they
affect someone personally and it
can be jarring, but there's the
thing Sometimes these
curveballs lead you exactly
where you need to be.
So here I am, back to what I
love most building iOS apps.
I'm now working at Dawn
Technology, which some of you
might know as eGenic, the
company behind the AppDevCon
conference and, honestly, I
couldn't be happier about it.
There's something deeply
satisfying about writing Swift
code, solving complex problems
and creating something that real
people will use.
It's the kind of work that gets
me excited to wake up in the
morning and start coding.
But here's the thing Today marks
a significant shift for this
podcast.
Instead of the weekly developer
news format, you might remember
, I'm pivoting AppForce One into
something more personal, more
authentic and hopefully more
valuable to you as an iOS
developer.
I'm calling it the AppForce One
into something more personal,
more authentic and hopefully
more valuable to you as an iOS
developer.
I'm calling it the AppForce One
Work Log.
Here's what this means I'm
going to share my journey as an
iOS developer in real time the
wins, the struggles, the lessons
learned and the code that
actually works.
No fluff, no corporate speak,
just honest
developer-to-developer
conversations.
Why the change?
Well, after spending time in
developer relations, I realized
something important.
While I loved helping
developers discover new tools
and technologies, what I missed
most was the actual building,
the moment when your code
finally works after hours of
debugging, the satisfaction of
shipping something that real
people will use.
Let me give you a concrete
example.
Just like last week, I was
working on some SwiftUI view
that needed to handle complex
state management.
I spent three hours trying to
get the animations right,
debugging why my addState
variables weren't updating
properly and figuring out how to
make the UI feel responsive.
When I finally got it working,
that feeling of dissatisfaction
was incredible.
That's the kind of real, messy
development experience I want to
share with you, and I think
there's value in sharing that
journey with you.
Not the polished, perfect
version, but the messy, real
version of what it's like to be
an iOS developer in 2025.
You know what I've noticed?
There's a gap in the podcasting
space.
We have plenty of shows about
the latest iOS news, about new
frameworks and libraries, about
what Apple announced at WWDC,
but there aren't many shows that
dive deep into the day-to-day
reality of building iOS apps.
The debugging sessions that
will take hours, the
architectural decisions that
keep you up at night, the
moments when you realize you've
been approaching a problem
completely wrong that's what
this work log is going to be.
It's going to be raw, honest
and hopefully useful.
I'm not going to pretend I have
all the answers because I don't
.
Hopefully useful.
I'm not going to pretend I have
all 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 think
this format will be more
valuable to you as listeners as
well.
Instead of hearing about tools
and technologies in the abstract
, you'll hear about them in the
context of real projects, real
problems and real solutions so
what you can expect.
So what will those work log
episodes be like?
I'm not entirely sure yet.
I do know I aim to do a
bi-weekly format, so every other
week you will get a new episode
.
Why bi-weekly?
Because I want to give each
episode the attention it
deserves and I want to make sure
that the content is solid and
is actually based on complete
problems and things that I did.
I'm not going to rush content
just to hit a weekly deadline.
I want each episode to be
packed with real value, not just
filler content.
Each episode will be around 25
minutes.
That shows it specifically,
because it's perfect for your
commute, your workout and that
coffee break when you need a
mental rest from coding.
It's long enough to deep dive
into topics, but short enough
that you can listen to the whole
thing without feeling
overwhelmed.
Each episode will follow a
consistent format the week in
review what I actually worked on
what shipped, what didn't.
I'll be honest about the
challenges, the wins and the
moments when I got stuck, code
deep dive, a specific technical
challenge I faced and how I
solved it.
This might be a SwiftUI
animation issue, a core data
problem or figuring out how to
integrate a new API.
I'll share the actual code as
far as my employer allows, the
debugging process and the final
solution.
And if there's new tools or
libraries or techniques that I
discovered or revisited, I will
also include a section that I
would like to call tool talk.
But here's the key I won't just
tell about them.
I'll tell you how I actually
used them in real projects and
what worked for me and what
didn't work for me, and why I
made those choices.
And, of course, there's lessons
that I'm learning.
So let's share the lessons
learned as well, the mistakes I
made and what I'd do different
the next time.
This is crucial because we all
make mistakes and there's so
much value in learning from
someone else's experience I've
noticed over the years.
I will also be looking ahead a
little bit.
So what's coming up in the next
sprint, what I'm excited about,
what I'm working on in the long
run?
So, overall, it will be about
real examples, that I'll be
sharing actual code snippets
about real project challenges
and honest assessments of what's
working and what isn't.
No fake demos or oversimplified
examples.
If something is complex, I'll
try and explain it properly, and
if I don't, or if you don't
understand something, please let
me know and I will revisit it
in a later episode, because
feedback is important and I want
to make sure that the things
that I share, that people
actually understand what I'm
talking about, and for me it's
also a learning experience to
discover how I actually talk
about these technical,
challenging topics in a spoken
format.
Also, I want things to be
interactive.
I'll be sharing challenges.
I'll be sharing the challenges
that I'm facing and I might
actually even ask for your input
occasionally Because, let's be
honest, the best solutions often
come from a community.
So multiple people, multiple
minds, thinking and giving input
, and that's where I need your
help.
I want to know what you want to
hear about, what topics
interest you most, what
challenges you are facing in
your own ios development, so
maybe together we can come up
with nice solutions that work
for everybody who's listening to
this podcast.
I want to know what this
podcast makes it most valuable
for you.
So if you give me that input, I
can do things that really help
you as an individual.
You can reach me on Twitter
Sorry, it's called X nowadays
LinkedIn Mastodon or through my
website with your suggestions.
Tell me what you'd like to hear
about, whether it's SwiftUI,
best practices, core data
optimizations, testing
strategies or anything else
related to iOS development.
Your input will help shape the
content of future episodes.
So let's dive in a little bit.
Let me tell you a bit where I'm
coming from, because context
matters.
I've been doing iOS development
for 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 great
Swift migrations, dealt with the
app stores' ups and downs and
seen the ecosystem evolve
dramatically.
I remember when we were all
excited about AutoLayout when
Swift first came out and we were
all trying to figure out
optionals, and when SwiftUI was
announced, we wondered if it
would actually work because,
let's be honest, when SwiftUI
was just around the corner, it
didn't really work so great.
So my time at Stream taught me
a lot about developer experience
, about what makes tools
actually usable versus just
flashy.
I learned that the best
developer tools are the ones
that solve real problems, not
imaginary ones.
I learned that developers are
incredibly smart and you can see
through marketing fluff in
about two seconds.
I'm one of them.
I learned that the most
valuable content is the stuff
that helps developers get their
job done faster and better, so
you want to get information that
actually helps you tomorrow and
today.
So now I'm back to building
apps full time and it feels like
coming home.
There's something deeply
satisfying about writing Swift
code, solving complex problems
and creating something that
people will actually use.
And let me tell you about the
project I'm working on.
It's an app for
bedrijfshulpverlening, which
translates to company emergency
response or corporate first aid.
It's essentially an app that
helps companies manage their
emergency response procedures
that's a difficult word, at
least for me as a non-native
speaker First aid protocols and
safety compliance.
It's a critical app that could
actually save lives, which makes
the work feel incredibly
meaningful.
This is a client project at
Dawn Technology and it's exactly
the kind of challenging,
meaningful work that gets me
excited about iOS development.
But here's the thing this code
base is a beast.
It's over eight years old,
which, in iOS development terms,
is ancient.
It was built before SwiftUI
existed, so it's all UIKit.
It's using patterns and
practices that were cutting edge
in 2016, but are now considered
outdated.
We're talking about manual view
controller management, old
networking patterns and
architectural decisions that
made sense at the time but are
now technical debt.
And I love it.
I absolutely love it because
this is the kind of challenge
that gets me excited.
I'm going to be rolling up my
sleeves and tackling this
massive ongoing refactor while
adding new functionality.
It's like being handed a
classic car that needs complete
restorations.
Sure, it's going to be a lot of
work, but the end result is
going to be amazing.
This is exactly the kind of
real-world development challenge
that I want to share with you
in this work log the
architectural decisions, the
refactoring strategies, the
moments when you realize that
what seemed like a simple change
required touching 15 different
files and that's just not a lot
yet.
The satisfaction of modernizing
old code while keeping the app
running smoothly for users who
depend on it.
It's a bit like changing a tire
on a car while going 120 miles
or 200 kilometers an hour down
the highway.
But I'm also aware that iOS
development in 2025 is different
from when I started.
We have SwiftUI, we have
AsyncAwait, we have Actors, we
have these new concurrency
models we get strict concurrency
soon and dealing with AI
integration in ways we never
imagined.
It's exciting, but it's also
overwhelming.
There's always something new to
learn, always a new framework
to understand, always a new best
practice to adopt.
That's why I think sharing this
journey makes sense.
I'm learning alongside you,
making mistakes big mistakes,
most likely, I hope not and
hopefully finding solutions that
can help you in your own
projects.
I'm not claiming to be an
expert in everything far from it
but I am someone who's been
doing this for a while, who's
made a lot of mistakes, trust me
and who's learned a lot of
lessons along the way.
So what's coming next?
In the next episode, I'll be
diving into this
Bedrijfshulpverlening app
refactor.
I'll be sharing the first
architectural decisions that I'm
making with the team how we are
approaching the migration from
old patterns to new ones, and
the challenges of refactoring a
critical app that can't afford
downtime, because this thing
needs to keep working and it
needs to be stable.
I'll also be sharing some of
the tools and libraries I'm
using in this refactor,
including some that might
surprise you.
Not everything needs to be the
latest and greatest.
Sometimes the best solution is
the ones that have been around
for a while and just work.
But before I wrap up, I have to
share something I'm incredibly
excited about.
You probably can already guess
what it is.
I'm again working on organizing
do ios in 2025, and it's shaping
up to be something special.
For those who don't know, do
ios has been one of the premier
ios conferences in europe and
I'm honored to be the person
behind this conference, and I'm
bringing it back in 2025 in
november.
Now you might be wondering
isn't there a conflict of
interest there?
After all, I work at dawn
technology, which was formerly
Egenic, the company behind
AppDevCon.
But here's the thing Dawn
Technology actually loves that
I'm organizing my own iOS
conference.
In fact, it was a large part of
why they hired me.
They value the community
involvement, the networking and
the expertise that comes from
being actively engaged in the
iOS developer community.
My podcast work also played a
significant role in their
decision to bring me on board.
We're putting together an
amazing lineup of speakers for
DoiOS 2025.
Most of them are already online
and it's focused on practical,
real-world iOS development
content no fluff, no corporate
presentations, just developers
sharing what they've learned,
building actual apps.
It's going to be the kind of
conference you will leave with
actionable insights you can use
in your projects immediately.
I'll, of course, be sharing
some details ongoing about DuoOS
2025 in the next episodes,
including speaker announcements,
session previews and
behind-the-scenes content about
what goes into organizing a
developer conference, and I can
tell you it's a lot.
If you're interested in iOS
development and want to connect
with other developers who are
passionate about building great
apps, this is definitely
something you want to keep an
eye on.
I'll also be sharing some of
the tools and libraries I'm
using in my day-to-day work,
including some that might
surprise you while organizing
this conference and I want to
hear from you, might surprise
you while organizing this
conference and I want to hear
from you.
What are you working on?
What challenges are you facing?
What would you like to explore
in future episodes?
Are you planning to attend any
conferences this year?
Not only Duo IOS, but also
Swift Leads, ns, pragma, swift
Connection, arctic Conference
there's just so many going on
this year again AppDevCom, of
course.
Is there one of those that
you're going to?
Please let me know and tell me
why you are interested in going
to this specific conference.
You can reach me on X Mastodon,
linkedin, as I already mentioned
.
You can find me through my
website, and I'm genuinely
interested in your feedback and
your stories and if you're
listening on a podcast app
that's supported, you can also
use Buzzsprout's fan mail
feature to send me an SMS
message directly.
It's privacy preserving, so I
won't get your phone number, and
I'd love to hear from you and
maybe even feature some of your
questions and feedback in future
episodes.
So that's the plan.
Appforce One is evolving into
something more personal, more
technical and hopefully more
valuable for you.
As an iOS developer.
I'm excited about this new
direction and I hope you are too
.
The next episode will be out in
about two weeks and I'll be
sharing real code, real
challenges and real solutions.
Until then, keep building
amazing 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 the
community.
Thanks for listening and I'll
see you in two weeks for the
first real work log episode.