[MUSIC PLAYING]
SEBASTIAN TRZCINSKI-CLEMENT: Good evening, Anna.
How are you?
ANNA LEUSHCHENKO: Good evening, Sebastian.
Doing great.
How are you?
SEBASTIAN TRZCINSKI-CLEMENT: I'm doing fantastically well.
I'm still escaping the COVID virus.
I'm vaccinated.
But as you probably have heard in the news,
the virus is everywhere.
I hope you're healthy and your loved ones are healthy.
ANNA LEUSHCHENKO: I'm lucky as well.
Same for me, vaccinated and never got one.
SEBASTIAN TRZCINSKI-CLEMENT: Good.
Good.
ANNA LEUSHCHENKO: Hope it will be the same.
SEBASTIAN TRZCINSKI-CLEMENT: Let me
ask you a first question, which I ask everybody
in the series of interviews of Dev Library contributors.
I'd like to ask you to introduce yourself.
And you have the option, you can use three words, or three
numbers, or both, or anything else
you'd like to say to explain a little bit.
Who is Anna?
Who are you?
ANNA LEUSHCHENKO: Sure.
So I'm a software engineer from Ukraine.
I've been doing this for almost 10 years already.
I am a Google developer expert in Dart and Flutter, mentor,
tech writer, conference speaker.
So I am passionate about quality software
and sharing the knowledge.
So perhaps these are two factors that
led me to be where I am now.
SEBASTIAN TRZCINSKI-CLEMENT: What
led you into software engineering in the first place?
ANNA LEUSHCHENKO: You know, I still wonder myself
because since childhood, I just admired mathematics, physics,
and actually, I chose the university
by wanting to do math.
And for some reason, they taught us some computer science.
So that's when I got in all this field and fell in love with it.
And I'm doing it since then.
And it's both my profession and my hobby.
I am a passionate developer who can even code while sleeping.
SEBASTIAN TRZCINSKI-CLEMENT: So for you,
it was a natural transition from maths and physics
in school and university to computer science
to working in Dart and Flutter.
For those who don't know, who and what
is a developer expert, or a Google developer expert,
I'll put the link in the description
because this will be live on YouTube to make sure people
can know more about the program.
So talk to me about your journey.
Because when you started off, I guess as a software engineer,
I'd like to understand what, again, led you to be interested
in Dart, as opposed to other languages, and to Flutter,
as opposed to maybe coding directly on Android or iOS.
Any story, any anecdote, which can maybe
inspire others as to why you went that way versus another?
ANNA LEUSHCHENKO: OK.
Sure.
In short, it's my husband to be blamed for it.
But the long story is that I started as a .NET developer,
being in love with C#.
I still am.
Sorry, Dart fans.
And I learned some Android development.
So I loved both mobile development and C#,
which naturally led me to doing Xamarin for quite a while,
like six or seven years.
I've been doing Xamarin full time, as well passionate
and contributing to open source or writing some articles
on those topics.
And when the first stable version of Flutter
was released, it was my husband who introduced me
to this technology, which immediately caught my attention
by its development experience.
So the speed at which I can create
a functional and beautiful mobile application
is just mind blowing.
SEBASTIAN TRZCINSKI-CLEMENT: Is this what surprised you
when you started with Flutter, the fact
that you can very quickly develop
a beautiful-looking app?
Or are there other surprises--
good or bad, by the way-- when you
started coding with Flutter?
ANNA LEUSHCHENKO: Exactly.
It is the speed and the result I get, like beautiful animations,
smooth scrolling, et cetera.
And it also was promising in terms of portability.
Now we know it is both web, three desktop platforms,
it can be ported into cars, et cetera.
And also, it had a different concept to what I was used to,
which was declarative UI.
And that is just a piece of cake.
SEBASTIAN TRZCINSKI-CLEMENT: Fair enough.
Any challenges that you faced when
you were coding sample apps or professional apps
or when you started using Flutter?
Because you make it sound, it's so easy and smooth,
and it looks really nice.
But I'm sure there must have been some difficulties
or challenges.
And I'm interested in also, how did
you overcome these challenges, maybe in terms of support
you got from the community or documentation?
Are there any challenges that you remember
or that you're facing today?
ANNA LEUSHCHENKO: Mm-hmm.
Of course there are.
And surprisingly, they are not really technical.
But Flutter is relatively new technology and same
is for the community.
So there are quite few established practices
or commonly used approaches.
It's rather an ever-changing field of experiments.
And state management, animations, cogeneration.
These are all hot topics with plenty
of different opinions on those.
In addition, Flutter is a very simple framework.
So there are folks who are only learning programming
through Flutter.
And, as a result, I saw not that many production-ready projects
that were in good shape in terms of code quality,
maintainability, test coverage, and, well,
it's only time and contributions to the communities
that can help overcome this challenge.
And we are doing a pretty good job, I must admit.
SEBASTIAN TRZCINSKI-CLEMENT: Got it.
You submitted a number of content pieces
to the Google Dev Library.
Two of those got selected.
One is a blog post, and one is a GitHub repo.
I'd like you to talk a little bit about that GitHub repo
because, if I'm not mistaken, you've
titled it "Space Launches."
And it's a mobile app which displays
a list of all the upcoming space missions, the space mission
launches, if I'm not incorrect.
Can you describe a little bit what it does?
Maybe I'll show something live as you
speak when I do the edit.
But explain to us what it does and what
gave the idea to you to create something
like this about space missions.
Or are you going to tell me you're an astronaut as well?
ANNA LEUSHCHENKO: That's quite an interesting history.
So I am part of Flutteristas community.
You might have heard of it.
It's a community for women and non-binary folks
who have interest in Flutter.
And last year in April, we had the first Flutteristas
conference, where our community members were invited to speak.
And everyone in the world was invited to the audience.
And I really wanted to give a talk there.
It was, by the way, my first public talk.
So I was pretty nervous about that one.
Well, I usually am nervous about public speaking.
And I wanted to speak about cogeneration.
Like, you add a package to your project.
You make some setup.
And then you run cogeneration and wait for, like,
one minute, 30 seconds.
I don't know.
Then you do some coding and repeat the process
because I wanted to highlight several products.
And I needed some stories to fill in this time.
So I thought, what the community might be interested in.
Like, let me speak about the history of space exploration.
So my presentation is divided into parts
where I plug in some short stories about shuttle history,
from the first scientific fantasy books on space
exploration to shuttle mission.
And to support this theme, I have
developed an application that actually displays
a list of space launches.
And it benefits from different cogenerating packages.
So the entire application is a highlight
of how Flutter developers can leverage cogeneration, as well
as, it supports my topic, which was code less,
deliver more on the Flutteristas conference.
SEBASTIAN TRZCINSKI-CLEMENT: Very nice.
In terms of the data feed for the upcoming missions,
where do you get it from, NASA?
Or other--
ANNA LEUSHCHENKO: Mm-hmm.
There is an open API--
I'm sure there are some links in the presentation.
So basically, you can request all the upcoming space
launches, those that are about to happen
and those that just happened.
And honestly, I was so excited that,
while developing this application--
it took me some time--
so each day, there are new launches happening.
It's so exciting to see how the humanity progresses
in space exploration.
SEBASTIAN TRZCINSKI-CLEMENT: Your talk, was it recorded?
Is it on YouTube?
ANNA LEUSHCHENKO: Yes, it should be available on the Flutter
community YouTube channel.
SEBASTIAN TRZCINSKI-CLEMENT: Excellent.
So I'll try to find the link.
Or you can send it to me.
And I'll put it in the description as well.
So people can find out about it.
Now that you've teased everyone about your presentation,
I'll make sure to include it and share it with everybody.
Can I ask you a question around, what
would be your best advice when it comes to people who want
to start with computer science?
You talked about your own journey.
What would be the advice that you give to others when
they start on their journey learning computer science
and evolving in that field?
ANNA LEUSHCHENKO: My advice would be the same
as it was for myself.
Follow your passion.
This way, you will never have troubles overcoming
the struggles that software engineering might
bring to your life.
SEBASTIAN TRZCINSKI-CLEMENT: What excites you going forward?
Are there any specific versions of Flutter
or features of Flutter or other things
that you're excited about?
Or even other areas, Google technologies,
that you haven't played with yet and that you
are interested to try and code with?
ANNA LEUSHCHENKO: As for Flutter,
it's exciting to see how it evolves,
how it conquers new platforms, delivers new features,
yet still remaining so performant,
yet keeping up this magnificent developer experience
with [INAUDIBLE] start, how the community around Flutter
is supportive and providing the help,
advice, resources needed for developers to evolve.
And as for other Google technologies,
I honestly admire Firebase products and the way
they play nicely with Flutter.
I love to see that there are--
Firebase and Flutter are topics that go together really
often in the community.
SEBASTIAN TRZCINSKI-CLEMENT: Excellent.
Any final few words any words you'd
like to share with fellow developers
out there in the world?
ANNA LEUSHCHENKO: I'd say it's sharing.
Sharing my knowledge led me to be where I am now.
Sharing our common knowledge through open source
helped us build this beautiful community.
It is helping us building beautiful products
on a daily basis.
So sharing can have different forms and shapes.
And also, sometimes you might think, well, nobody cares.
What do you have to share?
That is not true.
Believe me, I've been there.
And please feel encouraged and empowered to share.
And we'll also be waiting for what you have to share.
SEBASTIAN TRZCINSKI-CLEMENT: There
is one common thread among all of you
who have contributed to Dev Library.
It's really this desire, this motivation,
this passion to share the knowledge
and make other people successful beyond yourself.
So I want to thank you for that.
But I also want to thank you for speaking in English with me
because obviously, it's not your native language.
It's not my native language either,
but I don't speak Ukrainian.
I'm sorry.
So thank you for taking the trouble.
And thank you very much, Anna.
ANNA LEUSHCHENKO: Thank you, Sebastian, for having me.
[MUSIC PLAYING]