The Stack Overflow Podcast

Why yes, I do have a patent on a time machine

Episode Summary

This week we chat with Angie Jones, Java champion, prolific inventor, and senior director of developer relations at Applitools. She previously held roles at Twitter and IBM. She explains why visual testing can catch things you would miss if you just scan the DOM, what actually makes a 10x developer, and how she secured a patent on a time machine for virtual worlds.

Episode Notes

You can find Angie's blog here, catch her on Twitter here, and connect with her on LinkedIn here.

You can check out Applitools and  learn about the visual AI system it uses for testing here.

Our lifeboat badge of the week goes to  Alex Klyubin for explaining: What is the difference between Jar signer and Apk signer?

Episode Transcription

Angie Jones We talk about the 10x engineer, right? And everybody's like, Oh, that's a myth. Well, this is as close to the 10x engineers you're going to get. 

[intro music]

Ben Popper Hello everybody! Welcome back to the Stack Overflow Podcast. I am Ben Popper, Director of Content here at Stack Overflow. I am joined, as I often am by my co-host, Cassidy Williams of Netlify. Hi, Cassidy. 

Cassidy Williams Hello, happy day!

BP Same to you. And we have a great guest today, Angie Jones. Cassidy, are you two friends? Are you familiar with each other?

CW Best of friends. We've spoken at a few events together and stuff.

BP You want to intro her? We'll invite her on the show and you can set it up?

CW Angie Jones is the Senior Director of Developer Relations at Applitools, speaker extraordinare, she runs Test Automation University or started it I think too. And is one of the best speakers I've ever heard. So she's great. 

BP Ah, fantastic. Angie, welcome to the show.

CW Hypin' you up.

AJ Hello, thank you so much, Cassidy. And hello, Ben, nice to meet you.

BP Nice to meet you as well. So an accomplished speaker. I know you said you lost your voice. So this is not your usual speaking voice. But we'll take it. I like the tone.

AJ Okay. [Angie laughs]

CW Yeah it sounds good. 

AJ Thank you. 

BP Angie, for people who don't know, tell him a little bit about yourself. How you got into the world of software, some of the stuff you've created and what you're focused on at the moment.

AJ Oh, wow. Okay. Yeah. So I went to college, unsure of what I wanted to do with my life. Back then, in the, you know, dinosaur days, my father was an accountant. And he saw that, like, tech was becoming this emergent space, right? He saw, like, people needed to know how to use these things called computers. And he suggested that I take at least you know, one course so I know how to use the computer, and it'll help me whatever I decide to do in my life. So silly me. I mean, I don't know what any of these descriptions or titles mean. And so I just chose one and it happens to be a c++ course.

CW Oh, no. [Cassidy & Angie laugh]

AJ Yes. So this is not just my first introduction to like, programming, it's my first introduction to computers, period, right? But it was so much fun, I loved it so much. I grew up, you know, playing board games, and, you know, strategy type games with my family. And this felt very much so like that, like, you know, giving a puzzle and putting it together. So I really enjoyed how it stimulated my brain. So I was doing really well in the course and that professor asked, you know, why is this not your major? Why aren't you a computer science major? And I'm like, I don't know what computer science is. [Angie & Ben laugh] And he kind of helped me and, and I ended up switching my major to computer science, graduated with that degree and went on to even get a master's degree in computer science. That's how much I loved it. So that was my introduction to tech. You know, worked as a developer, and I really took a passion for test automation. I found that it was something that was often overlooked by a lot of developers. And yet, I found it to be something that was really critical to, you know, the overall delivery process. And so that's the area that I started kind of owning on dev teams, and, you know, helping the other developers and, you know, coming up with, you know, strategies and design patterns, and, you know, it really exercised my development muscles more than, you know, the feature development did, I found. Having to, you know, architect the project and things like that. So, I fell in love with that. And that's what I've been pretty much focused on for my entire career. 

BP Do you think that maybe there's a bias towards working on features or something larger because people think that's, you know, who gets the credit or if you tell the story of a startup, you know, that's where they, they sort of focused, you know, maybe for the mainstream press? Where as you're saying, you felt like this is under explored, but obviously essential to what people were doing in someplace that you got to have a lot of intellectual stimulation?

AJ Yeah, it is a mix of that. So that's the people who, you know, kind of get the credit at the end of the day. When we ship something, you know, if there's a cool feature and customers love it, who are we going to attribute that to? The developers, right? And testing just wasn't fun, right? People wanted to develop their feature, they got it working, they see it with their eyes, they're ready to move on to the next thing. And I think that academia does a great disservice to the testing part of feature development, right? It's not even necessarily a separate job or role. This should be something we're toggling. We're learning how to build things, how do you test them? And how do you create like, you know, regression test so that you know that your stuff always works. And I feel like human nature is we kind of, you know, look down on things that we don't really understand very well. And I think there's a lot of that in software development and testing.

CW It's kind of like that phrase where, if it's working, then nobody notices you, and they're mad at you when all of a sudden, it stops working.

BP And so tell us a little bit about the company you're working at now. What are the tools and services they're creating, I think within this ecosystem that you decided to focus on?

AJ  Yeah. Okay. So this was like, a career change for me as well, a little bit. So I was working at Twitter, before this company, you know, as a software engineer, and I had gotten into like speaking, and, you know, writing blog posts, basically producing content. And it kind of took a life of its own, to the point where I was probably on the road, I would say about maybe like, 80% of the time. 

CW Ooof!

AJ I know, Cassidy, even though this wasn't my job! [Angie laughs]

CW Yeah, I was going to say, in addition to your full time job?

AJ In addition to my full time job, and, you know, the Twitter folks were very accommodating. You know, I could have been like, Come on, now sit down. But, you know, they were very accommodating. But you know, of course, I need to get my, my Twitter work done too. So it got to the point I was finding myself, you know, about to burn out, I would be in, let's say, I'm in Europe, and I'm teaching this eight hour workshop which zaps every ounce of energy you have, and then I would have to, you know, go back to my hotel room and put in like, eight hours of my full time job work through the night, right. So it was wearing me out. And I said, okay, I need to figure out how to get paid for this content creation stuff. Because, you know, I really liked that. And I feel like I'm making more of an impact. You know, it was like, outside of the four walls of an individual company, you know? And I had no idea about Developer Relations. And actually, I went to dinner with the co-founder of Applitools, which is the company that I work at now. I had, you know, known him from the conference circuit or whatever. And, you know, being in the Bay Area, that's what you do. So you go out to dinner with powerful folks and stuff. And see, you know, what networking opportunity you can take advantage of. So he was telling me about a developer relations as a career. And he was saying, you know, I think we may need something like that, if you're interested. So I'm like, wow, interesting. Yeah, that sounds exactly like what I need. And you know, I did a little bit of more research. I reached out to Kelsey Hightower, who is like famous developer advocate. He had a call with me, and he basically kind of gas me up. I was like, yeah, you're ready, you're already doing it! [Angie laughs] So that's how I got at this job. So applitools, it was perfect, because they specialize in test automation. In fact, they have a tool or API that does visual testing. And it uses machine learning to essentially make sure that our applications are pixel perfect. And they look like what we want them to look like, right? So this was fascinating for me.I get to do Developer Relations, I can still focus on test automation, which I'm very passionate about. And I get to work on, you know, cutting edge technology, like, you know, machine learning. So yeah, this was probably having a blast. I've been here like, I think three years at this point, which is a lifetime in software. [Angie & Cassidy laugh] So that tells you how much fun I'm having.

BP And so what does that mean by the visual side of it? You're saying like, you can run a test that ensures that the way it appears is what you want or you mean the testing is done in a way that's easy for you to comprehend visually?

AJ It mimics the human eye and brain. So look at your application and determine if it's correct or not. Based on based on what you've specified before, right? So most of the testing automation tools in the market, they interact with the DOM, to be able to, you know, run your front end test and also verify stuff. So let's say for example, you just wanted to verify that some button was there on the page, right? So typical test automation tools, you will say, is this button there, and it will look in the DOM and it will say, yeah, I see that button, you say, Great shipping. But what if that button was like, hidden by some other element, right? Or what if it was like bleeding off the edge of the page? Or what if it was the same color, as the background, your users didn't know was there, if it was disabled. Like there's so many things that could be wrong. So what Applitools does is it looks at the surface of your application as opposed to the DOM and says, Yes, the button is there. And it looks just like you want it to look.

CW It's so valuable, because there have been times where, for example, I've seen companies where they ship some new build. And technically, you can reach the login button, but like, someone like me would have to inspect element and remove something. So I could hit the login button. And they say all of our tests pass, it says that the button is on the page, it says it says that it says login, but people can't actually click on it unless they do it programmatically or mess with it. And so having these kinds of visual tests where it says this is where the button should be on the page, and it looks the way it should look is so important.

[mid-roll music]

BP Visit linode.com/stackoverflow and see why Linode has been voted the top infrastructure as a service provider by both G2 and TrustRadius. Linode makes cloud computing fast, simple and affordable. Visit linode.com/stackoverflow and you’ll get $100 in credit. Already, head on over there, let me know the podcast sent you and support the show. 

[mid-roll music]

BP So let me put this to both of you. Because I know Cassidy had mentioned this actually missing some of the tour circuit. What is it that so--I don't want to say addictive--but what is it that's so great about going out there and doing Dev Rel, about giving, you know, conference talks about doing teaching? Because it feels to me like a lot of the software developers I know who are, you know, thinking about where their career should go, are getting engaged with this, just just tentatively trying it out. And then kind of getting you said, like, sucked into traveling more often than they're staying and almost like going on tour, what is it that's so exciting about that particular piece of the of the job?

AJ So you know how we talk about the 10x engineer, right? And everybody's like, oh, that's a myth. Well, this is as close to the 10x engineer as you're gonna get. Because you're literally teaching and uplifting. The entire engineering community, like, it's not just yourself at all, it is a very selfless kind of job. It's not yourself. It's not even the developers that are on your team. No, it's like, engineers in this continent, and that continent and worldwide, like you can see the impact and influence that you're making, on, you know, the entire industry. On making products better, on making people's careers better, making them stronger. So it's very much so for those who enjoy that type of thing of helping other people become better, right? And helping the craft as a whole. You know, there's only so many like Lunch and Learn sessions I can do internally, that's going to make the type of impact that I am able to make, doing like a Developer Advocate role.

CW Just being able to meet so many people is so exciting. Like Angie and I met at a conference. And it was great. And I've been able to build such a great community of people who I see multiple times a year, but never in my hometown or in theirs. It's because we're on this travel circuit. And it reminds me of this quote that I saw recently, or it was an article about the telephone and like the history of the telephone. And the chairman of AT&T, it was way back in 1908 said that a telephone without a connection at the other end of the line is not a toy. It's not a scientific instrument. It's one of the most useless things in the world. When a phone has a connection, suddenly it's useful, even if it's just one. And I think when it comes to community building, and having a good tech community around you and a good network, you can't just do stuff on your own. And you can't just code for yourself. And that's it. If you want to build a community around you and be involved in your community and have that kind of growth, you have to make those connections. And there's so many different ways of doing that. Now, like you don't have to travel at conferences or schmooze at cocktail parties or give out business cards. You can do PR comments on open source, you can teach a workshop, you can have an even an email signature that says that you're willing to meet up with someone or you can moderate a community. There's so many options out there. But being actively involved in your community is so rewarding and beneficial to you and to others, that it's very easy to be addicted and because like Angie said you feel that impact and you get to see it firsthand.

BP Yeah, I guess one of the things you said there, Angie, that really stood out to me was talking about that sort of myth of the 10x. And it's kind of like that, that's, you know, something that you might work 10 times as hard as somebody, or you might, you know, write some code, that's 10 times as efficient. But, you know, there's no guarantee there that what you end up creating will catch on with people or that even if it's great, people are gonna, you know, end up finding it, because you know, then sort of, like, buried amidst all the other apps that they have to choose from, whereas you go out and you make that connection with somebody, you you know, have that immediate feedback of building that relationship or helping that person but also, like you said, then they begin working on your, your software, maybe or your platform until there's that multiplier effect of like, increasing the chances that somebody will create something great with your tools, which is really neat. So I guess we have just a few minutes left, and I wanted to ask, it says on your bio, that you are a prolific inventor. I want to just touch on that a little bit. What have you invented? And what's the process like of coming up with an idea, deciding, like, I want to get this patented and going through with that.

AJ Ben is like, yeah I got 30 seconds left. [Cassidy laughs]

BP  No, no, I'm not gonna shut you down! A few minutes I said. [Angie laughs]

AJ Yeah, um, so I was given the title master inventor, one working at IBM.

CW Wow.

AJ IBM is very much so into like innovation and has been like the leader and producer of software patents like year over year. So it's very much so part of the culture while I was there, and not that, you know, everybody was doing it, but there was the tools were readily available if you were interested in that sort of thing. And so I have 26 issued patents in multiple countries. And, you know, it's kind of like my claim to fame, you know. [Angie & Cassidy laugh] But yeah, it's essentially like, you know, coming up with some new novel concept, and, you know, detailing the blueprints of how one would go about developing that. So it's kind of like, I get to do you know, an engineering job without having to pull out my keyboard and actually, like, build the thing, right? So one example, I like to do this with my two truths and a lie thing. I say, I invented time travel. And of course, everybody's like, oh, that's the lie, or whatever, you know. Like, no, I really did invent time travel. But it's time travel in a virtual world. So that's one of mine, is back when like, Second Life had just come on the scene. So this gives me like, an excuse to go play with like new tech, and stuff like that. And really the key here, I have a whole talk on this on my YouTube, if anybody's like really interested. But the whole key is to be aware of problems as they present themselves and be annoyed by them. Right? So the problem was, oh, darn, they had a conference in Second Life, on this topic that I love, let's just say macaroni and cheese. You know, there's a conference on how to make the best mac and cheese and I missed it. So you know, you started thinking like, okay, I'm annoyed. How could I solve this? And so it was like, Well, I'm in a virtual world. So why do I have the limitations of the physical world here? Why can I travel back in time, and immerse my avatar into, like, the recording of that conference? Right? So that I feel like I'm there and present date? So you think about like, how would you do that? Technologically, how would you do that? And I had to like, outline what you need. So using, you know, you're saying, like, I need a database with this stuff. And like you pull out all your tools you need, you describe how someone would go about building that, you have a fancy intellectual property lawyer, take your two page doc and turn it into, you know, a 25 page doc with, you know, diagrams, and things like that. And you submit it to the patent office, your wait about, you know, two to 10 years to see if they think that this is a new idea or not. And if they do, they issue you the patent and now you own the rights to that. And you can license it to other companies to use, so that's one myth. Sometimes I get beat up. I don't even talk about my fans so much on Twitter. People are like oh what about open source? Which I love open source. But um, you know, it's not that as closed, is that it's a business model, right. So now you license the rights for other companies to implement that and you make a little money with that.

CW Well, the the protection that comes with patenting and copywriting stuff for your ideas is so huge. That we have, I think, one of the strongest offices in the world for that. And so as a business, and if you want to be an entrepreneur for those kinds of things, it's essential to know about and it's cool to get to talk to people who actually do know about this process because it's very intimidating if you're just like, how would I do this? 

BP We're all gonna be living in the metaverse soon. So I need to hang out with you. You have the power of time travel. [Angie laughs]

CW Yeah. I'm very happy that you brought up the mac and cheese too as the example because I know you're famous for your mac and cheese.

BP Patented or just famous? Okay no, I'm just kidding.

AJ Just famous, just famous. 

CW So far. [Angie laughs] 

AJ Yeah. I can't patent it, because I don't want to write down the recipe, that's the issue.

CW Ohhhh.

BP Right, right. Yeah, people would be stealing it.

[music]

BP Well, very cool. Angie, I want to say thanks so much for coming on the show. So as I do at the end of every show, I will shout out the winner of a lifeboat badge. Somebody who came on to Stack Overflow found a question with a score of negative three or less, gave her an answer and got up to a score of three or more. 'What is the difference between Jar signer and Apk signer?' Thank you to Alex Klyubin, awarded four hours ago, a nice lifeboat badge and we'll put it in the show notes. 

AJ Yay Alex!

CW Yay!

BP Yay Alex! I am Ben Popper. I'm the Director of Content here at Stack Overflow. You can always find me on Twitter at Ben Popper, email us podcast@StackOverflow.com. And if you liked the show, leave a rating and a review. It really helps. Cassidy, who are you?

CW I'm Cassidy. I am Director of Developer experience at Netlify. And you can find me @cassidoo on most things.

BP Angie, who are you? Where can people find you on the internet if they want to know more about you or checkout some of your talks and your work?

AJ Yeah. Angie Jones, Senior Director of Developer Relations at Applitools. You can find me on my blog where I talk about testing stuff. So if you're one of those devs who you know you want to secretly learn some more come to AngieJones.tech. Also I run Test Automation University. All the courses they're on all things testing and they're absolutely free. So definitely check that out testautomationuniversity.com. And you can find me on Twitter @Techgirl1908.

BP Alright, thanks so much for coming on. And everybody, thanks for listening. We'll talk to you again soon.

[outro music]