Read the transcript
Jeroen Leenarts: Hi, and welcome
to another special edition of my
podcast. I'm sitting here with
Juanpe Cataln, I hope I
pronounced that correctly. So
just to get things started,
you're an unfamiliar name to me.
But what are some things that
people online might know you
from?
Juanpe Cataln: Well, I'm from
for this painful area. In the
south of Spain, I in a software
software engineer, I have
developing apps for more than 10
years. I started writing
Objective C code, without arc
when the app crashes because the
devices didn't have enough free
memory space. And during this
time, and I have, I have work on
many types of types of projects,
like gains, b2c, and b2b apps is
the case. So by day one, I
always wanted to be focused on
approach pick, my preferred
that. And I also have an
application, they publish it in
the app store his his talk,
talks on coffee in the CO
creator, because I did with a
friend. And the subject
application contains videos of
the most important confidence
and events related to their your
score. Well, I could say
something about the open source,
because I love it. And I like to
contribute as much as possible.
Even I, the owner of some
popular libraries, like ops with
UI, this repo that tries tries
to gather all the resources
related to Swift UI. And another
one is skeleton beauty. This is
very popular library writing in
Swift. This library allow the
use will allow the developers
shall want to scale it on
simulating the content that they
usually waiting for, instead of
you the typical loading view.
Jeroen Leenarts: And you
mentioned that you've been doing
app development for 10 years, or
over 10 years already. And is
that like app development in the
in a wider sense? So Android and
iOS? Or are you specifically
targeting yourself on iOS? Only?
Juanpe Cataln: Yeah, only only
iOS during, during some time
night, the sun Buryats Andre
proton? And also something
related to Salesforce, you know,
this is Salesforce platform. But
not really. Well, I not could be
a crusade that I did any prior
because so they were very
little. So my always be focused
on us.
Jeroen Leenarts: And what was
iOS development, the thing that
you got started with in the
field of software development,
right from the start, or did you
do other things before that?
Juanpe Cataln: I started in
Serbia here in a company called
Canada. And I started that there
is inter, so I started when I
there, I learned a lot, because
the people there are the braids,
or were amazing. Also, there was
the first contact with the
clean, cold contact unit test in
naming problems. I remember, we
will sometimes think about the
name of a property for me. And
that diner didn't understand
anything out there now makes up
Jeroen Leenarts: what's that an
internship that you ended up
with, like because of an
education that you were doing or
was like, right after you
finished? Studies?
Juanpe Cataln: Yeah, yeah. When
I finished my degree. So what
engineer degree I started, well,
they offered an internship in
some companies in there, and one
of them was Fenella Yeah. I use
take advantage of this
opportunity.
Jeroen Leenarts: And you did
your studies at University of
Sofia, right. Yeah. What made
you decide on doing a software
degree in university or software
engineering degree I should
actually say
Juanpe Cataln: yeah. So good
question. I think they always I
have clear that I will do it. I
could do software degree,
because I always be around
computers because my dad I like
it as well. So we'll saw a word
that I like a lot. No, always.
In my adolescence, playing video
games, no and. And then also,
while I don't know any English
is sketchy I know with computers
is facing some disease of
friends. So I like the worse of
a computer. So I think the the I
always had clear very clear that
I will do it now.
Jeroen Leenarts: But were you
like as as a young boy already
doing something with goat? Or
was it like your first
experience with software?
Writing? Was that during your
studies?
Juanpe Cataln: Yeah, to be
honest, my first contact with a
goat was in the integration. So
before that, I think I did in
the end didn't do anything.
Related to that. Yeah.
Jeroen Leenarts: And you
mentioned that your that your
dad also had an interest in, in
computers and and stuff around
computers? Was it because he was
in the field of software
development as well? Or was it
more that he had an interest in
technology? In a more broader
sense?
Juanpe Cataln: Yeah. Is my ace
made that hobby, but because
this is a constructor is a
builder in the know in English,
Jeroen Leenarts: yeah. thinker.
He likes, like, putting things
together and creating things
with this in his spare time just
for the fun of it.
Juanpe Cataln: Exactly. So his
hobby for the for for him.
Jeroen Leenarts: And then, while
you get to your education, you
you get your first taste of
software of writing code. Did it
like fall in place, then in
there? Or did you take some time
to really come to grips with the
fact that just writing texts
actually results in machine code
that you can execute and then
build upon?
Juanpe Cataln: Depends now
because I started doing some
websites now. Because then was
when the web's exploded? And I
started to study, study. Ha, ha,
TBL. Because in the in the
degree, we studied C, and a
little bit Java, and then I, I,
to be honest, I didn't like say
too much, no, because they call
the wall study bedrooms. But I
did some I like more. Do
websites now because I like also
the design, I find, I find a
website, something that half the
both things know that they call
in, on the design. Because if
you create a database, or you
create a server for a back end,
or whatever, you can't see
anything, no, but you will be
Law website, you can see your
gold and anyone can can see you,
you're golden ICC to show that,
oh, look at what I did.
Jeroen Leenarts: And also you
can if you're sitting with
somebody at a computer, yeah,
watch this or change something
here and then refresh it. And
now it's different. And you can
really see what you're working
on. But, but is that also the
thing that you that you like
about app development that like
what you create is very visual
and and people especially
nowadays, they have some
understanding of well at a high
level what an app is and that it
is something that somebody has
created
Juanpe Cataln: not really, I
think that I grew up you know
from the beginning Yeah, this
was very interesting for me now
because as you say, now that you
can show you called and what
what you could do it but but I
think in this first company no
agenda. I call in a very
important play it call it play
tails. This was an engine for
for interactive books on this
journey was an abstraction layer
of cocoa study. And I learned a
lot about pattern design
patterns. But she only
performance because we use we
should. Hi image so the memory
closet constantly and I seen
that sense of the spread, I
found out that I really like to
work on creating tools for other
teams. No, because I like
creating apps. And I like the
UI. Also, I like when I create
an application take care of the
UI and the use of speedy and non
ECOSYS. I think it's pretty
important. But, for example,
skeleton view is, pride is so
relatable for me, because this
is a tool that is not for the
user is, is for development.
And, and I think it's No, I
prefer, for example, work on
that.
Jeroen Leenarts: Okay. Yeah. So
you're really enjoy creating
tools that allow developers to,
to do their job quicker, better,
more efficiently.
Juanpe Cataln: Yeah. And yeah,
in fact,
Jeroen Leenarts: and can you
like, because that's something
that you learned at your at your
first job? The the internship
that you did? So? Because that
was if I'm correct, that's like,
you helped develop a tool that
allows other people to create
children's? Yeah, interactive
book experience, right. So the
SEC lands. With this knowledge
that you enjoy creating tools
for developers, is that
something that you immediately
were able to take forward in
your career because of course,
this internship had an end. And
then you had to probably you'll
get a job offer there? And then
maybe you stuck around for a
while, but I reckon, 10 years
down the line, it's not not a
company that you're working for
right now? I guess.
Juanpe Cataln: No, no, no.
Jeroen Leenarts: So whatever,
what were you able to do with
this, this this life lesson that
you like, creating tools for a
specific type of people?
Juanpe Cataln: Well, I think
that the main thing that I
learned was that the creating
application or coding is not
just creating an application or
the creative needs to develop
it, to level up some something.
And this engine, for example, I
thought that, okay, we have a
code, we have an engine, this is
a render of graphics, and then
we are creating a new layer that
is operated its proper data. And
then for me, I was very
interested that okay, you can do
a create, create more code based
on another code, no, and, and
you can take care of the
performance chemical, okay,
okay, I did that. But these
stories use it to other devs or
their designer, and they give us
feedback about okay, this is not
working very well, or maybe this
this part could be improved. So
it's more challenging for me.
And then these, this kind of
stuff, maybe, is something that
I learn when when I work on
that.
Jeroen Leenarts: Okay. And but
what was the thing that you that
you worked on after this
children's ebook publishing
platform?
Juanpe Cataln: Well, after
that, I moved to Madrid, in
Spain as well. I started to work
in, in BB when in a bank working
in the in the bank application.
And also, they started because
they apart apart from the bank
application, they have, they had
more, more parades, and one of
them was elearning platform to
learn English colored dot
English, also, is a learning
platform. So we, we had to show
videos. And the most challenging
task about that for was that
then the video player, the
native video player didn't have
or didn't support? Subtitle.
Yeah, so we created a layer of
all that we have to synchronize
with, with the video in order to
show the the racial titles. On
the display, it was very
interesting, very appealing for
me as well.
Jeroen Leenarts: Okay. And so
there you were, like, again,
doing a similar thing, right,
creating tools for the
developers, but in very
different fields, but in what
ways what similarities were
there between these two fields
and because yeah, work within a
banking environment and working
within like childrens ebook,
yeah, it's just just a product
manager is already way different
there, right?
Juanpe Cataln: Totally, totally
different, totally different.
And the speed is totally
different is different as well,
because in the previous company,
were apart from the play test
engine, we did many application,
as I say before games, also, we
work a lot in in in application
for, for a sports as part of
application, but like Formula
One, and then the user can
follow the run in life. So, at
this time was very interesting,
because, you know, the right
task is more expensive,
expensive, expensive for the
backend also was very
interesting for other depths,
how we can reach 1000 requests
without an higher cost. Yeah.
And then we, we, the trick, was
that, okay, we have some
journalists writing in the
database, and we only read from
the static JSON these JSON was
dated frequently No, but we only
are really, so now is something
normal matter, that time was
something that very tricky. And
yeah, I say before is more or
more or less is the same, but
they do say the product manager
was totally different, the
velocity totally different as
well, but even the environment,
so because we have, we have to
wear a suite every day. So, but
Well, I learned a lot because
for me, the breath is very
important, but the thing is, is
is more important. Now so So,
the people there also were also
so I I always try to extract the
knowledge of them of my
workmates even shared my
knowledge. In fact, I think
these are great ways to to keep
growing and sharing the
knowledge between us.
Jeroen Leenarts: And so that's
the banking apps and stuff that
you worked on. But what did you
do after that and because
because I think there's still
some roles between that and the
work that you do nowadays,
right.
Juanpe Cataln: Yeah, yeah.
After that, I moved to another
company. This is this is this
company was the most different
company that I work now, because
in the interior I work in iOS
application in the bank as well
in this application, they have
toppled over related to the
Salesforce man is it April by
April remember very well, when
they sell first they say Ceman
gain points about based on the
sales and then they can they
could and could redeem the
points in our catalog now
because we have we had bikes
TVs, we we we were supermarket
and I was in the investigation
department. So they do because
they have another plan for so if
they have 20 clients they have
the same preset clone 20 times
now. So they want to create a
product package a generic packet
that could be used for any any
client false and brilliant
client with less effort. So this
time I started to lose on
Andrade Mbps also in cell first
because we included the the
catalog in in the cell first
perform. So I did I did some
investigation. Also I create an
API in RDS using the load
balancer Yeah, was a very
interesting time for me that I
learned a lot outside of the iOS
world. But after three years, I
found out that what I really
wanted to do was iOS. No. So
then I decided to do to move to
another company that focused on
the iOS.
Jeroen Leenarts: Again, yeah,
yeah, so. But what's interesting
there within this, within this
company that you work with
Salesforce related technology,
is again 20 projects, doing
similar things, finding the
common ground, making sure that
you basically create some tools
and some supports for people to
manage those 20 different
projects on all these different
projects. So again, it's like
creating developer tools that
you're really working on. So it
is a common theme that's, that's
running through your career,
right? And so after this
adventure with with the
Salesforce technology, then what
are we then now in present day?
Or is there still some more
stuff that you had your hand on?
Juanpe Cataln: A roof again, to
another day? Maybe, you know,
his evenings? Yeah. How old are
you? In London is Apollo, they
have agents of the year, which
is the company but they have
some brands? And there they have
an iOS by label application.
Yeah. So we started digging with
they say no, we have a core code
and the UI or the look and feel
is different depending on the
brand. So in this company, I
learned for example, to working
in teams now before because
before that, in Serbia, now in
Serbia, I work with within, but
but in the rest of the company,
I always work with one is more
than me. So always all the
olamine so in this company, they
started to work okay, in
continuous integration. The
process now in the in the
software development. Okay, we
have release, train, we have
gamma board. So some Yeah, the
process to develop an
application with many
developers? No, just do. And
yeah, I learned a lot about
that.
Jeroen Leenarts: Yeah. But was
it difficult adjusting to that
new situation that you're like?
Well, working with process
having like, a backlog items,
having tickets, getting those
tickets across the board? Making
sure that that it's tracked What
ticket is attached to which
release really? was a difficult
or was it like just a different
way of working for you?
Juanpe Cataln: Well, I think
when the company was in
transformation process, because
they didn't do anything. task
and then we they are, they were
starting to, to do the things in
an agile way. Why agile way. So
I think we, we go together in
the process. So we have seven
scrum master. And I don't
remember really well, because
now I'm working in combat. Not
remember the naming
Jeroen Leenarts: for probably
something like product owner or
something like that. Right?
Juanpe Cataln: Yeah. Products
are now well, yeah, I can. So I
learned through during the
during the development
Jeroen Leenarts: Yeah. So So
yeah, that's that's basically a
way to just learning on the job
on agile practices and process
really. So and the company that
it was happening at was was it
he dreams? So he d r E, A M S.
So S and what does this company
do? So you had it had a white
label output? What what what
field were it in?
Juanpe Cataln: Oh, yeah, sorry.
I didn't. I didn't say anything
about that. Yeah, they buy
flights. Okay. Yeah. Is online
travel agency? Yeah. Yeah, they,
we they flights and hotels. And
it's like, it's not a Skyscanner
because this guy's gonna please
do come find him inside
Skyscanner? No, it's good Kenny
some meta searches better? Well,
sorry. Yeah, the thing is like
Kayak for example.
Jeroen Leenarts: It's it's
booked booking flights, hotels,
flights and hotel combined, then
the car rental when you're there
getting to and from the hotel
and to the airport, things you
can do while you're there. So
it's basically you can it's a
platform with small pieces that
you can put together your own
vacation a trip, really. So
that's probably probably a lot
of data going through one of
these, these companies,
especially in the sense of just
the sheer amount of options that
people have available, when they
want to travel.
Juanpe Cataln: Yeah, so
Jeroen Leenarts: eDreams that's
something that you that you
worked on. It was it was that,
again, something that was more
in the Developer Tools area, you
mentioned that you had to like
really work in a company that
was transitioning into an agile
way of working? Or was it really
app development that you were
doing there?
Juanpe Cataln: Yeah, and in
this company, only the core? No,
we could say that it was a tool,
but it's not really at all
because it's something that we
use with all it in use now. So
in the in the in this time I was
focusing on on the UI to create
new models, new features, that
remember, for example, that we
create the six selector in order
when when you are you were
booking a flight, and you do
have the possibility of choose
the seat that you want. Yeah, I
would put in there. And remember
was that was the first time i i
feel that what I was doing, or
the impact that was I was doing
was was higher now because they
have many, many users. And was
the first time that I worked in,
in, in application that is used
by many users, a lot of users.
Jeroen Leenarts: Okay. So yeah,
that's, I can imagine that if
it's a company that has a lot of
white labeled apps, and just a
lot of different different
flights and things go through
the day, these companies only
work when they're working at
scale. So then, that's that's a
dreams. But what happened next,
Chris, let's just keep on going
until we're at like at today.
Juanpe Cataln: Well, before
today, I will because I work at
domestic every now. But before
that I was working in in in 20
Telefonica this company and
because they have Why don't
remember that well, his career.
Yeah, like Korea. And we we did
the application there, where
they you said, can find the
invoices. The data that they
consume it? And yeah, I was
there for almost a year. Yeah.
And then I moved to America.
Here, this is where I'm at.
Right Now. Now. I'm working.
Jeroen Leenarts: So and then you
started working at at domestica.
And what do you do at that
company then?
Juanpe Cataln: Well, the base
case is is creative community
where the creative experts share
the knowledge through online
courses. At the end is something
like literally platform as well.
Yeah. So I'm working on the ice
application. Now, we are five is
deaf, yeah team. And previously,
initially, the application was
writing in red native and was
delighted to see you. So now we
are working on improving the
code base, taking advantage of
Swift features and our model
realized side by side When
creating new features, but also
we are the main task is to
improve the codebase. Before to
create new features because
it's, it's amazing. So So yeah,
Jeroen Leenarts: okay, because
at the same time looking at your
as at your GitHub page a little
bit, and there's a lot of other
things that you're actually
doing, besides the skeleton few
open source library, I just
noticed, because of course,
we've got in touch with each
other, I think through the slack
of two weeks, I think it was,
and you're part of that
organization, but do you have an
active role on that open source
project as well? Or did you just
so happen to to do some some
commits and some some bits of
code on that code base as well?
Juanpe Cataln: Yeah, I use it
of iron to is usually because as
I say, before, we are
mobilization we are moolah,
right mobilization, the prayer,
we are using to the Find, at
least to the find the
appropriate manifest. And we are
so satisfies or but I did some
contribution, but to be honest,
I'm not an important role and
and I know that an active role
in interest.
Jeroen Leenarts: And I go like,
Yeah, and so but you used in
your day job at domestic
alright. Yeah. And and what is
the what is it about two is that
you really like them?
Juanpe Cataln: Well, if you ask
to attain the best thing is that
they don't have a Go Pro to file
conflict nowadays is the best
way. But no, trees, we find
very, very easy to use, very
easy to define the new problem.
Yeah. And also the dependencies.
No, because even using different
dependencies manner, you know,
like CocoaPods, or Swift package
manager. And we don't know, if
we don't, if the if this doesn't
SS, then we'll know how we go
through the Soul of the
dependency stuff for some. Yeah.
So I think that the word that
these guys are doing is awesome.
Jeroen Leenarts: Yeah, and you
also sponsor them on GitHub? And
I noticed Yeah, so But then
let's switch to the skeleton
view a little bit because that's
I think, the library auto
repository on your GitHub
profile that has the most stars
and the most forks? Can you like
in a few lines describe what
this what this this framework
actually does for if somebody
starts using skeleton view
Juanpe Cataln: Yeah, the
library is very simple. In order
that is, you know, today almost
all application half assing task
like API requests or long
running processes and while this
task is running, now, they
usually usually use the typical
loading view, but with a
skeleton you can show now this
skeleton is are the same the
Nick you can show the skeleton
simulating the content and then
is the speed in for the user is
better not because in some way
you are preparing them for what
they are expecting or they are
waiting for.
Jeroen Leenarts: So and it isn't
a library that you that you
created or is it something that
you that you help them or
Juanpe Cataln: Yeah, I am the
creator I created in in 2017 and
was for me, I was surprised now
because I started doing simple,
simple private repo to use in my
in my own private, but when I
finished the development, I
thought that okay, maybe the
skeleton is the same technique.
No. So maybe other daps Good,
good find this, this library
useful for them. So why not I
create a readme file with some
samples and I release it and
what based on price for me, so
basically because the library
gained it quickly, popularity
Yeah, and I think Getting in
some newsletter. But but the
turning point was when it was
published in the iostat, weekly
newsletter by David Byrne. And
then the traffic and lots
increases these aspects. Yeah.
So
Jeroen Leenarts: that's fun.
What, like, getting mentioned by
the right person actually can
get you nowadays? So you've been
working on this dis framework
for quite a number of years
already. And what's it like to
support an open source library?
Juanpe Cataln: Today, it
doesn't pay my bills. But, but
for me is so lethal. When, when
I when I see that someone
creates a new pool request,
phishing attacks, or, or
developing a new feature, even
sometimes I didn't know how to
how to how to fix a lack, or I
didn't have the bandwidth now
and when. And the help of other
depths or screws for for the for
the library? No. So for me, this
interaction is is why why? What
I've, I made me feel better
base. Good. Sorry. Yeah.
Jeroen Leenarts: So and I'm not
just to kiss you have another
side project that has quite a
lot of attention, I think as
well. And that's the that was
the coffee thing. Right? Yeah.
Toxin coffee. So what was the
idea there? Because where can
people first of all, where can
people find that? Online?
Juanpe Cataln: Yeah. Well,
idea, the idea with application
I did with a friend Sophia, this
is an iOS developer, iOS
developer, as well. And, you
know, all the conference, polish
the videos in some platforms now
do to be male. And always, when
you will conference or you see a
conference, you say, Okay, this
talk, I need to see again, or
I'm going to put this in the
watch in the, in the in the, in
the wish list. But after that,
maybe you don't remember where
you put this video, they build
the land? Or do you remember
that you have a video to waiting
for you? So we thought, okay, we
could create an application that
that contains all these videos
in in a single place? In order
to find them easily. Yeah. So
this is this was the idea. And
we we did a simple application
with with single, simple UI. But
it more or less the same, that
skeleton Bureau now when when we
finished the development, we
said okay, maybe this
application could be useful for
for other depths now, because
maybe they they have the same
problem. No, we don't, don't and
don't store anything, all the
historic information and the
links. So when we tap in a
video, we open up with you and
show you the player. So because
the application is free, no, we
don't we don't we don't get any
money. With that.
Jeroen Leenarts: So and where do
you find the conferences then
that that are in your app?
Because there's quite a number
of of conferences in there,
right.
Juanpe Cataln: Yeah. To be
honest, this is the the worst
path of this application. No,
because right now we are we are
doing the stuff manually. Yeah.
So it's harder because we have
to be add to the check in the
conference and checking if the
conference publisher to be to
get notes or so this is the
worst part. Maybe in the future,
we could create a scrapping
application that get all this
information, but right now we
don't have any little
Jeroen Leenarts: and if somebody
wants to find out more about the
toxic coffee app, where should
they look them
Juanpe Cataln: up Well, now we
are considering to read read,
more or less, because, but now
writing in interview, because at
the end is separate. And within
that the best way to, to learn
something is is practicing
practicing. So these
applications for the app, so I
think that all the apps has a
lot of the latest iOS version,
so we could use the latest
version as well. It's a good
opportunity to, to have our
first our first application in
Production Readiness reviewing.
Jeroen Leenarts: Okay, um, yeah,
so I think I think we're there
now, at the, at the end of what,
it's actually the current state
of your career, but like, we
started at the beginning, and
we're now well, not at the end.
Let's hope not, I'd say, there's
hope there's many more years of
cool stuff that you can work on.
Is there anything that we that
we forgot to mention or anything
that you say how we have to talk
about that as well?
Juanpe Cataln: Well, I always
good to say something. Because I
would like that when I started
someone say me that they say
don't don't follow trends. Now,
if you're standing in the
software development at a word,
don't follow a trend now,
because in software development,
I think that there isn't a
silver bullet. So a problem
could be solved in many ways.
And and the good thing is that
all these solution, could we
believe? So be critic and and
only use something if you find
useful to solve one of your
plan? Yeah. Yeah, it's a deep
either. And I think that's it. I
don't know if I couldn't say
anything more.
Jeroen Leenarts: No, I think I
think that's good one. Where can
people find you online?
Juanpe Cataln: Twitter, I use
Twitter a lot. Is the is there a
way that I, I, I tried to be up
to them in so so they can find
me. Then I post white with some
tweets. But I know, I not so so
what if To be honest,
Jeroen Leenarts: okay. Yeah.
Because your Twitter handle is?
Let's see, at one pig cuts
alone. And we'll make sure to
link that in the show notes so
that people have easy time
finding it. And with that
homepage, I think we're there
and really enjoyed listening to
what motivates you to be a
software developer, which is
most people they become a
software developer crested just
really want to build cool
things. But you actually are a
software developer, because you
like building cool things for
people who like building cool
things, which is kind of meta as
well. But then in a good way,
not the meta first way. So So
yeah, and I think that's,
that's, that's very nice that
that's something that you
discovered very early on in your
career like that, creating tools
for developers and making things
easier for people who are doing
the same line of work as you
are. But then just making their
job a little bit easier with
with small things and small
helps that you that you provide
them. I think it's really cool.
I hope you will, you'll be in
iOS development for some years
to come because who knows what
kind of cool things you're still
kind of come up with.
Juanpe Cataln: Okay, so thanks
for having me here. And I
enjoyed it as well. So thanks