Breaking Myths: Women in Tech and Code Coverage Realities with Marharyta Nedzelska – Techstrong Unplugged EP52
Marharyta Nedzelska, a software engineer at Sonar, shares her journey into technology, transitioning from a passion for math to a career in programming. They discuss the challenges and biases women face in tech, the realities of being a working mom in the industry, and the systemic issues that often go unnoticed. Marharyta also previews her upcoming talk on code coverage at a tech conference, tackling misconceptions about its role in software quality.
Transcript
Welcome back to Textron Unplugged. My name is Cassandra Chin, and today we have Margarita Mescal. Yeah.
Hello Cassandra. Nice to be here. Hi, can you introduce yourself?
Yeah. My name is, uh, margarita Cassandra told you I am currently a software engineer at Sonar, mostly working on static code analysis in uh, GVM, like Java Coline. And, uh, recently I switched a little bit to mobile and helped to, uh, prepare the analyzer for DAR and Flatter.
And I'm also a mom and a woman in tech, so that's probably me. How did you get into technology? Um, that's interesting story because I was, uh, when I was a kid, I was studying in school that was mostly, uh, like language specifics.
So we learned English, a little bit of French. And, uh, I was interested in this technology, in this, uh, subject. However, math was always like my, uh, passion and always, uh, liked it pretty much.
And my parents didn't notice this. At, at the time when I wanted to go to the university, I decided to make math my profession. So I went to cybernetics faculty and initially I thought I would be scientists, uh, doing some inventions and some, uh, exploration in math.
Uh, but then I discovered that programming is my much bigger ion than math. And uh, this is how I started like doing my pet projects, working with other students. Uh, we had some startups then eventually I had my first, second, third job.
And, uh, I realized that I love programming much more than doing math for the sake of math. And, uh, this is why I'm here. Yeah.
Look, it's interesting that you like programming more because yes, I actually don't like math even, so I've been programming. No, yeah, that's, uh, interesting because my, uh, my childhood, when I thought about math, uh, the fact that I like was not like solving some equations or some, that's my, my passion was mostly problem solving. And apparently math was the only subject that gives you this.
Uh, then when in the university you realize that math is less about problem solving, but programming is like, software engineering is about more about problem solving. So I don't like, just like, uh, creating equations, uh, and looking at the beauty of mass while others, uh, could be really passionate about this. I really like to see the problem and to see that I can make a machine to fix it for me.
And, uh, that's like probably different mindsets. Um, 'cause the university, sometimes they're given some assignment you need to solve some, uh, know, complex equations, complex tasks. And I could definitely see that there are two group of students.
One group, they just took a paper pencil and they sold it by their hands. Another group, they spent much more time asking computer to do it for them, like writing the program to solve it because they were too lazy to solve the equation or solve this, uh, problem on the, on the paper. Uh, but they were like curious enough to make the computer do it.
However, when you ask the, uh, like want to program the solution, you still have to, uh, like solve it on paper because you need to test that everything works properly and you do the work and all three or five more times than the person and equations. But the beauty that in the end you'll have the program that works and then you can, so it now 100 more equation than uh, like a person who decided to go for a paper solution. But that's like two different mindsets, two different persons.
And I think like in the world, we need both. That's just, uh, you pref that's what you personally prefer. Yeah, I think what's interesting, I mean maybe can even have both parties work together.
Yeah. Um, how, what's your opinion on like being a woman in tech? Yeah.
Um, uh, that's a very like, uh, complex opinion because when I was really young, based on my, uh, like, uh, background being, uh, like being grown up in uh, Slavic country, I was really, uh, like keen on uh, fighting on the same level with men. Like I, I don't trust and like women in tech, I want to be, uh, like on the same level as men in terms that I don't want any positive discrimination. I don't wanna like have this, uh, any special treatment because I am a woman.
Like everything should be the same, should be equal. And everybody who fights for like better conditions for women are like just lazy to fight on the same level as men. That was like when I was probably 16, 17 years old.
And that worked like, because I was thinking if I can have my first job, if I can have my first like salary negotiations, if I, I can do it, probably other women can do it and they just are too lazy or, uh, like pretend that's or not smart enough. But then once you face your first problem, it could be harassment, it could be some problems with getting a high promotion, getting a higher salary. Then you realize that no matter how hard you try, the industry is still not working for you.
The industry is still designed for men and uh, um, once they started facing it that they could not get promotion, they could not get higher salary. And uh, if there is a male and female candidate for some reason they choose male. Like with no obvious explanation, uh, I found that it hurts.
And um, I remember I had a conversation with my friend who she was uh, a startup founder. They had a startup with uh, her partner. And she told me that every time on every business meeting, nobody wants to shake hands with you, with her, everybody shake hands with her, uh, partner.
Nobody wanted to have negotiations with her. Everybody like tried to have negotiations with his, with her partner and like here and there, there are small details while still, uh, the world is designed for men. And I think there is like a really, um, nice book about like, uh, the data behind this.
It's called Invisible Women. I dunno if you heard about it. That's, uh, a book that probably changed a lot in my, um, how I perceive being women in tech, women in industry and in general being women in this sport to see that how much we're underrepresented and in data, that there are a lot of problems.
For example, car seats, car safety is not designed for, for women. The women are much more likely to die in car crashes. The same for some pills, some drugs about migraine because they're tested more on men than on women.
And here and there are small things that tells out that this world is designed for men. And the same, like being the same applies to the your career and especially in tech where like, let's be honest, there are much more than, and uh, recently, like three years ago, I become a mom and for women working like mothers in tech, everything is even worse. I was like, if you ask an ordinary speaker at that conference, if they have kids, they're so proud or that they have kids, but they never take them with with them because there is a mom who is taking care of their kids.
And how many speakers, female speakers who have kids are here. Like I do see that as a problem. Like I think I'm fortunate that my dad's a speaker and he has been taking me to conferences these past few years.
But I see like other speakers who have kids and like, I really wish they would come here too. Yeah. Uh, I think there is a problem first, uh, because uh, like currently me and a lot of female speakers, they had to choose which conference they have to go and they should not go because they have some obligations at home.
And for me, I'm very lucky to have uh, um, a supporting partner who is like going with me everywhere. And currently we are given a joint talk sometimes like, uh, we try to not make the kid ruin our career, so we try to balance everything. But anyway, because we have a kid, because we have some obligations, we still like choose which conference we go, which conference we dot go.
Definitely our life changed than it was before the kid. And uh, I wish like, uh, this problem was more recognized. For example, I was a year ago, it was at Devox Belgium.
I go there with a kid alone because my husband had a different travel and we had overlap and like he was a kid. The conference was nice, everybody was like nice with me with my baby, helped me with a stroller, but there was no elevator there in the venue and there were two levels of venue. So I, in order to give my talk, had to go up in order to visit my company booth, I need to go down.
And it was with a stroller. So thankfully it was not such a big problem because my son walks. But it was still a problem because I like had to either like put the stroller down or up by myself or ask for help because that's kinda heavy.
And, and uh, that's like one of the things of accessibility that could be improved. And it's not just for parents with strollers, it's also for, uh, disabled people who need the same. And the conference menu was not like really designed for this.
So are you giving a talk here? Uh, yes. Actually here we are giving a talk together with my partner because he's maintaining a code coverage library for Java, like Java Jayco.
So, and we are given a talk about MythBusters, about code coverage because there are a lot of like myth around code coverage that you need to have 100% of code coverage or you need to be like, um, to aim for 100%. For example, that code coverage guarantees you test quality or quality of your software. So we try to like dispel all this common beliefs that we are, we are wrong by like doing some life coding and showing some examples where it's not actually true.
And um, can you talk a bit, what's this? Uh, coverage? Uh, code coverage?
Yeah, actually like when you write your software, you try to cover it with tests, like to know that, to understand that it works correctly. I see. And uh, in order like to assess how good are your, your tests are, you need some metrics code coverage shows you, uh, like which part of your code was executed when you run your test.
So for example, if you like test some function that calculates some like A plus B, you can uh, call this function with some real data like to, for example, plus two and the check that the sum is for. And like once you execute this, the code coverage tool will show you that your function was executed. If you didn't test this, the code coverage tool will show that the it was not executed.
But the interesting thing that it's not enough just to like execute your code, sometimes you also, you need to put assert that it worked correctly, that you didn't forget something that you tested. Corner cases and code coverage like can lie to you this terms because it sometimes say that everything is okay, but if you go deeply you can understand that now you haven't tested some co corona cases or you forgot to test some, uh, other states. And, uh, this is what we try to discover, like to show in our code, uh, in our talk to, uh, to show people where it works, where it does not.
I think that's an interesting technology. Yeah. It's Do you recommend that all developers use it or?
Yeah, I think, uh, while in our talk we say that it's not ideal, we still believe that it's sort of a must have to assess the quality of your software because like for now, that's what we have. We can, uh, that can show you code coverage. We can also like for, uh, mutation coverage, it's like another technique.
And the more, uh, like qualities, the more of, uh, metrics around your code and tests you have the better uh, you the bit, the better picture you have about your software, about your tests and uh, in finally the better software you produce. So hope you improved your code. Yeah, I think we've had a really good talk today.
So thank you. Thank you very much and thank you for what you're doing.
