Talking Shop With FloQast Engineering: A Conversation With Kris Clemente, Quality Engineering Manager

Oct 20, 2021 | By Vinoj M. Zacharia

Violinists playing in an orchestra

The What and the Why

Our FloQast engineering blog has taken off since it kicked off about 2 years ago.  We've loved the variety of topics covered that allow our culture of innovation, learning, and transparency to shine through.

Now, we go one step further. Sometimes, the best way to understand the people at a company is to actually see and/or hear them speak so we're starting a video series that will meet with folks around the department.

The goal is to share the video and also a transcript so you can follow along in the way you prefer.

Transcript

Vinoj (01:00): Yeah. Hey everybody. My name is Vinoj Zacharia. I'm a senior engineering manager here at FloQast and this is chat with an engineer where we'll be talking with various engineers at FloQast and get to know them. I'm joined here by Kris. Kris, can you kind of introduce yourself?

Kris (01:14): Yeah, yeah. Hi, my name is Kris. I am currently an engineering or I guess an SDET manager, and I'm transitioning into that role after being an individual contributor / SDET for most of my career here at FloQast.

Vinoj (01:30): Nice. And how long have you been here?

Kris (01:33): Oh man, I've been here for three and a half years. It's going to be four years in April.

Vinoj (01:38): Wow. Wow. You've probably seen a ton in that time. Right? Like the shift between where you started. What's been the biggest change that you've seen so far?

Kris (01:48): Oh, man, yeah. It's almost like a completely different company now. So just the size of engineering, in general, is just crazy. Like when I first started, I guess I was one of three SDETs when I first came on.

Vinoj (02:02): Wow.

Kris (02:03): Yeah, I know.

Vinoj (02:03): Wow.

Kris (02:03):And then we just hired three SDETs on Monday. So now our team is I think at 11 or 12, I think pretty much so.

Vinoj (02:10): Wow. That's awesome.

Kris (02:12): So just that little small microcosm is kind of enough to show you like how big our team is now. We have like 12 SDETs. Now we have, oh my gosh. Our engineering department has ballooned to like I can't remember the number now, but it's big now. It's big. So, you know, with it comes a lot more people but just a lot more things that we're building, a lot more things going on in general that have to sort of happen in concert. It's just like a crazy-

Vinoj (02:38): In concert?

Kris (02:39): Yeah.

Vinoj (02:39): In concert, Kris. Wow. Wow. Bringing out the big words today. Would you say they have to be in unison?

Kris (02:49): No. We're kind of like making a symphony if you will.

Vinoj (02:53): Oh, a symphony. An orchestra-

Kris (02:55): Of code. But yeah.

Vinoj (03:00): Yes.

Kris (03:01): Yeah. There's just a bunch of different scaling problems that we have to solve now as opposed to when we were like really small, when we were just working on one kind of like repo. Now we have a ton of different repos and just a bunch of different things going on. So just a really exciting time to be part of the company.

Vinoj (03:17): Yeah. That's awesome. And so like you talked about there are different problems that you've been facing over time. Right? So when you do have a problem, where do you go for help? Who do you turn to? Who do you work with to solve those kinds of problems?

Kris (03:32): Yeah, that's a good question. Yeah. So every SDET is sort of assigned to a pod team. A pod is just like a small kind of group of engineers that are working on a very specific part of our product or our stack. So, because we're like in that pod and we're sort of going to all the planning meetings and going to all the grooming meetings and all the stand-ups, they're the first people that you probably contact if you have a problem because they know the stack really well. So like, if you have a problem with like, "Hey, I'm having trouble testing this," you can bounce some ideas off of the other engineers in your pod.

Kris (04:04): And also, the QE team kind of meets twice a week as well to sort of discuss what we're releasing-

Vinoj (04:12): Nice.

Kris (04:12): ... what we're working on. And if we have trouble with the automation or if we have trouble with just testing in general, if we need to bounce ideas off of engineers, we can do so with the other members of the QE team as well.

Vinoj (04:22): Yeah.

Kris (04:23): And then, you know, I think there's other like if we have specific problems with like say infrastructure, there's always the DevOps team that's there to help us as well. And yeah, the whole engineering department, in general, is very collaborative and everybody's very willing to sort of step in and help you out if you're stuck.

Vinoj (04:43): Yeah. I mean, you talked about automation there. Can you go a little bit deeper? Like, what does that mean at, for you specifically and for your team. Right? And what percentage of your day is spent on that versus something else?

Kris (04:57): Yeah. Okay. So we're of the mindset here at FloQast that we're kind of like writing automation to help us test and release just more efficiently. So when I say automation, I'm kind of referring to automated tests and from a QE specific point of view, that means kind of writing a Selenium UI automated tests to sort of test, to kind of simulate what the user would do in our system, in the browser, but then also we're writing API tests as well. So we're testing sort of directly hitting the backend routes and then just kind of verifying that the response back is correct. And that's kind of like generally, like at a high level, what I mean by automation, and it's a very technical process. Like I think it's not trivial to kind of write these things. It's a really unique kind of skill that our QE engineers have.

Kris (05:49): And sometimes we run into problems where we run into something that's difficult to test or the engineer just doesn't know how to like do in the browser or in the API. So when I kind of say like automation kind of challenges, that's kind of what I mean. And that's why like the other engineers that we've hired on are like such a good resource for that. Like, especially for somebody that might come in without like a lot of Selenium experience or like without a lot of API experience, there's a bunch of different members of our team that are like experts at that kind of stuff that can sort of help out of another QE member has trouble.

Vinoj (06:23): That's really cool. That's really cool. So what's been, like you said, there are different challenges that have popped up. What's been a recent hard thing that y’all ran into and you're like, "All right. We got to put our brains together for this one." And what made it so hard. Right?

Kris (06:40): Yeah, yeah. This is kind of semi-recent. I think one of the things that we were struggling with was … our UI tests are just typically slow. They're just like slow, and they're a little flaky. So one of the recent things we had to do is... It's not actually too recent. It's like maybe a couple of years old at this point, but like one of the big, one of the big breakthroughs for QE was we had to sort of enable the UI tests to run in parallel, you know?

Vinoj (07:12): Mm-hmm (affirmative).

Kris (07:13): But then that's not really a trivial problem because of the way our system is set up. If you log in with one user, you'll kick the other one out, you know? So we had to kind of think about how to set this up, and we made it such that like, we made a bunch of identical test data, maybe like eight to 16 sets of it so that we could kind of make the automation use any one of those in parallel.

Kris (07:38): So basically when we kind of set up that data in this way, we were able to kind of run in 18, sorry, eight to 16 kind of parallel threads. And it sped up. We got like 8x kind of improvement on running the UI.

Vinoj (07:54): Wow.

Kris (07:55): Yeah.

Vinoj (07:56): That's awesome.

Kris (07:56): So basically we could run, to give you kind of a sense of scale there, like we have about, I think about 500 UI tests or so. Don't quote me on that. That might be.

Vinoj (08:06): Yeah, yeah.

Kris (08:07): I might be inflating the number just to make myself look good there.

Vinoj (08:09): Just to make it sound really good. Yeah. Yeah. 1 million UI tests, 8000%.

Kris (08:17): Yeah. Give or take like 10,000. But yeah, like we have those tests, and they're running in about 15 to 20 minutes and that allows us to sort of release really fast, you know?

Vinoj (08:32): That's awesome. That's awesome. What do you do outside of work? What are you doing like when you're not trying to solve like QE scale problems?

Kris (08:45): Yeah. Well, I'm a dad first and foremost. I have two kids. They're eight and five.

Vinoj (08:53): Nice.

Kris (08:54): So most of my day be spent kind of like playing with them, although they have discovered electronics, and they think that those were-

Vinoj (09:02): Game over.

Kris (09:03): ... pretty interesting compared to me.

Vinoj (09:05): Yeah. Yeah, yeah, yeah. Are we talking like iPad electronics or are we talking about like circuit kind of building, robotics?

Kris (09:14): I wish. That'd be really cool.

Vinoj (09:15): That'd be super sweet.

Kris (09:16): Then I could send them out in the workforce and be like, "Hey, make me some money."

Vinoj (09:21): Wait, what? I think they call that child labor.

Kris (09:23): Oh really? Okay. Let's just cut that out.

Vinoj (09:25): Yeah. We'll cut that out. That goes out of this video. Done. It's done.

Kris (09:28): But yeah, as they discovered like iPad, they discovered YouTube, that kind of stuff. So, but then yeah for a lot of my day, it's kind of spent hanging out with them, and then yeah, on the weekends, I stream music on Twitch, so I play acoustic guitar and sing into it.

Vinoj (09:45): Wait, what?

Kris (09:46): Yeah.

Vinoj (09:48): That's awesome.

Kris (09:49): Yeah. I don't know if you knew this.

Vinoj (09:50): It explains the excellent sort of mic set up there.

Kris (09:52): Yes. Do you like it?

Vinoj (09:54): It's very cool. Very cool.

Kris (09:55): I think, yeah, in general I'm really, even outside of Twitch, I'm very interested in audio and video, so that's kind of like a hobby of mine too.

Vinoj (10:03): That's really cool.

Kris (10:04): The camera that you're looking at right now is, not to brag, but it's a bit more expensive than just a regular webcam.

Vinoj (10:15): I feel like in awe right now, Kris.

Kris (10:18): I don't know.

Vinoj (10:19): That's super cool. That's super cool. All right. Well, Kris, thank you so much for chatting with me today. Hope you had a good time. I certainly enjoy getting to learn a little bit more about the QE team and yeah. Catch you guys next time.

Kris (10:32): Yeah, it was a lot of fun. Thanks, Vinoj.

Vinoj (10:34): All right. Bye.

Vinoj M. Zacharia
Vinoj Zacharia is a developer turned engineering leader who leads with empathy to build data-driven, empowered, collaborative teams from the ground-up. He is a Senior Engineering Manager at FloQast.

Check out research, videos, case studies, and more!

Learn more about working at FloQast!