Artsy Engineering Radio

Backend Beauties

May 31, 2022 Artsy Engineering Season 2 Episode 17
Artsy Engineering Radio
Backend Beauties
Show Notes Transcript

Jackie Potts and Kaja Santro are both from a Ruby-backend background and working as software engineers at Artsy. In this episode they are talking about how it is to work in this area while also being dog moms and what their favorite Ruby gems are and what is so scary about frontend. They also just laugh and chuckle a lot on this episode, so prepare for some of those good vibrations coming your way!

Unknown:

On this episode, Jackie and I are talking about how it is to be a so called Ruby born woman in the engineering world. And what we do as backend engineers that Artsy. We talk about our dogs, our favorite Ruby gems, tech conferences and object oriented programming. We also get into the good and bad parts about the tech communities, and why we love Ruby so much, and what scares us about JavaScript. If you want to hear more, stay tuned. Welcome to Artsy Engineering Radio. I'm so happy today. I have Jackie with me. Hi, Jackie. Hey, Kira. How's it going? Good to be here. And thanks for having me. Always great to see you and spend time with you. Yeah, so. Yeah, I don't know. For anyone who doesn't know us. I'll just introduce myself quickly. I'm Kaya and engineer currently in the velocity team. But I was in the PX team with Jackie before. Yes. Do you want to introduce yourself? Sure. Hi, y'all. I'm Jackie. I am a senior software engineer here at Artsy SK said I work on the partner experience or px team here. And I guess I've been at IRC that. Oh, two and a half years now. So kinda old school. Wow. For me, it has been my one year anniversary. Re last month. Yeah. You're part of the OG crew too. Yeah. Yeah, so today's topic is back end beauties, because that's who we are, right? Yes, definitely. Yeah. And I wanted to do this podcast with you. But before we right, dive right into the spec and beauties topic, I wanted to ask you like five quick questions. Okay. Okay. And there's no test or anything. Just to warm us up a bit. And maybe people also want to get to know you a bit better. I think. All right. I mean, the first question is just how are you doing? Oh, thanks for asking. Hi, I'm good. I am I? Well, as we kind of discussed before we started recording a little narrative. So the public speaking realm always makes me very terrified. But a lot of things, but definitely happy to be here with you. And my true, true soul sister. Yeah. How are you? Great. For me, it's already the afternoon for you. It's early morning, right? Yes, it's 9am. Here in New York. I had way too much coffee. Unfortunately, somehow. I have anxiety, but it's like very fast. Which is good. Yeah, my second question is how are your dogs doing? Oh, kya. Excellent. Excellent question. Yes, so Kai and I are very, very, very proud dog. Mom's here at Artsy. Not bragging. But I think we have three of the best stocks and Tiffany definitely a little girl squad. I have two, an older one named Molly and a younger one named Ruby, which you can kind of allude to what? Programming space I usually spend my time in, but they're great. They're great. They're loving summer. And I love more than anything. I love them too. Yeah, we have a lot of zoom chats with all the dogs together. So like they're already bonded, even though being far apart in different countries. I feel like if we got them all together in person would be a great time. Yeah, I think like the whole pets and zoom calls. Thing is definitely like a good outcome of all this remote based work, you know? Yeah. So you kind of get to know like all the furry friends of your coworkers. Yes. And just the sass and personality that comes through like the background. It's always anything can happen, you know. Let's get to my third question. Do you have a favorite Ruby gem? Oh, chi. I wrote this down as a question to ask you. So I have to send it back. Tennis style. I would say I think my favorite gem is the strong migrations gem of which tickets by and cane it's um A really cool, cool gem with awesome documentation about kind of the spooky world of how rails writes migrations, that kind of translates Ruby, you know, the Ruby, right and a migration file or something into like SQL that actually runs and operates on Postgres SQL databases, which is like, so nuanced. And so low level, I really love that space. And the reason I am interested in it is migration sometimes can take systems down. And I've definitely done that just based on like, table lacking behaviors, that sort of thing. You know, dealing with transactions, all that fun stuff. So it's definitely empowering to learn more about the things that you've messed up in your life, you know, because now it's a tool in the toolbox. So we know to look out for some of these things that you can like automate detection of a potentially dangerous downtime causing migration, and it'll kind of the gym will stop your reading of it and kind of give you options for making it a safer operation that leads to less downtime, which is always a great thing. Yeah, that's funny, I just added it to gravity to our main repository. And yeah, and I love it, too, has definitely also taught me some things about migrations, where I was like, Oh, I didn't know. Right? It's like stuff you don't think about, right? Because rails really separates you from a lot of that low level thinking, which is pros and cons to that for sure. Carrie, what's your favorite job? Oh, yeah, I know. It might sound a bit lame, but if you think about it, no. I mean, our spec and rubocop are, like, you know, they are kind of the standard thing like in the Ruby, you know, Ruby related world, something that you would probably add to almost every repository that has Ruby in it. Heck, yeah. And R spec is such a cool tool, actually, you have so many things in there. And like it makes just writing tests so much better. For sure. I love our spec tests. And the cool thing is, you don't even need rails for it. You can do that, like with Ruby only. It's so handy. And it makes the test so readable. I just Yeah, I just love it. That's awesome. So R spec, and Robocop is, of course, I don't know, it just gives me also a kind of safety in a way like this comfortable safety feeling. Then, you know, my Texas actually Alright, how it is, you know it sometimes you feel a bit like was it like that? Or should I? Like what was the last convention? You know? I don't know, should I put the if clause behind or before or something, you know? And then Robocop is just like, taking you on the hand and guiding you. Yes. Gives me a little bit of mind peace. Yeah, that's kind of with the other jump to like automating things, taking things off your like mental plate. So you can, you know, just kind of deal with the actual code problems or like logical problems and you know, things can be automated. It's always a good, yeah, safe thing. Very cool. The classics K? I don't know, I'm more like the classical kind of girl. Yeah, so my fourth question is, what was the last tech conference that you attended? Oh, good question. You know what I did go to virtually the React conference that Anna spoke up this year. She gave a TypeScript. Oh, cool. Yeah, that was really fun. And my first JavaScript conference ever. They had a TED Lhasa theme. I don't know if you saw that show. It's like a show that an American football coach goes to like Coach, soccer team. They are not sponsoring us here. So I'm not going to talk further about the program. But check it out. It's like kind of like a cheeky, fun show. Yeah, and that was like part of the conference or Yes. Oh, yeah. It was like the the host was like, had a background of like all the stadium seats of in this football stadium and it was they made references and like cheeky American jokes, and that's good jokes. We get some of this podcast today. Okay. My fifth quick question is like, what are you currently working on? Oh, so, as I mentioned, I'm on the partner experience team. So we just kind of rolled off a pretty large projects, where we integrated with a third party API for art, shipping and logistics. This past week, we just launched and expanded that project to international support. So, yeah, you've heard of the project back in the day, right. So we did like, uh, as our pilot MVP, US domestic shipping only just to kind of see how that went and kind of control rollout a little bit. But yeah, it's exciting to see the project that we've worked on expand and kind of scale to different markets and different spaces. And so yeah, did you already, like, sneak into the dashboard to look if there was any international shipping? Oh, I think we all kind of like took an ice cream bets on what city we think the first international shipment will take place. We all got it wrong, but it's going to Seoul. Oh, isn't that cool? Yeah, that's cool. Interesting. All right. Getting shipped to sell. Yeah, very cool to think about our little package going across the world and connecting people everywhere. Oh, my God, I'm gonna crack. Yeah, that's really that's really a great moment also right in your work to, to see that. Yeah. Little proof, it works. You know, you gotta watch the first one. And then you can relax a little MFPA. I had the chance to ask this like five questions. That was really interesting. Do you have anything that you want to ask me other than my favorite gym? Yes, sir. So Kara, you used to be on the partner Experience Team, which we did a lot of work and tools, as we mentioned, for like shipping logistics also like tools for our gallery partners. And now you're kind of on a different team, the velocity team? Could you maybe tell us a little bit about how that's going? And then how you like it? What are you working on these days? I love it. It's super fun, because I'm learning new stuff. But also get to do stuff that is not so new, where I feel like already comfortable in. Currently, I was just now implementing something in gravity that has to do with identity verifications. Oh, yeah. So yeah. So hopefully, for the onboarding, actually, of new partners and users, there is one step where they where we would have to verify their identity, or they actually had to have to verify their identity. And this process needed to be updated a bit, and also needs to be moved over to a new tool. That is called fork. And yeah, in this whole process of like moving this over the identity, verification, we also realized that we need to open it up a little bit, because before it was only restricted to users that already have a user ID. But now, we can also do that for people only given an email address. So this is what I added. Yeah. Oh. At the forefront of security, yeah. keeping us safe. Oh, yeah. Security. That's actually another thing. I'm this week, I'm the first time on the rotation for the bounty security program that we have. Yeah, well, people can from everywhere actually can submit security issues when they find them. And there's a whole page we have where you can read how to do this and you can like submit the issue that you found you know, if you if you think you found something and if you're lucky and we didn't already have this issue submitted then you might get some money back for it. So that's awesome. Yeah. So Jackie, if you want to become a hacker you'll get some money, some extra money on top of your salary. That's super cool program. And it's interesting because you know, I have to now read these submissions and estimate if they are actually a security issue or not, if we already have somewhere or if you know if they need to be fixed if they need to be addressed and so and, you know, I don't know so much about security. So I'm just like, wow, I don't know anything about the submission. I'm just gonna go and ask, you know. So right now, I'm just finding out what actually is a security issue and what isn't good learning? Yes, definitely a good entryway into the systems and stuff like that. Yeah. That's fun. That sounds super fun. I like that kind of work. Like, hacker mode. Very cool. Ah, that's awesome. I was curious to hear where this term back end beauties comes from? I think it's from a conference taki cape, right. Um, yes. So back in the day, so. Yeah, this is a little storytime now. So back in the days when I was to, like new, in this software engineering world, I worked at a company where we were only six developers, and the whole company, we were kind of all applied as like full stack. But it turned out that most of us were like, either back in dish from their tendency or front inish. And I don't know why actually, but we kind of gave ourselves that name. Beauties, when we were only two of us. back end, was my mentor, Robin. And we were we were the backend beauties. And we had the front end fairies. At that conference, where I gave the talk about how that company, we actually, we kind of merged all our services into one mono repository. Hmm, yeah. For combining. Yeah. And that was an interesting step. Because, you know, like, a few years ago, it was like, so trendy to go into micro services. And I was like, No, right. We're doing the monster service, you know. And we're doing it the other way around. And then I had to explain why. And the reason why was mainly because of being only so few people in the team, right? Yeah, right. So hard to maintain. Yeah, exactly. So in that conference talk I was like talking a bit about our team and about the tech and beauties and the front end fairies. Sorry. I love it. I love it. It's such a term of endearment right. And there could be front end beauty schools that do DVDs. Yeah. Love it. Love it. Love it. Are you thinking of getting back into conference speaking? Yeah, has things kind of open up? Or because I know you've done it in the past. Yeah, I mean, it's always like this two contradicting energies in me. So one is like Kira, you want to be on stage. You love having attention. The other performer wonders, like, Okay, you get super anxious on stage and you the night before conference, or you cannot sleep and it's like so unhealthy to have like the stress level, not sleep and then go like with this whole adrenaline pumped up body on stage and speak. Yes, every time. It was so exhausting, but also so much fun. I loved it. I don't know. I mean, there are some ideas that are I have done for a while now. And they're kind of simmering, and I don't know, maybe they're, I will cook something out of it. We'll see. Oh, are you loving the food analogy? Are you are you planning to speak at any tech conferences so much? Sure, kind of, I'm on the fence in the same way that you are a bit like, like, it's super fun once you're there and like done, it feels great. But I don't know, I do get very anxious and kind of like, just leave my body when I'm public speaking. So, like, I don't know what's you know, it's like a different personality comes out. So I'm really terribly terribly shy. And I try to hide it as best I can. But you know, yeah, it's the barrier to kind of contribute. I know we're making it sound spooky but it is super fun and like once thing that I've kind of learned is like, start with, you know, your kind of crew. So like, I've been targeting a lot of women's tech in tech conferences, which has been really great. And you know, the audience gets like super engaged. I gave a talk at like a, you know, not so woman presents calm conference about mental health and it was a little bit very scary. Know, your audience target that was just like as a way to make it easier to contribute. I guess that's kind of Yeah. I'm just talking to myself about how to do you know, for me, it also helps to do it in Ruby context, or Ruby and Barbara, because, yeah, I mean, you know, the Ruby community usually, is so sweet and welcoming. And yes, so for me, that was like a good place to start conference talks. Yes, for sure. Definitely. Yeah. Speaking of Ruby, shall we speak a bit about Ruby and why we like it, and why how we got into it. Let's do. How did you get into Ruby? When was the start? Oh, yeah. So I guess. Back in, so I started coding back in 2015. And Ruby was my first language that I learned. So I kind of bonded with it right away. And kind of, as you alluded to, like just kind of meeting people in the Ruby scene in New York City, where I was living at the time. It's just very welcoming, especially as someone who's new and like, super intimidating, like, I didn't really feel a lot of judgment and was able to kind of ask questions, get feedback in a way that was encouraging, and approachable. I know there's a slogan in the Ruby community, maths is nice. So we're nice. Maths being the creator of the library. So that kind of just transcends, and also you can see like in the code, right, like, it's the snake case is kind of easier to grasp, especially for like non English first speakers, you know, so it's, yeah, definitely targeted developer happiness and approachability, which has been definitely felt definitely. So. So funny. Have you? I mean, we kind of talked about this before that we are like Ruby born women, because we, you know, we started with Ruby. So that's how we got into programming. And I feel like, you know, how that links when they come out when they hatch out of the egg, and the first thing that they see, they think it's their mom, so if you and they were, like, stuck following it. And and I feel like that was Ruby, right? Like, I was just any duckling. And this is, the first thing I saw was Ruby. And that's like, what I'm gonna follow for the rest of my life, because I think it's when I'm loving. Yeah, I think it's, it's also special, because it kind of teaches you this very object oriented mindset. And if you learn programming that way, it's it definitely sticks with you. I think whenever I go into other languages, it always and feeling like, oh, but you know, my mind is thinking in this like, nicely packaged Ruby boxes. Right, right. I don't know, how would you? Yeah, like more easily translates to like, how the world is organized a little bit, you know, like objects and that sort of thing? Yeah, totally. Have you worked with functional programming languages? Oh, yeah. I mean, my last job I did Alex here as well. Yeah, that was like, super fun, and also really kept me on my toes. Because coming from Ruby and looking at Alexia code is like, ah, that looks familiar. This is probably gonna work the same way and then you realize it doesn't work. So just the opposite, but it's so cool, because then you, you know, hon Alex here you have this pipe operator, where you can just like pipe the return value from the function before into the next function. And for me, that is like a totally different approach, but it was like something that I adapted to very quickly and I felt like oh, that's cool, right? This is like the opposite of rebirth, but it kind of makes fun like it's it's just funny to like stuff things into each other. Yeah, so, yeah. Do you have any functional experiences? Hmm, I'd say not so much. I think I've only really worked in the Object Oriented space. I did do some work in Python Django for a year or so. Which maybe kind of also alludes to the like, duckling. Scenario described with like, coming to Django after like having experience in Rails and seeing everything like flipped around. And like how Django handles migrations is totally different from like, how rails does. So it was a bit of like, whoa, why is this happening? Kind of thing? Oh, I want to go back to my safe space. So it kind of quickly returned to Rails and Ruby. And, yeah, I mean, it's also the community is just a big plus. Right? So an elixir. I think a lot of people that I talk to are like, Oh, the Aleksey language is cool. But the community still, there's room to improve. Let's put it like that. Gotcha. I don't know how it is in the Django world. Oh, hmm. Yeah, it's been a few years. But definitely when I was there, I did have kind of trouble bonding with folks. And I don't know some of the libraries of Django. They've since been renamed. But there was this one kind of library called mommy which was kind of like our rails fabricator, in that worlds, but it was like a way to create objects in your chest and stuff. And you would call it as like, Mommy dot make child or like, Mommy, Daddy may well, you know, food or something. It was and the documentation of it was a little peppered with unfortunate things. But it's yeah, it's kind of since been renamed to Baker, you know, okay, I'll take that Baker up bake, and then some kind of objects. But yeah, that was something that stuck in this seared in my brain of internalized. I don't know, othering of a certain type of person, you know, which is unfortunate. Yeah. Yeah, I mean, that's something else we wanted to talk about sexism in programming libraries. Such a weird thing, right? Yeah, I think similar to the mummy make child thing was the factory girl. And that's actually a Ruby library. Yeah. And it used to be Factory Girl. And now it's called factory but, and yeah, so much better. Yeah. I always thought of like, factory girl is like, Woohoo. Like, come on, like Rosie the Riveter kind of thing. So I was like, maybe misinterpreting you. Yeah. Like, Oh, heck, yeah, yes. This wordings are so delicate. And like the associations and pictures you have in your mind when you read those words can be very different. So you have to be careful. And of course, Oh, yeah. And the other one that was a SAX parser SP X parser. That was called boo fax machine. I remember. It's also been badly maintained and not very well documented. When I started using it, and then my mentor, actually, he forked it and made like a more maintained version of it, calling it saxophone, which was sex was nice. I like that. Yeah. Sex. No. Not very approachable. But yeah, what can you do? Yeah, oh, my Do you want to talk a little bit about your Jas experienced JavaScript stuff? Or? Oh, is there any well? Is there any good? I mean, I know there's well. I'll say this. I am maybe intimidated by front end development just because of where my roots are. Here. And yeah, I don't know. I feel like it's hard to know. If I'm doing it the right way. Like feels like things change in the community a lot. And libraries are always improving and getting better and I just like can't really keep up. Just old and tired. It's hard. And also like maybe Not so much server side JavaScript, but front end like JavaScript. And it's like so vulnerable, right? Like you're actually dealing with UI is and like how humans interact with a system or a page. And it's like, no, no, I just don't have that level of creativity. Unfortunate. Yeah. Same here. And also, I feel like there's this like world in the JavaScript layer of things where it like, the timing is not clear to me. So there are like this weird states. And callbacks, you know? And I'm always like, when is this happening? Is that happening before this and that, you know, like, this kind of like time issue, or order of things, like how they are ordered. That is, for me, in the JavaScript word, always a bit tricky. And it's also what actually always got me stuck or trouble when I was having to deal with more front end ish things, right. Also some fun experiences with JavaScript. Whoa, I mean, recently, I've been getting more and more into writing Cypress tests, which is pretty cool. It's like, you know, it can feel like, awesome, you're just giving orders to this invisible bot that clicks through the browser. And it's, it just follows what you're telling it to do. And that's, that's quite fun. That's very powerful to, to know how to do that. And you're actually also a lot more fun when, since in the last knowledge sharing session, or was the one before the last Yorgos, one of my colleagues, one of our colleagues shared a super cool tool that's called I think, Cyprus recorder, and you can implement it into your browser as a plugin, and then do some actions on a page and it will record like the handlers that you, you can actually just copy paste the code that is generated from that into your Cypress tests, and basically, oh, it will imitate your actions. And then Whoa, you might have to refine a bit like, you know, refactor a bird or maybe rename some handless but in the end, it really helped me a lot to understand and to write Cypress tests. That's really cool. Yeah, and then the other fun thing you did in JavaScript was at my last job I had to change some sounds in the back end so sound Yeah, so I worked good oh shipping company and we had these scanners for the packages that would scan the barcode and then search the database for it and in which state this package was and based on the state or do return value from the request the sound would be different like for example if the parcel was scanned found and in the right state it would say P O and if it was like not found it was sick and yeah, and things like that and that was fun. Wow, that was that's cool. It was really cool also like when you would run the tests your tests would make this sounds Oh my god Wow, talk about awesome quick feedback loops. Now carry over the sounds your voice cooler like the scanner package scanners of the shipping company all making will make a ticket for it that sounds like yeah definitely also like implemented a little easter egg that says like some something inappropriate from time to time Oh, that's a cool Yeah, I think I mean, I would love to talk much more with you. Maybe we need to get some time but I think we're already over time. Was was so lovely. As always talking to UK us just like my dearest dearest friends and I feel like I talk to you about anything forever and you're a big staple for the community for sure. So good. Yes. Across the pond Oh, yeah. So thank you so much for taking time in your busy morning and thanks for having me. Yeah, say hello to your dogs and have a nice, nice rest of the day. You too fine. Talk soon see online. Thanks for listening. You can follow us on Twitter at Artsy open source. Keep up with our blog@artsy.github.io This episode was mixed and edited by Alex Higgins and thank you Eve Essex for our FY music. You can find her on all major streaming platforms. Until next time, this is Artsy Engineering Radio