Conference Speaking And Presentation Skills: Mike Hall Interviews Trisha Gee | GOTO Conference 2015

• UGtastic Archive
Full Transcript Available
🚀 Trisha Gee, a developer advocate, shares her journey from writing tests for code completion to creating tests that add value and maintainability. She discusses the importance of motivation and the role of tools in enhancing testing practices. #testing #developeradvocate #intellijidea #automation #softwaredevelopment
The Interviewer

Mike Hall

Interviewer, UGtastic

The Guest

Trisha Gee

conference speaking and presentation skills

The Conversation


Mike Hall Interviewer, UGtastic
Hi it's Mike with UGtastic. I'm here at GOTO Conference 2015 and I'm standing here with Tricia G who gave a talk about leveling up your automated tests. Thank you very much for taking the time to speak with me. So leveling up your automated tests, what is, can you tell us more about that? Sure.
Trisha Gee conference speaking and presentation skills
So I, it's a long story I guess, but it was about when I had been working at a financial exchange where we were really anal about testing. We had like tests at every single level, we did test driven development, did our tests first. And I kind of got so used to working that way and I worked that way for about four years that I assumed that all developers had evolved to work that way as well. And then I moved to a different project where we did automated testing, which is a massive step up from other places I've been in the past, but the automated testing was not as comprehensive as I would have liked to have seen. So the talk is really about the story of trying to go from writing tests for, to tick the box of, yeah, I wrote a test, to writing tests that have value, writing tests that do something useful, but not in a kind of, you must write tests kind of way, in a kind of way where as developers we go, all right, this is kind of fulfilling, if you like, or satisfying or fun or, or whatever. So how do we get our mind into a place where tests is not like, oh, God, I have to write a test. But like, oh, cool, I get to, I get to experiment now. And this is where I start writing my experimental tests around the code that I've written. And it's interesting, because I had just interviewed Jay Fields a few minutes ago, and he talked about unselfish tests, and he talked about motivation, you know, what is your motivation for writing the test? And it sounds like that is something along the lines of what you're trying to figure out is actually, like, how do you go about evaluating what your motivation is? Right, exactly. So the talk is really around, I mean, it's a specific journey that we took and a technical solution that worked for us. But the talk, the lesson really should be the journey that we took in terms of looking at what tests can do, what you think they do, what they can give you, why we weren't doing the best job we could have done with the tests, and how we tackled each of those problems. And one of the main things is to realize that writing tests is not to check that the code that you wrote works. Writing tests is for things like checking, it was to give you maintainability, readability, documentation. Yeah, to do what I expected to do.
Mike Hall Interviewer, UGtastic
Right, does it do, yeah, does it document what the system should do? And, you know, does it handle these edge cases I didn't really think of?
Trisha Gee conference speaking and presentation skills
And that sort of thing.
Mike Hall Interviewer, UGtastic
Right.
Trisha Gee conference speaking and presentation skills
And, you know, the last time we spoke, you were with a different company, but now you're with JetBrains and they deal with such a wide variety of tools and provide tools for, you know, Object C, through Java, through . NET.
Mike Hall Interviewer, UGtastic
I mean, is that reflected in some of the lessons you've learned with, you know, how you approach testing? Did that?
Trisha Gee conference speaking and presentation skills
I mean, well, so this particular talk was based on my experiences at Mongo. But the thing was that it was quite good. So we were heavy users of IntelliJ IDEA. And when we were using Spock with Groovy, which is a language which was not familiar to us, IntelliJ IDEA really helped us with that stuff because it kind of helped us, helped guide us towards better Groovy practices and helped us to write tests which were, which looked right and felt right. So I guess I haven't been at JetBrains long enough to know the impact enough of that company on the testing stuff. But I have to say that using the JetBrains tools at Mongo really helped us write better, faster tests and it gave us the feedback we wanted from the tests.
Mike Hall Interviewer, UGtastic
Yeah.
Trisha Gee conference speaking and presentation skills
And going from using a tool to work at a company, I can't think of a better testimony for how good the tools are.
Mike Hall Interviewer, UGtastic
Right.
Trisha Gee conference speaking and presentation skills
It's like, oh, I used this tool. It was so good. I want to work there.
Mike Hall Interviewer, UGtastic
Right. Exactly.
Trisha Gee conference speaking and presentation skills
And the great thing about working for JetBrains and the fact they make IntelliJ. So I'm kind of looking at the IntelliJ toolset plus also a bit of TeamCity and Upsource and a lot of these kind of enterprise type tools that generally Java developers will be using in the real world. But all the stuff that I've kind of learned as a Java developer, is applicable in this role because I've been using this tool for a long time. I know that it's great for this and I know shortcuts are good for this. I know there's a lot of stuff that I didn't know. And when I discovered it, I was like, oh, that's amazing. It makes my life better.
Mike Hall Interviewer, UGtastic
Yeah.
Trisha Gee conference speaking and presentation skills
So my job now is to take all the stuff where I thought, wow, that's amazing, and put it on videos or on small animated GIFs and show it to everyone and say, look what you can do.
Mike Hall Interviewer, UGtastic
Yeah.
Trisha Gee conference speaking and presentation skills
So you're getting to do a little bit more teaching and sharing out. I just drew a blank. It's the end of the day at the end of the conference. But the role that you're doing now is, you know, I want to just kind of dovetail into being a developer advocate and going on some conversations I've heard that had happened on Twitter that maybe describe that the role of developer evangelist and advocate isn't quite as well understood by the community as it is.
Mike Hall Interviewer, UGtastic
Can I ask you some questions about being a developer advocate? Sure. What is that role? What does that job mean? Okay.
Trisha Gee conference speaking and presentation skills
So I will answer it from my point of view.
Mike Hall Interviewer, UGtastic
Okay. Yeah.
Trisha Gee conference speaking and presentation skills
And one of the interesting things about developer advocate, developer evangelist is that it depends from job to job and from company to company. So at MongoDB, what was very important to us was as evangelists, we were proper developers. We worked full-time normally on a code base that was used. For example, in my case, it was the MongoDB Java driver. And we would go out and talk about MongoDB the server and the Java driver. And that's great, but you end up getting torn in two directions because you sort of have this full-time coding job, which is necessary because you need to have the, what's the word? Practical.
Mike Hall Interviewer, UGtastic
Yeah.
Trisha Gee conference speaking and presentation skills
I'm thinking in Spanish now. I don't even know Spanish. You know, you need to be... Practical. You need to be reputable and developers need to believe that you understand about development. But to be doing development, proper full-time development and traveling and creating content and writing blog posts and stuff is a lot of work. So at JetBrains, my role is much more around the, like you say, the educational side of stuff. So I'm still doing coding. I'm still contributing actually to Morphea and to MongoDB because they're open source projects. I'm still writing my own projects. So here I get to write projects which demonstrate something in particular. So I've got a project which demonstrates Java 8 lambdas and streams with like tiny, tiny services that you might call micro-sized. I've heard that term floating around in this conference. So I've been writing some code that demonstrate particular things. So I really like, well, I wanted to see how Java 8 works in real life. So I needed a real Java 8 project, which I created. And I wanted to see how IntelliJ helps you write Java 8 code. So I created that code for that. So it kind of lets you drill into a certain sector of a topic.
Mike Hall Interviewer, UGtastic
Right.
Trisha Gee conference speaking and presentation skills
And I can continue to maintain this, but I don't need to because no one else is using it. It's kind of fulfilled a goal. And I can now write a bunch of stuff around this. So I have a talk around it. But I also can write some blog posts or I've also used it to create some screencasts to say, look, if you want to do some shortcuts in IntelliJ around creating lambdas, you can do this. And I have real code that works to demonstrate that. So a little bit of research and experimentation that might not have been in a job where you're like, oh, I got a deadline and I have to deliver this feature.
Mike Hall Interviewer, UGtastic
Right.
Trisha Gee conference speaking and presentation skills
So, oh, and I also have to write a blog post.
Mike Hall Interviewer, UGtastic
Right. Exactly. It's more like, what can I write a blog post about? Yeah.
Trisha Gee conference speaking and presentation skills
So that's interesting how it kind of flips out on the head. Now, is that a common thing for developer advocates across, because you said, you put the caveat, you're describing your situation.
Mike Hall Interviewer, UGtastic
Right. Right. How does that maybe different?
Trisha Gee conference speaking and presentation skills
I think some other companies put more focus on content. I mean, content takes quite a long time to come up with. If I'm going to write a blog post about Java 8 features, for example, that could take, I mean, it could take weeks, you know, to put together a good blog post. So some, some companies focus more on that sort of content. Some companies, like I say, a bit more like Mongo, you tend to have a, like a proper engineering role where you also have to deliver something engineering wise. And for some companies, the developer advocate role is a role within marketing. And for some companies, it's a role within engineering. For JetBrains, it is its own organization, which we talk to the product owners for each of the individual products, because we have to, and even developers for the products. So we have very close ties to the engineering team, but we're also outside of marketing. So we talk to the marketing guys too. And that's nice.
Mike Hall Interviewer, UGtastic
That allows us to balance, because marketing and engineering are two, have two differing goals, if you like, right?
Trisha Gee conference speaking and presentation skills
One is to like deliver the product and the other is to tell a story around the product. And, but the engineering will get the product done when it's ready. And marketing deadlines are slightly different. And being sat in the middle allows us to kind of balance those things up. But we do have deadlines as well. Now, our deadlines aren't like your boss saying, deliver this feature by X. But our deadlines are, for example, there's going to be a new release of Upsource next week. So I need to get a screencast of the new features in Upsource done by the end of, by yeah, Tuesday next week.
Mike Hall Interviewer, UGtastic
So you live a little bit closer to product cycles? Yeah.
Trisha Gee conference speaking and presentation skills
Yeah, definitely. Versus just marketing initiatives.
Mike Hall Interviewer, UGtastic
Right.
Trisha Gee conference speaking and presentation skills
But it's still, it dovetails into a marketing initiative.
Mike Hall Interviewer, UGtastic
Right.
Trisha Gee conference speaking and presentation skills
But it's, it's kind of, once the engineering team have done what they're supposed to do, and we get involved with them earlier on. So I'm using early access versions of like most of the software. So I can also, I often end up feeding back, you know, occasional bugs come up.
Mike Hall Interviewer, UGtastic
Yeah. Because that's the point about an early access program, right? Yeah.
Trisha Gee conference speaking and presentation skills
You're, you're pushing the boundaries.
Mike Hall Interviewer, UGtastic
Yeah.
Trisha Gee conference speaking and presentation skills
So I'm like trying to figure out how new features work. And I'm like saying, well, this doesn't appear to work. And often it's me going, oh, I didn't really get, get the right angle for that feature. Or sometimes it's like, oh, we haven't quite thought of that. Or maybe we can replace it this way. And so I get to feed stuff back in there as well. So that's quite cool because it's, well, I mean, it's more like being a user than a developer, but so I get to input a little bit into that. But also being a developer, you're quite sympathetic. You're not like, it doesn't work. It's a bug. You're like, well, I'm trying to document this feature. I'm not really sure how it works. And then you speak to the developers and they're like, oh, it should be like this. And you're like, okay, great. And then because they can explain to me what it's supposed to do, and I can think, how would a developer use this? Then I can document it or screencast it or whatever in a way which will hopefully make it usable for future users.
Mike Hall Interviewer, UGtastic
Okay. Well, thank you very much for taking the time to speak with me. Thank you very much. Thanks.