15 min read

Team Titans Season 2, Episode 4 - Tiffany Wortham

Ryan Spilken
Ryan Spilken
16 April 2021 Podcast
Team Titans Featuring Tiffany Wortham Episode Artwork

On this episode of Team Titans, hosts Ryan Spilken and Petula Neale have a fun discussion with Adaptavist Software Engineer Tiffany Wortham.

Tiffany is a young developer with a ton of talent and a keen eye for DevOps-style automation and itterative team improvement. Her laid-back, can-do attitude and open approach to the world of software is both insightful and refreshing.

Transcript

Ryan Spilken:

Hello and welcome to Adaptavist Live Team Titans. The stories of people with unique perspectives on work itself, defining or breaking processes, building tools, leading teams, and anything in between. I'm your host, Ryan Spilken and joining me as co-host today is the one and only Petula Neale. Petula, thank you so much for taking the time to record with us today.

Petula Neale:

Thank you so much for having me. It's a lovely diversion from my day activity of being a Project Manager here at Adaptavist. Our team primarily is working with contracts, presales, day-to-day management of engagements. So, this is a legit treat.

Ryan Spilken:

Now, you have scheduled in time for this, I assume. And you know exactly where to track your ticket, right? You got all that?

Petula Neale:

Yes. I was very impressed. I usually don't see this kind of organization outside of professional services. I actually had somewhere to log my time for this. So thank you.

Ryan Spilken:

Well, you're welcome. Now, one of the reasons that I wanted so bad to have you as a co-host for this episode is because you podcast in real life. Tell us about your "side-hustle" podcast.

Petula Neale:

Yeah, well, in my, I'm not going to call it youth, in my younger, old period, I used to podcast about movies. That's not a thing as much right now. So, for the past little over a year, I've been the co-host of Back Issue Bloodbath. It's a podcast primarily about comics, not just really old ones, but old, new, independents; a strong recommendation for one I recently read called, Living Heroes, an independent comic by Stephanie Williams. And it's a mashup of the TV show, Living Single, and a lot of the black female Marvel characters. So, imagine them living together in a New York apartment, having a salty Storm as your roommate, who when the air conditioning goes out, only uses her powers on herself. And also Jessica Jones brings a very not great potato salad. So, we love our allies, but just because you're invited to the cookout, doesn't mean you should try to go for one of those big dishes y'all.

Tiffany Wortham:

True. Good advice.

Ryan Spilken:

We're going to have to talk about this when it comes to macaroni and cheese, but that's another time. And joining us today as our special guest is Adaptavist Software Engineer, Tiffany Wortham. Tiffany, thank you so much for joining us on Team Titans.

Tiffany Wortham:

Yeah. Thank you.

Ryan Spilken:

Tiffany has written several blog posts that are available at adaptavist.com and some scripts that you'll find on the Adaptavist Library and has recently been promoted to full-time software engineer. So Tiffany, how did you even get started in software engineering?

Tiffany Wortham:

So way back in the day, when I was in high school, actually my freshman year of high school, I got put in this HTML and CSS class that I did not ask to be in. I had no idea what it was. I thought I was going to be in a study hall of that hour. My school counselor just put me in it, just I don't know why. I'm glad she did though. So, I go to this class, I start doing it and I'm like, "Oh, actually, this is pretty cool." "I like this a lot." So, then my senior year, my school was offering a programming class. I took that. And then I decided, "Yeah, I think I want to go to school for computer science." So, that's what I did. And the rest is history.

Ryan Spilken:

Now, Tiffany, when I was in high school, if I had been placed in a class that I didn't want to go to. On that first day, if it didn't grab me, I'd have been out, right?

Tiffany Wortham:

Yeah.

Ryan Spilken:

What grabbed you? What got you going?

Tiffany Wortham:

I mean, I just thought it sounded cool or at least interesting. Because prior to this, I really had almost no exposure to coding of any kind. Well, except for I guess Minecraft. With Minecraft, people like doing modding and stuff like that and all of that kind of thing. So, actually maybe that's why I think, I was kind of a little bit exposed to this stuff through Minecraft. And then I was, "Oh folks, this seems kind of cool." That stuff. So, that's probably why actually.

Petula Neale:

So, when I was probably older than you, but younger than I am now, one of the things in JavaScript I've found the coolest the first time I used it was, well, two things. Rollovers and redirects. Things that are very useful or very flashy, appealed to me. So, when you were first learning the code, what was one of the first things that you did you thought, "Oh, that's super cool." Or "That's dead useful," and people should be building this in every page they make or every application.

Tiffany Wortham:

Interesting. So, when I was in that class, it was very introductory. So, we barely got into any JavaScript. I can't even remember if we got into anything like that. But, I think probably a moment that I felt like that was probably happened more in that programming class that I took in my senior year and it was in Visual Basic. So that was a fun time. But it was basically just like creating these applications we... Like our final was to create this game of Yahtzee. And I think that that was pretty cool. I was, "Oh, I can just make a game." "I can just program a game." That's pretty cool, I mean, it's Yahtzee, so it's not a blast, but I was just, "Wow." "Okay, cool." "I can do stuff like this."

Petula Neale:

That's awesome. I had a touring class and I don't think we did anything more exciting than a number randomizer. Although now, after watching the movie about the whole code breaking thing, that makes more sense. You know what, shouts to you, Mrs. Berotta. That was actually legit.

Ryan Spilken:

Okay, hold on Tiffany.

Tiffany Wortham:

Yeah.

Ryan Spilken:

Okay. Hold on. But Tiffany, I personally love Yahtzee.

Tiffany Wortham:

You do?

Ryan Spilken:

So, just to say that it's not a blast. I have to take exception to that because man, can I get down on a game of Yahtzee?

Tiffany Wortham:

Well, good. Cool.

Ryan Spilken:

So, you are based in Springfield, Missouri.

Tiffany Wortham:

Mm-hmm (affirmative).

Ryan Spilken:

You got your Bachelors in Information Science at Missouri State University. What was it like doing your studies there?

Tiffany Wortham:

Yeah. So doing my studies, studying computer science at Missouri State was, some of the classes were great. Sometimes I had a blast. Some of them were pretty boring, honestly. But it was cool. I would say the classes that I enjoyed the most though were my philosophy classes, which I minored in philosophy. And honestly, I think I kind of just liked the Humanities Department a lot better in general, and the classes that I had there, I found a lot more interesting. And I guess I've more thought of my computer science classes as me, learning my trade or whatever. But I did learn a lot. And who knows, I don't know, maybe if it would have been switched, maybe if I had majored in philosophy and minored in computer science that maybe I would find my philosophy classes to be a chore and then really enjoy my computer science classes.

Tiffany Wortham:

So, maybe it's just whatever your focus is, becomes a chore. But, I don't know. I'm glad that I got to study both.

Petula Neale:

What concept and philosophy really sort of blew the back out for you and really opened your mind. For me, I took one philosophy course, and then there was this whole discussion around happiness versus content. Being content. Content can be sustained, but happiness is sort of fleeting. And that really stuck with me.

Tiffany Wortham:

Yeah. That is a juicy question. I would say probably, I don't know. I probably couldn't choose one concept or idea. But probably a couple of different things that grabbed me the most, that I found the most interesting, where I took this philosophical ideas and literature class and we read just like Philip K. Dick books. And I don't know if either of you have read any Philip K. Dick, but it's nuts.

Tiffany Wortham:

So good. So rich. Especially, probably my favorite was, The Three Stigmata of Palmer Eldritch. Probably my favorite book of all time. I don't even know how to describe it. There's so much to it, but if you ever get a chance to read it, you should read that. The second thing would probably just be my aesthetics class in general. So like philosophy of art, what is art actually? Can you define it? What's its function? That class was incredible. So I would say those two, that class and that book, those are probably my two favorite things.

Ryan Spilken:

And does any of the philosophy learning that you did inform you're developing today?

Petula Neale:

I think it was really good that I studied philosophy and computer science side by side, especially in those introductory philosophy classes. You sort of learn how to reason, you learn about formal logic and things like that. And I think that is very helpful in sort of, I don't know. Learning to reason, logic, things like that, that really ties in quite a bit with programming obviously. So, I think that helped quite a bit. Yeah.

Ryan Spilken:

Alright, Tiffany. So, what philosophy or approach do you take when you're solving a problem? When you get handed a bug or a new feature, where does your mind go and how do you sort of tease out the solution?

Tiffany Wortham:

Yeah. Okay. So yeah, I mean, it definitely does depend on what it is that I'm working on. Whether it's a bug or a feature or anything like that. They definitely... Everything takes some kind of investigation, but investigation will look different for each thing. So for a bug, I pretty much just jump into the code, the number one thing, the first thing that you want to do is make sure that you can reproduce the bug. So once you've reproduced it, you can start jumping into the code, trying to find out why lots of debugging. That sort of investigation is jumping in, getting right down to the root, trying to track it down.

Tiffany Wortham:

If I'm creating a feature that is the exploratory part of it is a whole, a lot bigger part of the process before I ever totally jump in and start, trying to go at it. I'm definitely, kind of doing a little research on, "Okay, what features are similar to this?" "What code can I reuse?" "What classes can I reuse?" "What can I model this off of?" "What's the best approach?" "What are some multiple different approaches?" So before I even get started, before I even start writing, there's a lot of just thinking and forethought that goes into that.

Petula Neale:

If you have to do some refactoring, what's your approach to estimating that? Because I always find, it's really nebulous if somebody says, "Oh, this area of the code requires some refactoring." There's always, that I feel, that's tougher to be able to pin down. How long that will take? So what's your approach there?

Tiffany Wortham:

Yeah, absolutely. I would say with refactoring, I don't know. Generally my philosophy on estimating how long things are going to take. It's just hard to say sometimes. I can spit all it, but especially with refactoring, it's hard to tell. So having a good idea of how long something like that is going to take is not something that I've mastered yet. So...

Petula Neale:

Legit curiosity. I don't think I've ever worked with a developer that's actually good at estimating refactoring. So you're fine.

Tiffany Wortham:

Yeah. I mean, honestly, I would say I'm not really good at estimating how long anything is going to take. So, you know.

Petula Neale:

I've been in IT just over 20 years, good Lord. And I've only worked with one developer that estimated perfectly. Her name is Nicole Jia. Shoutout to Nicole, wherever you are. And she told me that she just looked at sort of different criteria, including how long it took her to develop something similar in the past. Is it net new or is there stuff around it that she has to be careful of? And then the third thing was she would come up with a number and then she would double it. After a year of working with her and query, she was estimating stuff down to two hours and was perfect. Almost every time, I thought she was a witch. I didn't know what's going on. And then finally after months of me nagging her, just like, "How do you do it?" "Are you a wizard, Harry?" "Please teach the others," she told me that. And then she did that at the end and then I double it. And then she shrugged and looked away. I just, to this day, that woman is an enigma to me. Hey, I love her, but she was a mystery.

Tiffany Wortham:

Yeah.

Petula Neale:

Sorry, tangent. Back to you, Ryan.

Ryan Spilken:

No. No, that's great.

Petula Neale:

So, when you're working and you get a regression or a bug, something that used to work and doesn't anymore, what's your approach to that. And also how do you try to ensure it doesn't happen again?

Tiffany Wortham:

Yeah. So basically, and honestly, this is probably what anyone else would say, but the most important thing is that, you, instead of just manually testing it, you actually write a test for it. And you make sure that before your fix, the test fails and after your fix the test passes. I mean, it's classic, basic, but I mean, really, I don't know. That's how you do it. You fix the bug, you make sure that instead of just manually testing it, you write a test to have there forever. And that's the best way I know.

Ryan Spilken:

And then once you test it, you test it again.

Tiffany Wortham:

Mm-hmm (affirmative).

Ryan Spilken:

And again. Tiffany, you've had some blogs published on adaptavist.com and you've added a few scripts to the Adaptavist Library that help users of the ScriptRunner suite make more out of Confluence. Now, these are great pieces that the codes are awesome. If you were given a chance, what other feature or topic would you write about?

Tiffany Wortham:

I would probably write about, so a few months ago, I started doing some work on automating the release process for ScriptRunner. So basically Johnny, our team lead on the ScriptRunner for Confluence Team, a long time ago, not like a long time ago, but maybe like a year or two ago, he started automating the release process because this is something that we wanted to improve. It used to be the case that we released very sporadically. Not very often at all. But now we release every two weeks. And so in order to make sure that that can happen, we have automated a lot of the release process. We've made it pretty accessible and easy so that anybody can do it. We have release manager rotation, basically every two weeks. Someone knew, is the person who is in charge of the release and that is made so much easier and so much quicker by all of the automations that Johnny has put in place and all of the guidelines. And he's writing in stuff like that.

Tiffany Wortham:

And I got to help do some of that automation. So, it was just a really refreshing, sort of different thing for me to work on just like working on automated builds and shell scripting and stuff like that. I found that that was really fun. And also like the integrations that we've done with Slack and notifications and stuff like that, like automatic notifications. So I would probably write about my time doing that.

Petula Neale:

Well, I bet the DevOps team would have a lot to chirp about on the build automation log entry, for sure.

Ryan Spilken:

Alright. So Tiffany, you work in development and so I'm guessing that the majority of your times is in an IDE, right? You're in a development environment, yeah?

Tiffany Wortham:

Yeah. Quite a bit.

Ryan Spilken:

Now, Confluence, most of our listeners probably know, it's a Wiki. So your head is in an IDE. Your users, your customers, they're ultimately, they're head down in a Wiki. How do you keep the customer's perspective in mind when you're working on features for them?

Tiffany Wortham:

Yeah. That is a good question. That is, it's definitely something that's really important for me to keep in mind because I mean, you're right. I use Confluence like a little bit for, I've written maybe one or two blogs or something like that. But other than that, I don't use it like the way that our users use it. And so sometimes I have to remember who I'm writing this for and what they actually want. So Jill, our product manager for ScriptRunner for Confluence, she has so much experience with Confluence. Actually as a user, she knows what kind of features she wants or could have used when she was using it. She's just a wizard at it. And we were trying to come up with examples for different scripts that we have. Better examples.

Tiffany Wortham:

And I was trying to come up with someone else like, "Oh yeah." Well, like maybe this would be good or I don't know. And then she was like, "Well, actually there's this and this." "And you have to consider this and that." And I'm like, "Oh yeah, I guess that does make sense." But it's just hard to know if you don't use it that much. So I think, having Jill on my team helps a lot. Consulting her about the things that customers actually want and trusting her on that. And also Gunars with UX. He has a very good grasp on what makes sense to users visually. And so I think, having the right people on your team helps a lot to fill in the gaps where you sort of don't quite fill in those gaps, I guess. Yeah.

Ryan Spilken:

Recently at Adaptavist, we had a series of internal talks given by our fellow colleagues and one that I watched and was frankly mind blown by was the UX talk, and the idea of one team working on what the user sees versus the other team working on what the thing actually does and connecting those two, that really blew my mind. So how do you, as the developer working on the machine in the back, how do you get on with the UX team? What's that like for you?

Tiffany Wortham:

It's good. As you said, our UX team is like relatively new. I don't know how new, but I know that there was a point where we didn't have any sort of UX team. And it was just sort of us designing things, which was okay, but obviously I'm not the best. But I pretty much solely work with Gunars on things. And he's great. I mean, he sees and understands things about a user's perspective that I used to think that I understood, but I'm learning that as I consult him and use his designs that sometimes there are things that don't make sense to me. And I'm kind of, why would you do it this way which is an indication to me that he has a greater perspective on what actually makes sense to users than I do. So, it's nice to have that to guide me and fall back on. Yeah.

Petula Neale:

And as you're working with UX, so you're building out a pattern library for some of these interactions and motion and other things?

Tiffany Wortham:

So basically, so we use React and Redux and there are a lot of different components that we reuse and stuff like that. A lot of, yeah.

Petula Neale:

Right. So Tiffany, what's next for you here at Adaptavist with your professional development in IT? What's coming up?

Tiffany Wortham:

That is a juicy question. Wow. I would say probably, I love my team, ScriptRunner for Confluence. Everybody on it is great. And I don't know, I want to keep working with my team, whatever the team wants to take on. I want to be there with them doing it. I would probably like to see myself doing some more, build automation, things like that. Some more similar things to the release automation that we've done. Things like that, that aren't necessarily directly working on the product, but help our team runs smoother in different ways. I think that's something that I really like. So, I would like to do more of that, but I don't know.

Tiffany Wortham:

Other than that, I just kind of want to keep rolling with my team and we'll see what we can do. And also Champion Hours, doing stuff like this also. All of that kind of stuff where I get to talk about my experiences or maybe show users something or just things like that. I really liked doing that kind of thing. So, I hope to be doing more of that in the future. Which actually, I will be in a Champion Hour coming up.

Ryan Spilken:

Oh yeah. We are going to be hanging out together on a Champion Hour on April 27th as part of the Adaptavist Team Talks session. Now, for our listeners who aren't familiar with what a Champion Hour is, it's your chance to speak with ScriptRunner creator, Jamie Echlin, Tiffany, and a few other of our ScriptRunner team about how to make the ScriptRunner tools do what you need them to do. So we take your questions, we try and demonstrate some examples. We connect you with resources and we have a generally great time. One last question for you, Tiffany. What advice would you give to somebody who is just starting out looking at coding? They're just playing Minecraft today. Maybe they're picking up coding tomorrow. How would you, what would you inspire them with?

Tiffany Wortham:

Oh, wow. I love that question. So I would say, there's so many resources online, free resources. So, I would go looking for those. Watching YouTube videos is a great way to get started, but I would say my number one tip is don't make yourself try to learn in a way that's boring to you or maybe a language that seems like boring or something that you don't like. When you're learning, especially when you're first learning, you need to be doing something fun. So, if that's a particular language, if that's maybe you learn through game development, maybe you learn through web design or something. I don't know. You need to do that thing that is fun to you so that you stay motivated and you enjoy the process and your love for it grows. Instead of making it like a chore, I guess.

Ryan Spilken:

Wonderful. Well, Petula Neale, you have been a tremendous co-host. Thank you so much for joining me today. Please come back and do this again.

Petula Neale:

Well, thank you for having me. Tiffany was one of my first stranger friends I met at a company gathering when I first started. And it was just as delightful talking to her today as it was there. I will never do shots with you again, though. Innocent face, but no. Just no.

Ryan Spilken:

No?

Petula Neale:

No.

Tiffany Wortham:

That's disappointing. I got to say, but you fool me once. Fool me once.

Ryan Spilken:

And we will be sure to connect our listeners through to your podcast Back Issue Bloodbath as well. So Petula, thank you. And Tiffany Wortham, you have just been wonderful today. Thank you so much. Your laid-back attitude and can do positivity, it's just, you're great to speak with. So Tiffany, thank you so much.

Tiffany Wortham:

Yeah, absolutely. Thank you for having me. I had a blast.

Ryan Spilken:

And thank you listeners for joining us today. Make sure that you connect with us on social media at Adaptavist. And let us know what you think about Team Titans or the Atlassian Ecosystem Podcast. For Petula Neale and Tiffany Wortham, I'm Ryan Spilken, and we'll see you next time on Adaptavist Live.