Kirk Pepperdine

04

If you want to be accepted by developers, you have to be a person who they respect.

Kirk Pepperdine

Introducing Kirk Pepperdine

Kirk Pepperdine has been performance tuning Java applications as an independent consultant for about 20 years. He was named a Java Champion in 2006, has been a JavaOne Rockstar numerous times, and can be found at Java User Groups (JUGs) and conferences worldwide. The author of the original Java performance tuning workshop, Kirk continues to be an ardent supporter of the Java community as the cofounder of JCrete, a Java unconference, and helps to establish other unconferences across the globe. Find Kirk on Twitter: @javaperftuning.

Geertjan Wielenga: Being a developer advocate is all about promoting tech; would you agree?

Kirk Pepperdine: I think we're all about promoting ourselves, but you can't really do that directly. So, you have to promote tech. As a side effect, you get promotion.

What I think happens is that people go to promote a certain tech, for one reason or another, and then they end up being the person that people go to when they have a question. Then they tell their friends about it and it goes from there. If you're helpful, then I think people tend to seek you out and if you're not, then you're less successful advocating the tech that you're trying to advocate!

Geertjan Wielenga: What kind of personality traits make one suited to this role?

People who are suited to advocacy

Kirk Pepperdine: When I look at the good tech advocates today, such as Josh Long, Simon Ritter, or Heinz Kabutz as Java Champions, they're Java Champions because they're good advocates of the tech.

What makes them good advocates is that they're first and foremost entertaining, and that's part of the job that I don't think people recognize. They're entertaining in how they present the information that they want to deliver to the audience, so it's not just a matter of delivering the information.

First, you have to have good content. I think you have to deliver that in a way that's consumable by the audience, and keeping their interest is important. If you're a dull, boring speaker, I think there's a certain percentage of your audience that will tolerate the boring bit just to get the information, but you won't bring new people in. You'll probably lose them very quickly. The people who are engaging and have a deep understanding of the tech are the people who are going to be successful at advocating their particular tech stacks.

Geertjan Wielenga: Would you say that developer advocacy really lends itself to extroverted people?

Kirk Pepperdine: Surprisingly enough, I think that some of the people that are very good at this are more introverted than extroverted. Without giving names, I would say that some of the better advocates I know are rather introverted.

Those people are just able to set that aside somehow and focus on delivering the message.

They don't think about the audience in the sense that they're there and you actually have to talk to them. Some people are just able to do that. Introverts will be nervous before going up on stage and afterwards, they will need to be alone for a while to wind down.

I'll talk to people and they'll say, "How do you do an all-day event? After a one-hour talk, I'm basically finished." I find that after a one-hour talk, I'm finished too, but there's a different energy level that's required in a one-hour talk compared to when you're doing an all-day seminar workshop. The one-hour talk is like a sprint and the workshop is more like a marathon, so you just pace yourself differently.

In a one-hour talk, you're trying to pack a message into it and that requires a lot of energy. With a workshop, you never feel that pressure to draw the audience in and get them engaged with whatever it is that you're speaking about.

Geertjan Wielenga: There's more to developer advocacy than purely standing on a stage at a conference, right?

Kirk Pepperdine: Yes, you're right. There's plenty of behind-the-scenes work that goes on. I think the interesting part is that the good advocates will spend time making sure that they're just working with the tech.

The better ones are very enthusiastic about what they're doing and that enthusiasm certainly comes off in the talks. They're saying, "Look at this really cool thing that I'm able to do! Here are some ideas for how you might be able to use this and it should hopefully make your life better."

"You call me a developer advocate, but I've never thought of myself as one."

—Kirk Pepperdine

The talks become a byproduct of the process. You call me a developer advocate, but I've never thought of myself as one: I'm just doing stuff. I'm seeing people struggling and I'm helping them to make their life easier. It's not that I'm advocating anything: I'm just sitting looking at developers saying, "Dudes, you guys are struggling here and I can help."

Geertjan Wielenga: How, then, would you identify yourself and where does developer advocacy fit into what you do?

Kirk's style of advocacy

Kirk Pepperdine: I don't know if I'm really that different from many of the developer advocacy guys that I know, in the sense that they're just out there doing a job and they're getting paid. They're still deep into the tech.

I think one of the differences is that I actually engage in a lot of research on a particular topic. I know that there are other advocates that are like me. They don't get paid for it and it's not their job title, but they do research. I might do research for two weeks and then something interesting will come up and I'll say, "Ah, that's something cool to talk about!" as a side effect.

I might look at something for a year and be playing with it and poking it. Then, finally, something will come out of it.

For me, it's not like someone says, "I need you to talk about our product X." I don't have to scramble to learn, sort, figure out, and throw together a talk. That's where the difference is: the talk is the endgame. I'm doing the research to help my clients and a talk coming out of that is a byproduct of the entire process.

Geertjan Wielenga: What kind of work do you actually do? What does your day look like? What is your job if it's not directly developer advocacy?

Kirk Pepperdine: My job is to know as much about the space I work in as I possibly can. I work in the computing space, building large software systems and deploying them. That's specialized down into Java and specialized down into making sure that everything runs smoothly. It's performance tuning, if you want to make it less abstract; that's my job.

I spend every morning reading for about an hour. Sometimes it's tech and sometimes it's not. Most of the time, it's going to be some technical-related thing that I'm interested in knowing more about. After that, the days vary, but if I'm not on an engagement then I'm going to be pulling out a problem that I know exists and seeing what I can do in terms of researching it more.

There are a few open-source projects that I've been tinkering with, so I might do something with them or it might be just product development: writing code.

If I'm on an engagement, then, of course, my time belongs to my client. If I'm engaged in a workshop, then that's a pretty clear process where you're just in a room with a bunch of people, working with them to try to improve their understanding of how to efficiently and effectively performance tune a system.

Geertjan Wielenga: In addition to that, you're also really involved with the conference scene, the community, and various conferences like JCrete. How did you get involved with all that?

Kirk Pepperdine: The same way everybody else does: I just showed up. You find like-minded people and you discuss tech.

Geertjan Wielenga: Why don't you simply do your work and go home at the end of the day? Why are you involved in the community at all?

Kirk Pepperdine: The people who I have a shared common interest with are showing up in the community. For me, this isn't a job; it's not really work. I can actually get paid to do this, which is quite amazing. It's a dream. How many people can say that they really enjoy what they're doing?

There are all kinds of really good things about this industry. I'm sitting here right now in Sydney looking at one of the harbors. Before we started talking, I was just looking out the window and developing software. I was thinking, "This is wonderful because next week I'll be in Atlanta and I'll be able to meet up with a whole bunch of different people, who are essentially friends."

We're all in the tech space and it's just great. For me, a conference is a chance to meet up with people, meet new people, and just talk about tech. Basically, I use giving a talk as a means to actually attend a conference.

On this trip, I'll be speaking at a JUG. I'm going to meet these people here in Sydney and it's wonderful.

I like to turn my talks into discussions and if that works, we'll have a great time. I'll get to meet a whole bunch of interesting people here in Sydney, which is fun.

JCrete started around 12 years ago. Heinz and I were talking about having a conference where we could get like-minded people together in the same place and create a fun environment. Life gets in the way sometimes and it wasn't until about five years later that we really started putting the whole thing together with the pushing of John Kostaras. We built a JCrete community and everything is open. We want to make sure that everything is shareable under Creative Commons and it's non-commercial.

"The only time I use the speakers' room is if I'm looking for someone."

—Kirk Pepperdine

Nobody there is directly trying to sell you something. There are no vendor booths. We've had people say they would like to sponsor the conference and we've turned them away. Everybody in the conference is on an equal footing. When you go to other conferences, you get the speakers' room and all this other stuff. I can tell you now that the only time I use the speakers' room is if I'm looking for someone. I generally don't stay in there because I want to be out where things are happening.

The increase in conferences

Geertjan Wielenga: Don't you also get the feeling that maybe five years ago, even, there weren't as many conferences as there are now?

Kirk Pepperdine: Yes, I think a few more have popped up. If you look at what's going on in Poland, that's pretty amazing. Poland seems to have a very active community and there are a lot of conferences. There are a couple of conferences that are back to back in Krakow. They both draw 3,000 people. I can't spend my entire time speaking because I need to pay the bills and speaking, unfortunately, doesn't really pay the bills.

Geertjan Wielenga: Do you find that as a result of being at conferences and networking, it helps your business?

Kirk Pepperdine: I haven't been able to correlate attendance at a conference with my business. Now, I know there's a correlation but nothing is ever immediate. Everyone thinks that you go to a conference and you walk away with 10 new clients. That doesn't happen.

You might walk away with one client or two clients, but you won't get that one client or two clients until maybe a year and a half after you've attended the conference. There's a huge lag, especially for what I do, between speaking at a conference and someone seeing you and saying, "Hey, we might like this guy to come into our company."

They have to wait for a budget cycle and the right conditions. All of a sudden, they'll call you and you'll get an engagement out of it. Meanwhile, you might have just spoken to 600 people, maybe more. I had one customer who said, "Oh, we saw you speak three years ago." They decided to call me because of the talk. That is a crazy long time to remember somebody!

Geertjan Wielenga: You mainly focus on performance tuning. So, when somebody calls you up, do they basically have an application that's dead on the table and it has to be released tomorrow, for example?

Kirk Pepperdine: It actually gets worse than that. I've been called in to projects that had already been cancelled and this was the last-ditch effort to see if I could revive them or get them uncanceled.

It's quite a strange situation because I'm just a goofy guy walking into a company. The company's about to tank, or has already tanked, the project and everybody's highly stressed. I just come in and I'm in beach surf vacation mode. You're really in this juxtaposed mood condition.

When I said that I don't always read about tech, I meant that you have to read about the other things. You have to recognize that most of the time, the problem isn't tech. Yes, there's a technical problem there that needs to be solved, but there's also this human problem that needs to be looked after.

"I'm supposed to come in and change the world in three or four days."

—Kirk Pepperdine

A company has had their best people looking at this problem for months and I'm supposed to come in and change the world in three or four days. I know nothing about what they're doing when I walk through the door.

Somebody's had to go through a hard sell to say, "Let's get someone who's completely clueless about what we do and just call them in randomly and they're magically going to make our problem go away."

There's this human aspect of the problem that you actually have to manage, as I say, and that becomes more important than the tech in some sense. One time, we had members of the board wandering around the developer pit. We had the phones completely ringing off the hook. The system they had deployed was just falling over very badly.

These guys were really good developers, but they had made one mistake. Before I could find it, I had to somehow calm everybody down. I used this technique I use to implement some tactical hack: I had to go off and start killing things in the system.

It did mean that the people who were doing the important work at the time could work uninterrupted and the phones stopped ringing. The board members all went back to their offices to look at something else. You could just feel the tension completely drain out of the room when the phones stopped ringing. Then, everybody's brain turned on.

After that, I could say, "Okay, what did you guys do here?" These guys explained the problem to me and all I had to do was tell them what they told me. Then they knew what the problem was and they went off and fixed it. I didn't do anything; I just found a pressure relief valve.

Geertjan Wielenga: You're like a psychologist more than anything else, then?

Using psychology to solve problems

Kirk Pepperdine: Yes, I find a lot of performance issues are a reflection of some dysfunctionality within the organization and not really a problem with the people who deployed the tech.

Something has gone wrong at an organizational level and it creeps out somehow into the systems. You actually have to deal with the psychology of the situation.

Sometimes, people get fired, which is never nice. In a couple of cases, I've actually managed to keep people from being fired because I knew they did the right thing, but they just messed up in one really small way. They actually had taken their company three or four steps forwards but their one small mistake took them back one step. Everybody was looking at the one step backwards and not at the fact that they took the company four steps forwards in the process.

Geertjan Wielenga: These are really interesting insights that you have gained from your engagements. How do you feed them into your conference topics as a speaker?

Kirk Pepperdine: I used to talk about the psychology of certain situations, but I stopped because developers are never really interested in that. I talk about tactical hacks and the effect that they can have on the psychology of the situation instead.

The funniest story is one tactical hack I put in. The CEO was talking to me afterwards and asked what I had done. I said, "Well, I have put 13 lines of code in the application to do this really bad thing to the system that makes it run smoothly."

He was shaking his head and he said, "Wow, that's the most expensive 13 lines of code I've ever paid for!" I didn't say anything at the time, but actually the other lines of code that were causing the problem were more expensive!

Geertjan Wielenga: Java performance is what you get engaged in and also what you talk about, but what are some of the specific topics?

Kirk Pepperdine: Garbage collection is the topic that many people are interested in. I keep talking about it all over the place. What makes garbage collection interesting is that it can have a really huge impact on the performance of your application. Just to give you a hint, with one of my clients that I'm currently working with, all I've been doing is tuning garbage collectors. With the first set of tuning that I did, I took the service-level agreement (SLA) violation rate down from 6% to 1% and it was just by tuning the garbage collector.

Geertjan Wielenga: Have you written books or guidelines that collect all these insights about garbage collection, or performance in general, together?

Kirk Pepperdine: I never have. The problem is that the space changes at such a rate that by the time you write anything more than an article, what you've written is obsolete.

The advantages of being independent

Geertjan Wielenga: Going back into the general developer advocate discussion, since you don't work directly for a company, does that means that you can be 100% honest about everything and just speak from the heart?

Kirk Pepperdine: That's what I do. I generally speak true to my experiences. There have been some really funny situations.

Heinz and myself were the first non-Sun Microsystems people invited to speak at Sun Developer Days. The most embarrassing thing was that Simon Ritter, who was working for Sun Microsystems at that time, had something like 19 people at his talk. Heinz and I were looking at each other saying, "Okay, that's crazy because Simon Ritter is an absolutely fantastic speaker. He just nails it every time."

I actually really enjoy going to see his talks and I attend them regularly because he's really good. But he had 19 people at his talk and at my talk, I had 385. I remember the number because I remember the distinct gap between what the official advocates were getting and what I was getting and what Heinz was getting.

I was trying to figure out why this was. Was it because I'm a better speaker than Simon? No way. The problem was that people thought they were going to get product pitches from Simon. They weren't interested in the product pitches. I know, for sure, that Simon was not delivering product pitches, so these people missed out on a really good talk.

"I think that it gives us a little bit of a boost not working for anyone."

—Kirk Pepperdine

There were obviously enough people at the conference, but what it came down to was that we didn't work for Sun Microsystems, so we had some street cred. I have always thought that was crazy. I think that it gives us a little bit of a boost not working for anyone. People look at us and say, "Okay, you don't have an agenda."

I look at Cameron Purdy as the person I really learned a lot from. He's another amazing speaker. Cameron gave a pure tech talk, always. Everybody knew that he did the Coherence product. Everybody knew that he was a VIP at Oracle. But that didn't matter, because it didn't change Cameron's style.

I think marketing at Oracle was a little upset with him at times. They wanted to preview his talks because he got into a bit of trouble with them. The marketing people couldn't do anything to him, though, because he was the person in Oracle who was attracting everybody. Everybody wanted to see his talks because they were entertaining and highly informative.

He didn't do product pitches but everybody knew where he was from and everybody knew what he was working on. He didn't have to get up there and say that: they knew. It was because of that that people came to see him. From my perspective, that is a much better way of marketing things than what the traditional marketing people want you to do.

Geertjan Wielenga: How do you feel about developer advocates who advocate one tech and then a year or so later advocate the competing tech?

Kirk Pepperdine: I'll go back to what Cameron did. Cameron looked at the problem that he was trying to solve and he brought the problem down to first principles.

He never really talked about the product because he was sometimes actually pointing people to competitors.

Cameron did have a level of freedom because he wasn't a person who marketing could control. They wanted a more corporate message from him.

Cameron recognized that no one listens to the corporate messages. Since he was getting results by doing it his way, the marketing people had to relent in the end. They had to just let him go off and do what he was doing because it was working.

I think many developer advocates say, "Look, if you don't let us speak to developers the way we need to speak to developers, then you're just not going to get the audience. You're going to spend all of this money, time, and effort, and you're going to be giving not necessarily a bad message, but a message to the wrong audience." That's not to say that the Oracle marketing message isn't a useful message for somebody; it's just not a message that developers are willing to listen to.

Cameron and Simon, to just pick on those two, are authentic. They live, breathe, and eat what they're talking about. They're not really coming in and delivering a talk: they're telling you what they're doing. I would like to think that I do the same thing.

One talk that I put together a number of years ago, I keep doing over and over again because people just like it. It's entertaining and it's engaging. I would say it's close to a good magic trick. I give a performance problem to the audience and I say, "You solve it: here are the rules of the game." The people in the audience are engaged because they're trying to figure out what's going on. People are shouting out suggestions and they're directing the demo.

Geertjan Wielenga: Technical glitches happen all the time, so what are some horror stories that you've encountered?

Kirk's experience of technical glitches

Kirk Pepperdine: I had one failure where I just couldn't get the screen to work on my laptop and I had all my demos set up on it. It was a very demo-heavy talk, so it was a real problem.

We had a late start and then things just went downhill from there, and there was nothing I could do about it at that point. It was just a case of apologizing to the audience. That was a bad one. I had another one where we just couldn't get the projector to recognize my laptop. I had no slides and they were working really hard trying to fix it. I said, "Okay, I'm just not going to have enough time for this talk if it keeps going this way."

"Everyone was sort of upset when the projector started working and I could return to slides!"

—Kirk Pepperdine

I talked without the slides. I was hand-waving and making shapes. I actually got a lot of positive feedback on that one. Everyone was sort of upset when the projector started working and I could return to slides! They said the explanations were clear because I wasn't relying on the slides at that point in time.

Geertjan Wielenga: Imagine that you're a student at a college or university and you find this whole developer advocacy story interesting. How would you get started in this?

Kirk Pepperdine: If you want to be an advocate towards developers, the first thing you have to do is be a developer. If you want to be accepted by developers, you have to be a person who they respect. You have to be someone who has put the miles in.

You need to contribute, whether it's contributing to open source or not. Apache NetBeans is a great project. There are a lot of advocates around the Apache NetBeans platform, but they're putting the miles in in terms of helping the project to move forwards.

I guess, to be authentic, you want to be talking about what you do because that's what's going to make you accepted. That's how you're going to get your message across most effectively. Again, you need to develop street cred. You can't be a marketing person and be accepted by this particular group of people.

Geertjan Wielenga: Do you travel a lot? What are the pros and cons of that? How do you deal with the side effects of that?

Juggling family life

Kirk Pepperdine: I tend to travel in stretches. I'm not home for certain events when they happen. On the flip side, when I am home, I'm there for all of these events.

When my kids were in school, I was often the only father showing up at events. I've missed a few because I was away, but when I was there, it was really no issue for me to go and see whatever school events were happening. I just know that other fathers never got the chance because their jobs never allowed them to do something like that. You're away frequently but when you're around, it's actually advantageous. Plus, sometimes it's fun. You can bring some of the family or the entire family with you.

Going back to JCrete, we don't want to set up another event where you're away from your family. We made it so that families can attend and they do. We get the kids involved and I think a lot of the spouses really enjoy the experience. They're quite surprised by it.

Geertjan Wielenga: Is burnout a risk and how do you deal with it?

Kirk Pepperdine: Is it a risk? Yes. How do you deal with it? If it's happened, go away on vacation. If you recognize that it's happening, at that point you just have to learn how to say no.

We talk about the travel issues at JCrete and we try to do our best to come to some balance with them. When you start mixing in time zones, then it can get really brutal. I had a close to 24-hour trip getting here. Next week, as soon as I get back from here, I'm going to Atlanta. I've immediately taken my calendar and put a big black X through the following week. In other words, I have no intention of going anywhere!

You've just got to look at the schedule and say, "Well, I know I can tolerate that if it's within one or two time zones that are close together." After a certain volume, you just look at it and say, "Okay, I have to black that week out; it's gone."

Then you hopefully will have a supportive employer. When I was working for a company just as a consultant, my employer was very aware of consultant burnout and say, for example, something at home happened, you were out of there and on a plane home, because that's where you needed to be. That was more important to them than the engagement. That employer was absolutely fantastic and I was exceptionally happy working there.

On the other hand, I've seen speakers who have basically almost fallen over on a couple of occasions. I was really disappointed in their employers. In both cases, the people involved were not in a position to make solid decisions for themselves, so someone had to step in and make the hard decision for them, and go to their employer on their behalf.

I think if your employer doesn't support you when you're in that type of situation, then it's probably not a position you want to keep anyway. It's a two-way street: the employer and the employee both have to benefit.

We get this argument about business class seats for frequent fliers because they're so much more expensive for engagements. My position on that is that I fly often enough that when I do long-haul flights, that's how I fly.

An employer should see the entire picture of what you're doing, but as an individual consultant, you don't have someone who's in this umbrella position and looking out for your long-term health. Your clients don't care. They want you to come in and fix their problem. Then you go away, which is really cool.

You also have to, on a personal level, look at this from the long-term aspect and ask, "Okay, if I'm doing these long-haul flights quite frequently, what is that doing to me and what can I do to minimize the effects of these long-haul flights?"

"You really are responsible for yourself if you're an independent."

—Kirk Pepperdine

Business class is just one of those things that minimizes the long-term effects of flying from here to there and everywhere. If you fly once a year on vacation, it's not going to matter, but if you're flying long haul, maybe once a month or maybe more frequently, then you need to start worrying about these things. If you experience burnout, then you're no good to anybody. At that point, you really are responsible for yourself if you're an independent.

Suffering from burnout

Geertjan Wielenga: There's an argument that because there's so much variation in what we do, the possibility of getting burnout is smaller. Some people say that burnout is mostly from doing the same thing under high stress over and over again. Is that true?

Kirk Pepperdine: Not necessarily. There's a repetitive stress thing happening if you think about it. If I'm flying from one engagement to the next, then I'm doing the same thing repetitively, it's just not for the same employer or client. Yes, the scenery will change, but the rhythm is still the same. You can still suffer burnout from just exhausting yourself. If you get to a point where you're too exhausted, then you're not going to be effective anymore.

This morning I did my reading and I clocked in a 6 km walk. It's really important to do that and I think walking is, for me, the best thing to do. If you're on the road, you can just throw on comfortable shoes and out the door you go.

I just went through 10 time zones, so that really helped me to adapt to this particular time zone. Now I can be productive here.

Geertjan Wielenga: Thank you, Kirk Pepperdine.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.19.27.178