Episode 9: with Tamara Atanasoska

Episode 9: with Tamara Atanasoska
Subscribe to our Podcast Listen on Apple Podcast Listen on YouTube Podcasts Listen on Spotify
Read Transcript
00:20 Hi everyone.
00:21 Welcome to PyPodcats, the Hidden
00:24 Figures of Python podcast series.
00:26 The PyPodcats is, a podcast
00:29 highlighting voices from
00:30 the underrepresented group
00:32 members of the Python community.
00:34 So we do have a Code of Conduct
00:36 that is following
00:37 the PSF Code of Conduct.
00:39 And if you're interested
00:40 to know more, you can always,
00:42 check out our website.
00:44 Very excited to be back because
00:46 this is 2025, probably the first
00:50 guest for our 2025 podcast.
00:53 My name is Georgi and I'm one
00:55 of the PyPodcats hosts
00:57 and I'm based in Amsterdam.
01:00 Also one of the PSF Director
01:03 of the Board.
01:05 And to you, Mariatta.
01:06 Hi everybody.
01:07 I'm excited that we are
01:09 resuming the PyPodcast series.
01:12 My name is Mariatta, I'm based
01:14 in Vancouver, Canada and I'm
01:16 in the Python community.
01:18 I've been contributing for many
01:19 years as open source contributor.
01:23 I'm also one of the Python core
01:24 developers and, and I'm also
01:26 involved in the PyLadies community.
01:28 Our guest today is Tamara.
01:30 Tamara, can you introduce yourself?
01:33 Hi.
01:33 Thank you so much for having me.
01:34 I'm also really excited
01:36 to be the first guest for 2025.
01:40 So I'm Tamara.
01:41 I, am currently an Open
01:44 Source Software Engineer.
01:46 That's my title
01:46 at a company called Probabl.
01:48 Probabl is the brand ambassador
01:50 for scikit-learn.
01:52 And my job there is I work
01:55 in the open source team
01:55 so I'm sponsored to work
01:57 on open source packages.
01:58 One of my jobs, includes
02:01 maintaining Fairlearn that I
02:02 hope we're going to talk about
02:04 a bit more later about.
02:05 And I do contribute to scikit-learn
02:07 and I've contributed to another
02:09 package recently called Spops.
02:11 At the same time, some of my time
02:13 in the week goes to research.
02:15 That's going to become
02:16 my master thesis.
02:19 I am part of a program that's mainly
02:21 about computational linguistics,
02:23 but also has some cognitive science.
02:24 Yes, that's me at the moment.
02:26 I've also been involved,
02:27 I guess in the Python community
02:28 for over a decade.
02:30 So there's a lot different.
02:33 Yes, since 2012 it's been a bit.
02:38 Wow, it's been a while.
02:41 Yeah.
02:42 That's crazy.
02:44 So, yeah, you were just
02:46 talking about Fairlearn.
02:48 So what is Fairlearn about?
02:49 It sounds like a game for me.
02:52 With the name
02:54 Learning Fair.
02:55 Yeah.
02:56 So Fairlearn is a, I guess the best
02:59 way to describe it is a toolkit
03:00 is a library that it provides tools
03:02 for data scientists to work on.
03:06 Increase the AI safety
03:07 of their applications.
03:10 So I think if we don't go too
03:13 deep we can think of FairLearn
03:16 as a library that provides
03:18 metrics and also provides a
03:21 specific kind of methods for
03:24 assessment and mitigation of
03:26 unfairness in this case.
03:28 But it is based on a specific type of
03:30 fairness, which is group fairness.
03:32 And what does that mean?
03:34 I think it's important to address
03:36 is that we have tools for people to
03:38 evaluate how a model would perform
03:41 for different groups of people.
03:44 And in Fairlearn we call this
03:46 groups of people sensitive
03:47 features but they can be any kind
03:49 of subgroup that you want
03:50 to make sure the algorithm or
03:52 the model performs fair for.
03:53 We can think of any
03:54 examples like sex or race or any,
03:57 any really combination
03:58 of the subgroups as well.
04:00 This is based on something called
04:02 disaggregated evaluation.
04:04 And these are the metrics
04:05 and the other methods help with.
04:07 Do you have any like case
04:09 study of a company
04:11 or a project that uses Fairlearn?
04:13 I love this question because
04:15 it's a, it's an interesting
04:16 problem that we have.
04:17 We do really love working
04:19 on this and it's part of my
04:23 the research does, I read
04:24 papers around this method.
04:26 But one of the core problems is
04:29 that a lot of the people who do use
04:30 the library and there are plenty
04:32 because I think in December
04:34 there were half a million downloads.
04:37 Whoa, is that.
04:39 Yes, it's big and it's
04:41 interesting that it's really hard
04:42 to get any data about it.
04:44 And this is as somebody that's
04:47 just getting in this area
04:48 from an academic standpoint,
04:50 I wasn't in it before.
04:52 I learned from the senior
04:53 researchers that a lot of the
04:54 companies do not really want to
04:56 discuss the usage of these kinds
04:58 of tools and would definitely
05:00 not make any of their data sets
05:02 available.
05:03 But if you go on the website
05:05 I think this is one of the biggest.
05:07 Despite the excellent metrics
05:09 and really careful editorial,
05:11 decisions that are made and we
05:13 really do not add anything that
05:15 hasn't been mindfully vetted.
05:16 In a sense one of the biggest things
05:18 that we focus on is education.
05:20 So if you, if somebody opens the
05:21 website there is a place with
05:23 example notebooks and there in the
05:25 example notebooks there is one
05:28 white paper that was made by
05:30 Microsoft who started the library
05:32 many years ago.
05:33 But now it's community led.
05:34 Ernst and Young, if I pronounce
05:36 that right, that worked on
05:38 credit fairness in the states
05:41 between male and female applicants.
05:44 And it's a really interesting
05:45 case study to read of course,
05:48 one can assume there are
05:49 constantly this kind of scandals
05:51 coming out in the open.
05:53 You could assume that somebody
05:54 uses something somewhere.
05:56 Sometimes people from governments or
05:58 from different institutions come
05:59 to our community calls which are
06:00 by the way open for everyone.
06:02 They happen every second week
06:04 at 6pm Berlin time.
06:05 I don't know what is that
06:07 in other time zones?
06:09 Easily.
06:10 People can easily find it
06:11 on the website.
06:12 The time zone problem.
06:14 Yeah, most of the people that
06:16 contribute are coming from the U.S.
06:18 so they, they always say their
06:19 time and I always forget because I'm
06:21 in Europe, in Berlin.
06:24 Yes.
06:24 So this is a very
06:25 interesting question.
06:25 And if anybody's listening
06:27 to this that's using
06:28 Fairlearn, we have a survey,
06:31 that we just recently made.
06:33 One of our maintainers, Michael
06:36 created it for this specific purpose
06:38 because we are a bit in the dark.
06:40 We would like to serve the community
06:41 better, but we would
06:43 need the community to,
06:44 to be brave to talk to us about
06:46 how they use the tools.
06:49 Yeah, okay.
06:50 Yeah.
06:50 Share the link with us.
06:52 Maybe, we'll share it when
06:54 would be amazing.
06:55 Yeah, yeah.
06:56 So people who use Fairlearn
06:58 share how you actually use it.
07:00 Yeah, I find it, it's interesting.
07:03 Do you think people hesitant
07:05 to share like they don't want, they
07:07 don't want to tell that they are
07:09 using Fairlearn or what is,
07:11 is there a reason they are not?
07:12 I think a lot of the models
07:16 will have maybe non ideal results.
07:19 Now this is another
07:20 interesting question.
07:21 So one thing is to assess unfairness.
07:24 You would start for example
07:25 with defining your sensitive
07:27 groups and understanding what
07:29 your specific use case is.
07:30 It always has to be specific.
07:31 And then you would pick the right
07:33 metric that different metrics
07:34 like demographic parity
07:35 of equal odds, you can assume what
07:37 they mean maybe by the name
07:39 where we can discuss them.
07:40 But after that you can use some of
07:42 these to assess how the model works.
07:44 In case of demographic parity,
07:46 for example, is this you know, equal
07:47 for the demographics involved?
07:49 But the mitigation itself,
07:52 it's a, we do provide some tools
07:55 for mitigation in the library.
07:57 And there are many, many
07:58 other ways to do mitigation.
08:00 But mitigation, it's really not easy.
08:02 It's a very case to case, basis
08:05 and the answer might be in your
08:07 data, in adjusting your predictions,
08:09 in balancing some other ways.
08:11 There are other ways
08:12 of mitigating with intermediate
08:15 representations and so on.
08:16 It can get pretty complicated.
08:17 But only you can do this
08:19 in your own use.
08:20 And it's not easy to do after
08:22 you've set up everything to redo.
08:24 Because fairness has to be
08:26 from the very beginning considered.
08:28 When you create a product
08:30 or a model, it has to.
08:31 The idea of it being fair has
08:34 to be woven into the whole process.
08:35 And I think a lot of people maybe,
08:37 yes, they assess at the end and then
08:40 I don't know what they do.
08:41 Right.
08:41 What if like halfway through
08:43 they say, oh, actually
08:45 I forgot something that we
08:47 should actually add on to it.
08:49 What did they do?
08:51 I don't know.
08:51 I would like to know what people do.
08:55 I, I recently became a, part
08:57 of a very, very big Slack
08:59 channel and I was asking people,
09:00 hi, how do you use fairness?
09:02 Please tell me something.
09:03 Nobody told me anything still,
09:05 but maybe somebody will.
09:07 Okay, yeah, hopefully we get to
09:10 share your survey and so hopefully
09:11 you get responses and you get
09:14 to learn more about the user.
09:16 I do believe there are some maybe
09:17 like big companies have idea
09:19 about this in their own internal
09:21 teams and senior researchers.
09:22 But you cannot say
09:23 anything about this.
09:25 Yeah.
09:26 So let's bring it all the way
09:30 to the beginning.
09:31 Like we are here talking
09:33 about the Python community.
09:34 So I'm actually kind
09:35 of interested to know how you
09:37 actually started using Python.
09:39 Yeah.
09:39 So Python wasn't the first
09:42 language that I work with.
09:45 I started during my studies
09:48 in the late 2000s.
09:49 They didn't really teach
09:50 Python at universities.
09:51 We studied C and C++ I believe.
09:55 And then I did my first Google Summer
09:58 of Code contributing gnome.
09:59 It was in C&GTK if I
10:02 remember it was 2011.
10:05 And then I was also
10:07 very politically active at the time.
10:10 And I went, I was, it was time
10:12 for the second GSoC.
10:14 And then I was okay, I want to do
10:16 something that's really specific
10:18 about citizen participation and
10:21 works really, really directly
10:23 addresses, not indirectly as any
10:25 open source would, but directly
10:27 addresses a political issue.
10:29 And I found a small project
10:31 from Spain called e-cidadania.
10:34 I don't know if you pronounce
10:35 that right now, I am
10:37 in Spanish, but it was a citizen
10:41 participation platform.
10:42 Exactly.
10:43 And it was in the time it used
10:45 Django and JavaScript to create this
10:49 little kanban like discussion,
10:52 if I can describe it now.
10:54 And it was supposed to be used by
10:55 the local government, if I remember
10:57 right, to increase the participation
11:00 of the local people who live there.
11:03 And we worked on that.
11:05 It was really fun.
11:07 And then I think I just never
11:09 stopped working with Python
11:11 because I learned Django
11:12 and I felt so empowered.
11:13 I was, I can do anything now.
11:18 Yeah, because Django was, wow,
11:21 these kind of frameworks
11:22 in 2012, 2013, I was like, I can
11:24 build any website I want.
11:27 And then I, then I also had
11:29 a job and a think tank.
11:31 I worked at a think tank
11:32 as a software engineer.
11:33 I had a little team and we did
11:35 projects that were meant for,
11:38 to increase either awareness
11:40 or address social issues.
11:41 It was really still my favorite
11:43 job so many years after.
11:45 And this is.
11:46 I could directly just use my
11:47 skills there and I felt just.
11:50 Yes.
11:51 And I still do Python.
11:52 That's very cool and I love that.
11:54 I think we need to
11:56 highlight that quote.
11:57 Just now like, with Django,
11:59 you feel so empowered.
12:03 I remember thinking
12:04 I can, I wanted to.
12:06 I can do everything now.
12:08 I know I, I'm a big fan
12:11 of the Django web framework myself.
12:13 That's what I also use
12:14 professionally.
12:15 So.
12:15 And I totally agree.
12:17 Like, I mean right now I'm like
12:21 I'm trying to replace all
12:23 my spreadsheets with Django.
12:27 I'm trying.
12:28 But yes, I love it at the end.
12:30 It will be easier to edit eventually.
12:32 Yeah, yeah, I think.
12:34 Yeah, yeah.
12:35 So you know, It's Django
12:39 in 2012 that was.
12:41 I think it was like Django one point
12:43 something probably, or Django two.
12:46 I don't know that it's
12:47 a long time ago.
12:48 I wonder if you had encountered any
12:51 difficulties or other
12:53 limitations when working with
12:55 Django and Python back then.
12:57 So I think, people can.
12:59 It's archived now on GitHub, our
13:01 repository from then, but they can
13:03 go and still see the type of commits
13:04 and PRs that we did in the past.
13:07 They're not what I would do now.
13:08 But I am not embarrassed
13:10 from my beginnings.
13:11 They can check out how
13:12 we did Django then.
13:15 Yes, there were plenty of, growing
13:17 pains as somebody that only did
13:20 C and C++ and thought in a very
13:22 different way about programming.
13:24 And I never did web before
13:25 in the, in the time.
13:26 And it was all I had to start doing
13:29 to apply for the GSoC.
13:32 I really, really wanted it.
13:34 And I was part of a hacker space
13:36 for those few years already.
13:39 And it's lovely because when
13:41 you're part of a hacker space
13:43 you have so many people
13:44 that are just there to hang out
13:46 and hack and code and mentor.
13:49 And there was a person called
13:51 Vladan, which is shout out
13:52 to Vladan if he ever hears this.
13:55 And I remember that he was a great
13:58 help to just push me to learn
14:00 and get this through this.
14:02 Growing pains faster.
14:03 Yeah, I think there was a lot
14:05 in the, in the time that
14:07 it wasn't just learning Django,
14:09 which maybe I don't know.
14:11 I think a big part of learning Django
14:12 is learning how the web works.
14:14 When you're beginning with Django,
14:16 I think, I knew theoretically
14:19 from my studies because we
14:20 did networking and so on.
14:21 I have a Computer Science
14:22 degree that I did before that.
14:24 By the time I had it finished
14:25 by 2012, I was trying
14:27 to, I started the masters.
14:30 But yeah, I think, I think it
14:33 was just so lovely and it was very
14:35 different from my C&GTK
14:38 experience the year before that.
14:40 It was no going back,
14:42 but it wasn't, it wasn't fully
14:44 straightforward, that's for sure.
14:45 It's just, it's hard for me
14:46 to remember was 13 years ago.
14:51 I remember somewhere, somehow
14:55 in one of my high school or
14:58 polytechnic days we have basic
15:01 Computer Science and I learned C
15:04 there and I un-seen it.
15:06 Now I C and un-C.
15:15 Yeah, it was a lot.
15:17 C.
15:17 was a lot.
15:17 I think people still do it
15:19 now, I guess, but they are.
15:20 They do, they do, they do.
15:22 It's CPython.
15:23 Exactly.
15:25 Yes.
15:26 When we built Python,
15:28 it's still used.
15:30 But yeah, I also, I, I use Java and C#
15:34 before I learned Python,
15:36 but once I use Python, yeah, I'm.
15:38 This is the language I feel like
15:41 makes sense to me, you know, it's.
15:43 Also, it's so versatile.
15:45 So in back then I did web and then
15:47 I did web for a few years and
15:49 then in 2015 I got a job where I
15:53 used Python to write hardware
15:54 bindings, which was for music
15:56 instrument.
15:57 It was really fun.
15:59 And then I, then I transitioned
16:02 to doing machine learning and NLP,
16:04 which one my degree is in.
16:06 So Python is very versatile.
16:08 It is, it's not just
16:10 Django that's empowering.
16:11 It's like you have a language
16:13 that will take you through all
16:14 of this that you can
16:16 lean back as a basis on.
16:18 I love that.
16:19 Can you talk more about your
16:21 involvement in the Python community?
16:23 Like how or.
16:25 I know you said you started using
16:27 Django and Python, but that's using
16:30 the language but then you become
16:32 involved in the community.
16:33 Can you talk more about that?
16:35 Yes.
16:36 So, I guess by getting involved
16:39 in Python as a community slightly
16:41 related to my immigration because
16:43 I come from a country
16:45 that's now called North Macedonia.
16:47 Wasn't called like this
16:48 where I lived there.
16:50 But so in there wasn't any
16:53 separate Python community,
16:55 although I already contributed
16:56 open source-wise to Python.
16:58 It was we were all one
17:03 technical community so to say.
17:05 And since I was mostly I was tightly
17:08 intertwined with a Gno,me community
17:10 before went to their conferences.
17:13 I was involved in the pre-
17:15 Outreachy kind of groups.
17:18 And so on.
17:21 I did program in Python
17:23 but I never saw the community
17:24 as a separate thing.
17:25 And when I immigrated or was trying
17:28 to immigrate to Berlin in 2013,
17:30 I get to know the PyLadies.
17:32 The PyLadies.
17:33 This is one of the people,
17:35 the first people that showed their
17:37 welcome for me in the city.
17:39 So it's still my longest
17:41 standing relationship and I
17:42 really appreciate it.
17:44 I don't think I would have
17:45 moved if they did not
17:46 were so welcoming to me.
17:48 There's Meili.
17:49 I don't know if she's ever gonna
17:51 hear this but she's still my friend
17:52 and somehow I met her and she
17:55 invited me to give a talk about
17:58 all this political projects.
18:01 I did politically related projects
18:03 that were connected
18:04 to raising awareness or.
18:05 And they were all in Python
18:07 at the time.
18:08 As I said, empowered
18:09 to do everything.
18:10 And I remember doing that talk.
18:12 I don't remember anymore.
18:13 I cannot find any of the slides.
18:15 But I went.
18:16 I had to go back to where I was
18:19 from because you cannot apply
18:20 for a visa from Germany.
18:22 And I had to figure all of that out.
18:24 And when I came back the community
18:27 was there and that was really great.
18:28 And some of those people that I've
18:30 met there are still some of my
18:32 closest friends where I'm here.
18:34 So Yeah.
18:38 I have never been truly organizing
18:40 in the community
18:41 but I've given several talks.
18:45 My most recent one was in January.
18:48 I always go back when I have
18:49 something new and what I really want
18:51 to share with with the community.
18:54 And I, I mentor in sprints.
18:57 I've mentored Django girls
18:59 and similar kind of events.
19:02 Wherever there is help
19:03 needed of the sort.
19:05 Yes.
19:05 So I guess in that way I do.
19:08 Except well separate from
19:10 my open source work I did.
19:12 It's.
19:12 It's.
19:13 It's worth mentioning that during
19:14 the pandemic and when my, When I was
19:18 a very new mom, that was more rare.
19:21 I think I do a bit more now
19:22 than I did in those years.
19:25 Wow.
19:25 But that.
19:26 That sounds a lot like you
19:29 are still pretty involved.
19:30 I mean right from the beginning till.
19:33 Till what you are at right now
19:35 and like getting involved
19:38 in code, on the contribution,
19:40 that's quite a bit of time there.
19:42 And plus the community,
19:44 plus getting, sharing your.
19:47 Your knowledge to the community
19:49 by giving talks and then
19:52 finally adding it to like providing
19:55 giving mentorship which is like wow.
19:58 From zero to all the, all
20:00 the level, from beginners all
20:02 the way to the expert
20:04 levels, you cover everything.
20:06 So thank you.
20:08 Yeah, I mean it's, it's really
20:10 amazing to see someone like you who
20:13 are so, so passionate about sharing
20:17 what you know to the community.
20:19 And I think because of people like
20:21 you, we get to learn more and we
20:24 get to understand a lot, a lot
20:25 more about how we can use the
20:29 different cases and how we can
20:31 actually learn literally when you
20:33 mentor people.
20:35 So I'm actually very, very
20:37 interested to know like
20:39 how do you work on mentorship?
20:42 Because I recently had
20:44 very interesting conversation with
20:47 Djangonauts Space people and we are
20:50 talking about how we could actually
20:53 improve on mentorship.
20:56 So I would like to hear from
20:57 your point of view, like,
20:58 how do you actually started
21:00 like mentoring people
21:01 and to get people to understand or
21:03 to get people to learn?
21:05 Because people, when they
21:06 learn they come from all sorts
21:08 of all walks of life.
21:09 I think I have to mention something.
21:12 For me, mentorship is part
21:14 of my core values and it's related
21:19 to justice for me.
21:22 I come from a working class family
21:24 that didn't have a lot of resources
21:26 and it was really hard
21:27 for me to stay and get access
21:29 to more education programs.
21:32 Like the way my hackerspace friends
21:34 helped me with those Google Summer
21:35 of Code projects, made me pay off my
21:39 student loans that I had and I
21:41 wouldn't be here without them.
21:43 And the effort I do for me is just
21:48 a way to keep this going,
21:49 taking people with me on the journey
21:52 and it's never going to stop.
21:53 It's just part of my ethos,
21:55 in a sense.
21:56 So every time I show up, I show
21:58 up with this in mind.
21:59 So every time I get an idea
22:00 to talk at the PyLadies, it's.
22:02 I learned, I think in my last talk
22:04 I said that my company also does
22:08 certification for Scikit Learn, so
22:10 maybe people should check it out.
22:12 It's, they're really doing
22:13 a great job with it.
22:14 And there was an expert topic they
22:17 they mentioned and I was like, okay,
22:18 they mention it as an expert topic
22:20 as part of the expert certification.
22:22 I'm making a talk immediately
22:23 to bring it to the PyLadies because
22:25 I want these people to live the room
22:27 feeling as experts in that night.
22:30 So this is what guides me.
22:32 What got me into this was this,
22:33 of course, this experience with
22:35 the hackerspace which predates this
22:38 immigration experience and all
22:39 the more deep Python involvement.
22:42 And also I gained some skill by being
22:45 a TA at the university. My first
22:48 degree, that was a really long time.
22:50 I think their skills were refined.
22:52 I have a very different
22:54 approach now than I had when I was
22:56 a child at university,
22:57 so to say, a young person.
22:59 Yeah.
23:00 And for the, how do
23:01 we, how do we mentor.
23:02 I think there as open source in
23:05 open source contribution sprints or
23:07 for people to get involved.
23:08 There is a specific, I do have very
23:11 specific ideas there that I'm
23:13 trying now as a first, I'm a, I've
23:14 been involved for so long, but I've
23:16 never been a maintainer and I've
23:18 even had keynotes to talk to other
23:20 people.
23:20 I never had the chance
23:21 to any, to implement anything
23:23 of what I've been saying.
23:24 I could only hope that other
23:25 people would implement it.
23:27 And now I'm trying to pour into
23:30 the project as much as I can and it
23:34 shows in the way we do our sprints
23:36 and the way we try to retain people.
23:38 Some things for me that
23:40 are really, really important are
23:42 structure and process and a focus
23:45 on continuous involvement.
23:48 And I'm really trying to work
23:50 on these aspects at the moment.
23:52 So not just getting people in, we
23:54 can do a sprint, but we want people
23:56 to stay and work with us.
23:57 We want them to feel nice and welcome
24:00 and necessary and useful and to
24:05 take this knowledge out as well
24:07 out in their other projects.
24:09 Could you share some examples of
24:12 how you plan to implement this?
24:14 Like I know you mentioned you have
24:15 some ideas and you felt like
24:18 because you weren't a maintainer
24:20 you couldn't implement this.
24:22 And that's an interesting topic.
24:25 Maybe I'll ask about it
24:26 a little bit later.
24:27 But now you have these ideas.
24:29 Can you share a little bit,
24:31 a snippet of what it is?
24:33 Yeah, I think for different projects
24:35 it will mean a different thing.
24:36 So for example, things that
24:38 I've worked on recently
24:40 that turned out to be great.
24:42 I just.
24:43 When was it?
24:44 It was three weeks ago.
24:45 Two weeks ago we had a sprint.
24:48 And I.
24:48 That's very recent.
24:50 but it wasn't
24:54 the only sprint recently.
24:55 So I spent two weeks before
24:58 the sprint digging up,
24:59 first issues that were.
25:01 There was a gradation there
25:02 but they were all separate,
25:04 not part of a giant one.
25:05 They didn't involve so much thinking,
25:07 but they were perfect for teaching
25:08 the process and making closing.
25:12 So making a PR that can be
25:14 also merged really quickly.
25:15 So everybody that participated in
25:17 the sprint made a PR by the end of
25:19 it and everybody was really happy.
25:21 So we don't know how many of these
25:22 people are going to stay but for
25:24 example, in our Discord channel, I
25:27 constantly post whenever there is
25:28 a new issue, how difficult it is.
25:32 I offer help for people to continue.
25:36 And we had, for example
25:37 from the PyLadiesCon,
25:38 we had a person that joined.
25:40 I was just me online, there not.
25:44 It was not in person.
25:44 Right.
25:45 It was an online conference and we
25:46 had a person that did heard about
25:49 the project, but didn't really have
25:51 time to participate and now is still
25:53 one of our most active contributors.
25:56 Yes, shout out to Neha.
25:58 Yes, she's lovely.
25:59 And for example, right now she
26:03 is interested in helping with
26:04 some of the project management
26:05 efforts that we're doing.
26:07 And it's really cool.
26:09 We have an issue together at a link.
26:12 She has been a collaborator
26:13 to redo all the documentation
26:16 for newcomers as well.
26:18 The perspective of people
26:19 new to projects,
26:20 is really, really valuable.
26:22 And right now I think
26:24 this is the biggest project
26:25 that I want to do.
26:26 We seem to be attracting
26:28 and people are really happy
26:29 at the sprints, but there is a bit
26:31 of a structure and process
26:32 lacking for them staying.
26:35 And although we have a lot
26:37 of downloads, as I mentioned,
26:39 the project is really small.
26:41 There are not a lot of maintainers,
26:43 that are very active or just.
26:45 It's just a small project.
26:46 It's okay as it is for just
26:48 the maintenance, but for growing or
26:50 for including people, we need to do
26:53 a little bit more and we want to.
26:55 So right now I'm having an initiative
26:57 to organize things in
27:00 little groups so people, when they
27:01 come into the project can be
27:03 interested in a specific group.
27:05 So to say it doesn't have.
27:07 They mean they can also build
27:08 expertise and be an expert person
27:10 in the documentation.
27:11 That is awesome.
27:12 But it needs to be presented
27:13 in a way that it shows a path.
27:15 We don't have that right now.
27:16 I think a lot of big projects
27:18 definitely have this.
27:20 That's why I say it's dependent
27:21 on the project or things like, other
27:23 types of improvements because it's.
27:25 People come to a project like,
27:26 okay, I'm going to contribute,
27:28 let's do this, a little bit of that.
27:29 But a big Python code base
27:32 doesn't have just one type of thing.
27:35 I've been.
27:35 Most of the things I've been
27:37 contributing for this last month
27:39 have been Scikit Learn, cross
27:40 compatibility because I also
27:42 work with Scikit Learn and
27:43 improving Fairlearn to be
27:45 seamlessly used in the Scikit
27:47 Learn pipelines and so on.
27:49 And this is just one type of thing.
27:51 You don't have to be an expert
27:52 in anything and I want to make this
27:54 explicit by, by categorizing thing
27:57 so people can find their own niche
27:59 and feel confident in it.
28:01 So not just oh the for example
28:03 the FairLearns methods are really
28:06 quite a bit of advanced knowledge
28:08 in maths or statistics and this
28:11 can be very intimidating.
28:12 Somebody joined the PyLadiesCon
28:14 and told me that they felt
28:16 more intimidating contributing
28:18 to the Fairlearn compares than
28:19 the Python core which then
28:21 I felt okay, we need to, yes.
28:23 Fix this.
28:26 I think some of our
28:27 methods look very cryptic.
28:28 We need.
28:29 And we are definitely
28:30 working on fixing it.
28:33 So this is one of the efforts.
28:35 Yeah, so that's what I mean.
28:35 You don't need
28:36 to understand this math.
28:37 There's so many other places
28:38 you could be essential.
28:40 There's just so much
28:41 work always to be done.
28:42 But it's not explicit and we're
28:44 not showing people gradation
28:45 how they build the skills.
28:47 There's also a lot of, volunteer
28:49 time is precious and you
28:53 know maintainers need to support
28:55 like as a maintener,
28:56 Easy for me to get lost
28:57 in my little technical hole so
28:59 to say digging endlessly.
29:01 But I think I'm more useful.
29:03 unblocking others
29:04 and supporting the project to stay.
29:06 So this is my, I'm doing the more
29:08 grunty work myself because I want
29:10 others to you know do this kinds
29:12 of things for our project.
29:13 This, we don't have any
29:14 of this but I, I've been involved
29:16 in projects like Gnome
29:17 which are my inspiration.
29:19 I have to say I don't know
29:19 how it is right now.
29:21 I have not been contributing
29:23 for such a long time and they
29:25 had such strong organization
29:27 where you could feel that
29:29 every contribution is really valued.
29:33 Every type of contribution.
29:34 That's something
29:35 that we have lacking a
29:37 little bit still the code,
29:40 a few appreciators.
29:41 Yeah.
29:42 But also every type, not just
29:43 the programming and specific type
29:45 of programming being celebrated.
29:47 Yeah.
29:48 Because everything
29:48 is really valuable.
29:50 It's true, it's true.
29:51 Yeah.
29:52 I feel like the fact that
29:54 you phrase it that way.
29:55 I do feel that there is
29:57 this, how do I say it?
29:59 Like appearance like that
30:02 code contribution is
30:04 being celebrated more compared to
30:07 other kind of contribution.
30:09 Like it's hard to.
30:11 Yeah.
30:11 I don't know how to address that
30:13 I mean every contribution counts
30:16 because yeah Open source
30:18 doesn't mean it's zero effort.
30:22 Anything that anyone volunteers
30:24 to do something, it matters.
30:27 Absolutely.
30:28 But I don't think that people feel
30:29 this sometimes in the projects where
30:31 they work as somebody that has been
30:33 mostly contributing code to project
30:35 and wanted to do other things.
30:37 I could see the stark difference when
30:39 I would be in the different types
30:40 of contributing and also when I did, for
30:42 example, I did several jobs where
30:43 I had developer relations jobs.
30:45 And you could feel also
30:46 the difference there, how you're
30:49 perceived and how your
30:50 contributions are perceived.
30:52 I think this is a mindset, but it has
30:55 to come from the maintainers.
30:56 This true.
30:57 There's also a very common
31:00 discussion point that we talk
31:02 about is that a lot of people,
31:06 when they start sprints, it's
31:08 really hard, like to prepare for
31:12 the new contributors because
31:16 sometimes a lot of maintainers,
31:18 like you said, you're already
31:20 really deep into your project.
31:23 So your mindset is.
31:25 I already know that.
31:27 So some of the people who are new,
31:29 they get to like confused like
31:32 even the very basic on how to start
31:34 and how to get things going.
31:37 So like say, for example,
31:38 if there's one person coming
31:40 to join, it's easy.
31:41 What if like there's 10?
31:43 How do you prepare to get so
31:45 many different people to start?
31:48 So I wonder if you have a specific
31:52 idea how you manage that.
31:55 So for this particular sprint, I had
31:56 10 people and I was from my project.
32:02 I do had some help
32:03 from the second, people.
32:07 It was lovely.
32:08 I honestly, I think there's nothing
32:09 that fulfills me more than a group
32:11 of people, getting to know
32:13 and starting and seeing them glow by
32:15 the end because they've made a PR.
32:17 I.
32:18 That's.
32:18 It's just the most
32:19 fulfilling thing ever.
32:20 So I, So how we prepared.
32:22 There is an issue in Fairlearn, if
32:25 anybody's interested, that I started
32:26 to prepare for the sprint.
32:28 I did it with Neha.
32:29 Neha is great.
32:30 Thank you, Neha very much.
32:32 My main collaborator on the issue.
32:34 We did several points.
32:35 One of them we still
32:36 haven't fulfilled.
32:37 And for example, we went through
32:39 all the documentation and Neha had
32:42 ideas and rewrote some of it.
32:44 For example, we didn't have a step
32:46 explaining how to do a virtual
32:48 environment because this is just.
32:49 I.
32:49 Sometimes I just don't
32:51 think about it.
32:52 But it's.
32:52 Yeah, it's something
32:53 that we should do.
32:54 So we added these kinds of things.
32:56 We redid some language, added
32:57 some more links, added Code
32:59 of Conduct everywhere because we
33:01 didn't have it in enough places.
33:02 We redid the readme so it's
33:04 more easier for people to
33:06 just jump on different places.
33:09 What else?
33:09 There's more things that we did,
33:12 I don't remember.
33:13 The only thing we didn't
33:14 do was Create videos for
33:15 people to watch at home.
33:17 That is coming next.
33:18 I have a person that volunteered
33:19 to do it for Windows.
33:20 I don't have a Windows machine
33:22 and I will do it for MacOS.
33:24 And I.
33:24 And the main thing I did myself was
33:27 digging out just the right
33:28 type of issues because I did
33:30 study a bit of cognitive science
33:31 and early childhood development
33:33 and language and so on.
33:35 And one of the interests, biggest
33:38 interests that I have is learning
33:39 and learning itself for the brain.
33:42 And one of the biggest problems
33:45 with language learning for example
33:47 is the gap from B1 level
33:50 to like getting the next levels.
33:52 And this is because
33:54 the gradation of tasks disappears.
33:56 For somebody to be challenged
33:57 but not overwhelmed and quit.
33:59 You need the right type of task.
34:00 It needs to be not too hard
34:01 and not too easy.
34:03 And this is how you
34:05 go to the next level.
34:06 And this is the same type of thinking
34:08 has to be applied to an issue.
34:09 For a Sprint, for example, if it's
34:11 the documentation works,
34:13 they're not big hiccups.
34:14 There's the issue itself is teaching
34:17 you the flow does not require
34:19 an immense amount of digging.
34:22 It's just loud.
34:22 There are so many people.
34:23 So somebody can do this semi
34:25 independently after you have
34:27 unblocked them in some way.
34:28 That is a really good,
34:29 good first issue.
34:30 There could be a follow
34:31 up but the first issue
34:32 should be really easy.
34:34 It is a very hard thing
34:35 for projects too.
34:36 I hit them for good first issues.
34:38 Labels.
34:39 I put them under reserved
34:40 for Sprint for two weeks.
34:42 So they were not available
34:43 for the general public.
34:44 This is.
34:45 Yes, that will happen
34:47 every single time.
34:48 But yeah, we had some, some
34:49 for the, for the public.
34:50 I see that you're contributing
34:52 everywhere and things like that.
34:54 Like other than that, aside from
34:57 code and community, do you do any
35:01 other things like do you
35:03 have any personal interest or.
35:05 Yes, I guess I spend most
35:08 of my times when I'm not working or
35:11 doing work related things or
35:12 community things with my son.
35:14 I have a child, he's
35:16 gonna be seven soon.
35:18 Well very soon.
35:19 It's probably my favorite part
35:20 of the day most of the time.
35:22 Yes.
35:24 I also have a little blog or
35:27 a substack, however they call this
35:28 thing newsletter these days.
35:30 I moved my blog there and I
35:32 write about language, technology
35:34 and society which
35:37 are my main interests.
35:38 I don't write very often but if
35:40 people want to hear me talk about
35:41 these things they could subscribe.
35:45 Yes, I love to read and I love
35:48 literature and everything.
35:50 Literature again ties to my love
35:51 for language I have to say.
35:53 And I do take care
35:54 of a lot of plants.
35:55 Cool.
35:55 At the moment that's like a lot of
35:58 things that you, you're organizing.
36:01 Right?
36:02 Those are the recharging things.
36:04 Those my, my child and my books
36:07 and my thoughts about
36:10 language and, and society are
36:13 just, it's where I, I, I draw energy
36:15 from and sprints as I said.
36:17 I don't know.
36:19 That sounds like de-charging for me.
36:24 It's recharging for you.
36:26 So.
36:31 So with so many things that you have
36:34 in your mind, what is your plan like
36:37 you, that you want to work next?
36:39 Because it seems like you have some,
36:41 quite a lot of things going on like
36:44 the plans that you have in future.
36:46 I think in thinking about it
36:49 a lot personally as well.
36:51 I've spent the last 15 years
36:53 really guided by curiosity
36:56 and a giant desire for technical
36:59 newness and depth and just
37:02 creativity of that kind.
37:04 And these days, especially this
37:05 year, I realized that more and more
37:09 I get fulfilled by unblocking
37:12 others and growing others and
37:13 helping fostering environments
37:15 where things can involve as many
37:18 people as possible.
37:19 So I think in the next few years I
37:21 want to think and implement
37:22 initiatives in the projects I'm
37:24 involved in or as my day to day
37:26 job where I can uplift others and
37:29 empower and support and unblock
37:31 people.
37:31 I think that is, that's my
37:34 main focus at the moment,
37:35 or I would like it to be.
37:37 I'm still a software engineer
37:39 mostly at the time.
37:41 Still the idea of giving back, giving
37:44 back, like what you learn, you're
37:46 just, it just sounds so generous.
37:48 Like whatever you learn, you
37:49 just want to share and let
37:51 everyone know what you learn.
37:52 I mean I've been loved and helped.
37:54 Right.
37:54 It's only just to
37:56 continuously give back.
37:58 Wow.
37:59 We need 200 Tamaras out
38:02 there and the community
38:03 thrives immediately.
38:06 I think when I look at my friend,
38:08 Jessica Greene for example,
38:09 you must know Jessica Greene.
38:12 There is one at least that I
38:14 know that my friend Meili and all
38:16 of these other people
38:17 that I'm in touch, they're just
38:18 really, really generous.
38:19 They've been generous with me
38:20 and I want to be generous with
38:22 the world too as, as much as I can.
38:24 You know, we have seasons
38:25 in life where we can't and seasons
38:27 in life where we can definitely.
38:29 This is one of, this is one of those.
38:30 We don't know how long they last.
38:32 So true.
38:33 Yeah.
38:33 Well we have to, I mean
38:36 to represent the community.
38:37 I want to say thank you because this
38:39 is like really something that we
38:42 need to celebrate and thank people
38:45 like you who contribute so much and
38:48 to, to put in so much time and even
38:51 plan you are even thinking like,
38:54 what am I gonna do next to make it
38:56 better?
38:57 That's like, wow, crazy.
38:59 Thank you.
39:00 There's really no need.
39:02 Definitely.
39:03 I don't know.
39:04 There are so many people that
39:05 do way more, that's for sure.
39:07 The new here.
39:08 I mean, this is, this
39:09 is a lot of work.
39:10 So if, is there anything that
39:12 you, would like to share before
39:14 we close, this podcast episode?
39:16 Like, you like to share with our
39:18 audience on something that you
39:21 would want to give a shout out to?
39:23 Before we could end this episode, I.
39:25 Think it would be nice if people
39:26 try Fairlearn, give us,
39:30 an idea what they could use it for.
39:32 And we always have good first issues.
39:35 They can come work with us.
39:36 We have a Discord community
39:38 when we're always available.
39:39 And I'm always happy to help
39:40 people come into the community.
39:42 So I guess an open invite to anyone
39:44 that wants to join the project
39:45 in some way and help with AI
39:48 safety and algorithmic fairness.
39:50 So perhaps, you could also give us,
39:54 where they could reach out
39:55 to you if they would want to
39:57 reach out to you for mentorship.
39:59 I am on the PyLadies Slack channel,
40:02 but if they're not a PyLady
40:04 I only have a LinkedIn account.
40:05 I don't have any other social, media.
40:09 Okay.
40:09 And, I don't know if Substack
40:11 has some kind of feature
40:12 to talk to people, but, I think
40:15 LinkedIn is probably better
40:16 because I don't, I don't know
40:17 the answer to that question.
40:18 Okay.
40:19 You can see my last name,
40:20 I guess in the recording
40:22 and then you can find me.
40:23 And I'm happy to accept
40:24 anyone that sends a request.
40:26 Of course.
40:27 Sounds good.
40:28 So thank you very much,
40:29 Tamara, for your time taken.
40:32 It's still like, I'm still so
40:35 amazed by so much that you
40:37 have done over the years.
40:41 You can compile
40:42 and probably it's like.
40:46 It'S been many years.
40:47 There was time.
40:50 Yes.
40:51 For all those who are listening, you
40:54 can actually find us on, pypodcats.
40:56 That's pypodcats.live
41:02 on YouTube channel
41:04 on Apple Podcasts and Spotify.
41:06 For this episode.
41:07 You can also reach out to our website
41:10 and get more information about
41:12 the projects on tomorrow and how,
41:13 how you can reach, Tamara too.
41:15 Thank you so much everyone
41:17 for joining and, we'll see
41:19 you in the next episode.
41:21 Bye Bye.
41:23 Thank you so much again
41:24 for inviting me.
41:25 Goodbye.

We interviewed Tamara Atanasoska.

Tamara has been contributing to open source projects since 2012. She participated in Google Summer of Code to contribute to projects like Gnome and e-cidadania.

She is now a maintainer of Fairlearn, an open-source, community-driven project to help data scientists improve fairness of AI systems.

Hear how Django helps her feel empowered, and how the PyLadies Berlin community has helped her feel welcomed as a new immigrant in Germany.

In this episode, Tamara shares perspective about open source contributions, maintain, mentorship, and her experience in running beginner-friendly sprints.

Be sure to listen to the episode to learn all about Tamara’s inspiring story!

Topic discussed

  • Introductions
  • Getting to know Tamara
  • Her role at :probabl.
  • Her role as an open source maintainer for Fairlearn
  • What is Fairlearn and discussion about fairness in AI
  • The challenges in getting feedback from the users about the Fairlearn project
  • How she get started with Python and Django
  • Her political participation that led her to contributing to civic engagement open source project during Google Summer of Code
  • How Django helps her feel empowered
  • Her experience with hacker spaces
  • How the Python and PyLadies Berlin community helps her feel welcomed as a new immigrant in Berlin
  • How she gives back to the community by speaking, mentoring, and leading sprints
  • How she approaches mentorship, and why it is part of her core values.
  • Her ideas about leading beginner-friendly sprints
  • Her future endeavors

Note

This episode was recorded in March 2025. Tamara is still a software engineer, but no longer works at probabl.

To find out more about what she is currently up to, check her LinkedIn profile.

Get to know Tamara Atanasoska

Tamara Atanasoska

Tamara Atanasoska

Tamara is an open-source contributor and maintainer, a software engineer, and a CompLing/NLP researcher. Her expertise spans software engineering, ML/NLP, and areas including fair and responsible AI. She is a leader with proven track record of mentoring and fostering a culture of innovation and continuous improvement.

Stay in touch and support the Python Community

Related Posts

PyPodcats Have a New Logo

PyPodcats Have a New Logo

    After a year of placeholder art and indecision, the PyPodcats team finally have a real logo. And yes—it has a cat. On a mic. With a snake. We promise it makes sense.

    Read More

    Episode 3: with Vicky Twomey-Lee

    We interviewed Vicky Twomey-Lee to hear about how she started learning Python, and becoming involved with the Python community in Dublin, Ireland.

    Read More
    PyPodcats at PyCon US 2024

    PyPodcats at PyCon US 2024

      We’re so excited about PyCon US 2024 in Pittsburgh. It was the first time the four of the hosts were in the same room together to share news about our podcast series to the Python community.

      Read More