BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Podcasts Time to Awesome as a Measure of Positive Developer Experiences

Time to Awesome as a Measure of Positive Developer Experiences

In this podcast Shane Hastie, Lead Editor for Culture & Methods, spoke to Rick Spencer of InfluxDB about building developer tools, removing friction and improving mean time to awesomeness, the need for online social intelligence and ways to avoid burnout

 

Key Takeaways

  • A design principle for developer tools should “mean time to awesome”
  • A primary role for leaders is facilitating a culture of socialization
  • Online social intelligence is a skill managers need to build
  • Freedom to integrate the rest of your life into your work life really helps avoid burnout
  • In the future any job that can be done remotely will be done remotely

Transcript:

Shane Hastie: Hey folks. Before starting today's podcast, I wanted to share that QCon Plus, our online software development conference, returns from November 30 to December 8. Learn from senior software leaders at early adopter companies as they share their real world technical and leadership experiences to help you adopt the right patterns and practices. Learn more at qconplus.com. We hope to see you there.

Today I am sitting down with Rick Spencer. Rick is the VP of product for InfluxData, and comes with a deep background in developer experience. Rick, welcome. Thanks for taking the time to talk to us today.

Rick Spencer: Thank you so much. I'm really, really happy to talk to you.

Shane Hastie: The place I like to start with my guests is who's Rick?

Introductions [00:56]

Rick Spencer: So my name's Rick Spencer. Currently I'm the VP of product at InfluxData. We are a time-series platform for letting developers write interesting, valuable applications with their time series data. I've been in the tech industry since 1998 in various roles, starting with user experience roles and usability. Then I was in engineering. I had a pretty long stint, maybe about 10 years as a VP of engineering at various companies. And I've recently transitioned into this VP of product role. Throughout my career, by and large, I've had developers as my users and been building developer tools or platforms for developers.

Shane Hastie: Just exploring that developers as users and thinking of the developer experience in general, it's a topic that has become quite highlighted over the last couple of years. It should have been one that's been important for longer than that. But certainly with the shift to remote, developer experience has become a bigger thing. But what are some of the important elements that you need to think about when you consider developers as users as opposed to the end consumer of software products?

Making developer experience easy and fun [02:08]

Rick Spencer: My view about developers is that people end up as developers and computer programmers because they find it intrinsically rewarding. And I know it's hard for people to understand, but people find programming really fun. And a lot of the people that you find are the most productive developers in your organization. For example, if you ask them about their past and their childhood, you may find in their childhood, they had a computer that they programmed and maybe they did electronics with it, etc. Often, you'll find people who were studying biology or electrical engineering and they somehow ran into like, "I need to produce some software to finish my PhD for example." Next thing you know, throw all that away. I'm going to be a computer programmer for a living.

So that's the one thing is if you can recognize that, then you really think about. The terms that I use for the kind of tools that I produce. I always ask, is it easy and fun? And those are the two overarching questions.

Mean time to awesome [03:15]

We have a related concept for that at Influx. We call it Time to Awesome, which is how can we make a developer's experience going from a starting point to production quality code, in individual awesome steps. Like okay, install InfluxDB. I'm going to try thing one. Awesome. I'm going to try two things too. That was awesome. And so having that mean time to awesome be very, very short. That's the way we approach it here at InfluxDB, which I think is maybe a little more elegant than my easy and fun conception. But those are the overarching design principles. That really takes having a personal understanding of why programming is intrinsically rewarding. It seems like it should be easy to build a team. "Hey, you're all developers. Make something that would be fun for yourself."

But the problem is there are all different kinds of developers. So you have to say what kind of developer is this tool for? What would be easy and fun for them or what would they consider time to awesome? And then they have to have enough empathy to really be able to feed into that. That goes to the design team, engineering managers, the product managers. You really need to get everybody on board with having that empathy for your developer community. And you can tell it's working when everyone's like, "I'm thinking about quitting my job so I can go build a product on top of InfluxDB," or whatever the product is. And that's when you can tell you're in a good feedback loop of people are making something that is intrinsically rewarding to work with.

Shane Hastie: What does it take to lead a team of these creative people?

Leading teams in the remote environment is different [04:59]

Rick Spencer: I think the fact that you call them creative, that's a very insightful comment about it. For me personally, I did have a pretty long stint at Microsoft. And at the time, that was fully office based because it was a really long time ago. But since about 2008, I've been working fully remotely and with fully remote teams.

So in terms of my vice president of engineering expertise, my engineering management expertise, that is really in these remotely distributed environments. And so that's where everyone's working at home. Everyone could be global. There could be someone on your team for example in New Zealand, and somebody else in your team in for example Portland. And you have that level of distribution.

That takes a different skill set. I'm not saying it's harder. I'm not saying it's easier. But it takes a different skill set than I have everybody in the office, and we're socializing in a certain way.

One thing that's changed a lot, which I used to talk about a lot when people would ask for advice about remote teams was there was a lot of discussion about tooling. They'd say, "Hey, you really need things for minute-to-minute discussions. You need things for hour long discussions. You need repositories for persisting information for days and weeks." And that was IRC. And then Slack for the first. There's like, "Hey, I'm just throwing up some conversation. Let me throw something out there. Maybe I get a response, maybe I won't." But it's like, you really expect a short lifetime for those conversations. And you don't necessarily expect them to be synchronous, but you also don't expect them to be involved. And the next thing was like, "Well okay, what if it is an involved discussion?" And at the most functional places I've worked where people had the most esprit de corps and the least burnout, people would quickly flow from, "Hey, let's just take this to our video conferencing."

Now since the pandemic, everybody is familiar with Zoom. But, it wasn't that long ago that there would be substantial numbers of people on a team who had never done video conferencing. So part of the setup process used to be to introduce people to it. Of course the solutions that we have today are much more robust than they were before.

In fact when I started, we started with voice over IP. That was the best we could manage, I think Vonage we all used. So we didn't even have a video component. And then Skype added video, and then Linux supported Skype, and that kind of thing.

But now I think since the pandemic, everybody in the company, not just developers are familiar with Slack. Used to be the developers knew IRC. And then everybody else was in the office or whatever, and it was hard to bridge that. But now everybody's in Slack. So everyone has that minute-to-minute experience together, and then everyone's familiar with Zoom. So that makes that whole conversation a lot easier.

Facilitate a culture of socializing [07:56]

Now I do think as managers or as leaders, it's important to facilitate a culture of socializing in both of those environments in a remote environment. One of the things that people really, and I still see it today. People say, "I want to go back to the office because I don't feel like the personal connection with people."

Now a lot of people don't actually care about that. They just want to come to work, knock out their work. And they actually feel like it's a benefit that they don't have to develop these personal connections. There's always been people like that. That's fine. I would never disparage someone who has that point of view. Work is work, family is family. That's fine. But most people to be happy at work need a personal connection to care about the team. When people have trouble leaving a job or when I've seen people cry when they're leaving jobs and everything, it's always about the people. You never see someone crying like, "I'm going to miss writing this code," or, "I'm going to miss writing these kinds of reports," or, "I'm going to miss all the PowerPoints that we did." It's always like it's leaving the people.

So then as leaders, I think it's really important that we create a culture of socializing in Slack and on Zoom. So I think it's important for leaders. I call it, just got to hang out. I actually had a very, very successful entrepreneur. Their company, when they started their company, they were remote-friendly and they had an office. And he's like, "Rick, I'm having a lot of trouble. The remote people who are in many cases our best developers are not happy. They don't like the company culture." So I asked them, "Well do you hang out online?" He's like, "No."

So they'd never see you. You never hang out, you never socialize. So I really try to make an effort online, in different channels. "Hey, good morning. I watched the latest episode of Sandman last night. Is anyone watching that?" And it doesn't have to be long, but just to give a little insight. That's why I actually prefer also people in Zoom to leave your real background up. Maybe it's a little messy. People get an insight into your personal life. I feel like that creates a little bit more of a connection to see somebody in their natural environment. So I really encourage people to do that.

Also just as a side note, I find it very tiring when people have their background blurred out and Zoom's always trying to keep up with masking it out. It tires me out conversing with people, but that's that. Nobody else has ever said that that happens to them.

Anyway, so I think those are two really important tools. The minute-to-minute tools, the hour to hour tools of chatting and Slack. And in terms of avoiding burnout, I think it's important that you do leverage those for at least a little bit of socializing.

In functional companies, I think you'll see some people get frustrated by it, but meetings don't usually start right away. There'll be some banter. I'm fine with that. Then you need tools for persisting your ideas and communicating broadly. And we have Google Docs, and Office 360, and all that kind of stuff for that.

The need for online social intelligence [11:07]

Outside of the tooling though, there's something that I call online social intelligence. And this is something that I think it's important to hire for in your middle management layer. Those folks need to be able to read the room, even if it's virtual. Like, "This person on my team usually responds to Slack messages much faster." Or, "That's weird. That was very uncharacteristically rude of that person. Maybe there's something going on." The way they respond in an email or other environment, or maybe there's cameras off, and they usually don't have it off.

And being able to maybe infer that there's something going on. Somebody's having a really good day or not having a really good day, and maybe you need to reach out. This used to be an office environment. Someone comes in and they're a little dishevelled, their eyes are a little bloodshot. You can tell they had a rough night. They'd say, "Everything all right? You look like you had a rough night." You need people who are able to bring that kind of sensitivity to the online environments, or problems will really fester on an individual and on a team basis. So that's that online social intelligence piece, which I think is really important for managing burnout.

Shane Hastie: As a leader, how do I learn that?

Rick Spencer: This is a bit of a catch 22 that you can be in. Because as a leader, you may feel like you don't have time. And then when I say you've got to hang out, that sounds difficult. There's not already enough hours in the day. So I don't really harp on that too much at the senior leadership level. Just because often those people are entrenched. They're really busy. They're hard to influence. So I really do harp more on make sure you're hiring for that to come. If you don't already have that gene especially, make sure that you're hiring for folks who have that.

But as a leader, you should be surfing through your Slack channels and just seeing what's going on. I also think it's really important just for keeping a pulse on what's going on in the business. You know you can be going through a Slack channel and seeing a team's struggling with a problem. And they're talking about it, and the whole history of the problem. And all of their problem solving is laid out there.

You want to absorb that as a leader. And you can see which teams interact well with each other and have good rapport, and which teams maybe are getting snitty with each other. So I do think there's a lot of value to going back and surfing through those conversations in the public channels. I'm not talking about snooping on people's private conversations. But typically, people have team channels that are appropriate for you to be in, appropriate for you to join. It's also fine to share a little bit about yourself, encourage that conversation.

We actually have a tradition here at InfluxData that we do. Every day at the same time, we have a company stand up. It's supposed to be a nine minute meeting. We encourage people to keep their cameras on. We encourage people to come. Of course if you're based in Australia or whatever, we don't expect you to come. But we really encourage people to make time to come. It's at a time where West Coasters in the US and people in Europe can reasonably make it. We could have everyone bring on their camera, and we just spend a few minutes to celebrate the company, just look at each other, share some modest updates from the different divisions and everything.

But I think that's a really good leadership opportunity also, to transmit a vibe. Are things serious in the company right now? Are things joyful in the company right now? Are there things in the world that we're all maybe mourning and struggling with right now, and we want to share that? Or the things in the world that we're celebrating and sharing that. So I think that's a really important gene to have.

If our leaders hopped on that call every day and were just taking roll call, making sure people are hitting their KPIs, calling out people for not hitting their KPIs, I could see how that could give a sense that that's building efficiencies. But it's not, because it's not creating the sense of esprit de corps and that sense of connection.

Shane Hastie: You said higher middle managers with the gene. Is it something that a middle manager can learn?

Social intelligence is something that you can learn [15:23]

Rick Spencer: I think so. I didn't know how to do it When I started. My first remote company was Canonical, and it was like we were making Ubuntu. Everyone at the company at that time came from an open-source software background, and I was just booted into the deep end of the pool. But they're really good at it. At least they were when I was there. I don't see why they would've changed. And I actually learned a lot of techniques right off the bat like IRC, and watch how they socialize, watch how they joke and everything. So, I do think it's learnable. It's a lot easier when it's your full-time job. Right? I was the engineering manager at the desktop team, so just sat down on the first day, looked into my computer screen and was just like, "Okay, let's get this software shipped." It can be a little different if you're in a leadership position, but you're not in that direct managing people remote role may take a little longer.

I think it's probably trainable, but so far I've seen it only just people absorb it from osmosis. But like I said, when I said you need to hang out, you're not going to learn it if you don't try. Like, "Hey, I'm going to show up. I'm going to do this thing. I'm not going to try to get better, but am I going to expect to get better?" That doesn't work. And I've seen people get frustrated with... I don't understand why we don't have a better remote culture when we put zero effort into being a better remote culture, or I've put zero effort into learning the tools, or learning from my peers, or that kind of thing.

Shane Hastie: Burnout and work life balance. The reports, the surveys over the last few years have said that we are being more productive in this remote space. But we're also burning people out. How do we manage that? How do we help them?

Avoiding burnout [17:13]

Rick Spencer: That's a good question. So we're coming off a recent internal company survey, like all companies do them. We actually got really good marks for the work life balance part. And people did not feel like they were being slayed like dogs. Obviously there's pockets of the company maybe that feel differently. But in general, we're pretty good about that.

I think there's a few things that we do well at InfluxData that lead to that. And one of them actually kind of harkens back to our previous conversation. So one thing is we don't have hours. We do not have a buts in seat philosophy. So we really encourage you to come to the company stand up every day, but it's not actually required. But otherwise, nobody has hours. Now I'll get back to that in a bit. I've seen that be a problem in other places I've worked.

But the other thing is, I remember early in the pandemic when it started... So when we started, InfluxData actually had an office. And people who worked in the office who were suddenly working at home, you could tell that they started by trying to simulate that they were in this totally professional environment, even though they lived in a small apartment in some city, and there was chaos all around them because they were completely not set up for working at home. And they started for the first couple weeks trying to control those perceptions. And then slowly over time, the ragged edges of the facade started to unravel. And then you'd start to see their kids, and their cats. And then after a while, people just let it hang out and it's just like their hair's messed up. They're still having their coffee. You can see the kitchen sink is full of dishes from the night before. And that being okay. That being normalized.

Since then, I've noticed people have evolved from that where they do have more a dedicated workspace and everything. But the part that they have not let go of is the integration. So you still see like today, I was on a call our chief revenue officer. So she couldn't be any higher in the company. Her spouse came in and gave her lunch. And that kind of integration of work life, that spills over in other ways at InfluxData. People like, "Hey. I'm going to the dentist, getting the washing machine fixed." All that kind of stuff. So coming with no hours, we also have this it's okay to use the time in your day to get other things done in your life. You don't have to cram it in between 6:00 and 7:00 at night after you get off work and while the stores are still open.

And I think that freedom to integrate the rest of your life into your work life really helps avoid burnout. We're very just open about that. We embrace that people have that kind of integration. There's been other places that I've worked that also embraced that kind of integration. It was just very helpful.

That said, when people are new to remote working, I have seen them go what I call one of two kinds of crazy. The first kind of crazy is rare, but it happens. So this person who suffers from this kind of crazy will come to work, and they cannot get started. There's too many distractions. "There's a TV. I'll make another pot of coffee." There's something about not having the disconnect and getting to work that is very difficult. I've never seen it, but I've heard some people never really get over that.

The other kind of crazy is much more common. That also has two kinds of categories. But the other kind of crazy is that people can't stop working. It's so integrated. My computer's right there.

Now that has two subcategories. And one is people are so engaged with their work, and enjoy it so much, and enjoy who they're working with. Like, "Hey, my friends in New Zealand are up. Look at what they're doing. That looks really interesting. I want to participate in that." And the fact that it's 11:00 at night for me, that might not be the most helpful thing. But at least the compulsion to do that comes from a positive space. But you still need to manage that or those people will burn out. Right?

But there's another subset of that is where people are not getting the feedback that they need, that they're performing to the expectations of the company. So if you don't have the right online social intelligence and a management chain, I've seen people work, and work, and work because they're trying to meet expectations that they have for themselves that may be way beyond what the company actually expects. But since nobody's working with them to really close that gap, instead of them leaving at the end of the day feeling like, "I met my job's expectations today. My boss is happy with me. I'm going to go for a run and then have some dinner. Then I'm going to watch TV, go to sleep, wake up in the morning, and kill it again tomorrow." They feel like, "If I don't keep working, I'm not going to get this other thing done." And then not only do they not do those healthy things, but they don't sleep well because they feel like they're not doing a good job, and that kind of thing.

That can be the downside of not having hours, but that just needs to be managed. But I think if you don't have hours and you let people integrate with their home life, with their work life, and you have people with enough online social intelligence to make sure that people aren't overworking for good or bad reasons. I think that's what we do really well here at InfluxDB. And that's why people feel like I am working remotely, I am working with people all over the world. But I am able to have a personal life. But I'm also able to crush it at work and feel really positive about the work that I'm doing, that it's important and I'm achieving.

Shane Hastie: Thank you for that. Jumping topic entirely, in the conversation we were having before we started recording, you talked about a passion for things that are happening at the edge. So what is happening at the edge? What are the trends? What's IoT doing for us, and what can we do with IoT today?

Trends in IoT and computing at the edge [23:11]

Rick Spencer: Yeah, interesting. So I think this is very much tied into this diffusion of work that we're seeing. So InfluxDB, we are a platform for writing valuable applications for time series data. What is time series data? In the simplest way, you could say it's timestamped data. But what makes timestamps? Computers and sensors. And guess what? They can make as many timestamps as you want, like the resolution of data. We can ingest data at nanosecond resolution. That's a billionth of a second. All that data is being generated not in the cloud. Not where your servers are necessarily, but in remote locations. In your house, in your factory floors, packaging plants, in cars. Electric vehicles are covered with sensors, and they all have computers.

So take a look at electric vehicle. That is and of itself an edge environment. There's a computer sitting there. That computer is a gateway to the internet. That computer is reading all the sensor data about what the driver's trying to do, what the engine is saying or the motor is saying. All the different things. It's aggregating that data, making decisions on behalf of the driver. And also, replicating that data up to the cloud. And then that's where you can access it as a user. And that's what InfluxDB is really awesome at. We can run at the edge, aggregate all that data there, and then we can let you act on it in that local edge environment. And then you can also act on it in the cloud. So let me give you an interesting use case that's related to the topic that we just had.

I think it's a smallish company called PanSoft is built on top of us. I just think of them because they started because of the pandemic and everyone working remotely. So they use a tool of ours called Telegraf that you install it on your computer, and it collects information about your network. And can advise you, "Hey, this is why your network's jittery," and etc. But also can replicate that data back up to your ops team. So then your ops team can know, "Hey, in order to support this remote employee on their network, we understand the shape of their personal network." And it doesn't report what you're doing with your network. It just reports the shape of your network and how it's performing, if that makes sense. So I think that story of having that software on the edge that can work on your behalf. And then the ops person could be looking across everybody and say, "Everyone's network is fine today," or, "We need to make some interventions here." Maybe send that person a new router, send that person a new computer. That kind of thing. So we're awesome for building applications like that and others.

Shane Hastie: What's the future?

The future of remote work [25:59]

Rick Spencer: I have an opinion about remote work. And my opinion is that any job that can be done remotely will be done remotely. And that's going to have really positive effects for society. It will have really bad effects for certain people. Imagine if you are currently an executive managing a billion dollars of real estate for a huge tech company, what does it mean for your job that you're going to be hiring people all over the planet and they're not going to be coming to your space age campus? I'm not surprised people like that are like, "Everyone should come back to the office. We need to work in the office." I think if you're holding buildings of commercial or office space, downtown Rockville, Maryland, you may want to diversify your assets a bit.

But I think it's inevitable. Because for knowledge work, of course there's some kind of work which has to be done on site. You're not going to have a waiter serving you in Rockville, Maryland who lives in Utah. Could the person who's designing the menu live in Utah? Absolutely. But the plumber's going to need to come to your house, and they're going to need to park their truck somewhere and all that.

But by and large, I think people who are doing knowledge work remotely are just fundamentally happier. They're not commuting. They have all those integration benefits I was talking about. I also think there's some arbitrage that's happening already where it's like, "Hey, do I want my Silicon Valley salary or do I want a lesser salary in somewhere that I actually really want to live? But by the way, that salary goes more there. I can buy a farm and live on the farm, and do my remote work from there." And then the company's like, "Sure, I'll pay you 33% less than I need to pay someone in Manhattan or Silicon Valley to do that." Right?

I think what I'm seeing is a flowering of just human happiness coming out of this. And then also if we start to see the reduction of traffic on the roads and people spending more time investing in their local community because that's where they're staying and etc.

So I think the future of remote work, I feel like it's inevitable. There's people that disagree with me. They think that there's a competitive advantage about being local and having everyone together. But I think the writing's on the wall there.

For InfluxData, I think that we're riding that wave kind of also. As you look at take the energy sector for example, that is also getting diffused. The renewable energy sector, people are like, "Hey, let's collect the energy close to where it's being consumed. Let's put up wind farms. Let's put up power plants. Let's have electric cars, and let's have the electricity generated from those electric cars be hyper-local."

All of that stuff needs computers running, and it needs something like InfluxDB running at the edge that can control all those things, provide all the local control, but then also be able to replicate that data back to a cloud source like InfluxDB Cloud where people can look and aggregate it like, "How are all the windmills doing today?" Like I can see this windmill is operating normally because the program that I wrote to run inside of InfluxDB is operating normally. This one is not. It's having some problems. Let's look at our telemetry, send the technician to work on that. So I think it's this diffusion of where people are working. Other technology is following that, right? Like energy being one example. So we're just seeing our relevance going up, and up, and up as we move into that future.

Shane Hastie: Some really interesting points. If people want to continue the conversation, where do they find you?

Rick Spencer: They can can find me on LinkedIn, and they can find me on the InfluxDB community Slack, the Kubernetes community Slack. My handle everywhere is RickSpencer3. I don't do Twitter or anything like that, but I am active on LinkedIn. And come hit me up in Slack. My email address rick@influxdata.com. So if you want to reach out, hang out, come to Rockville, or come to Washington DC and we can go get a cup of coffee also.

Shane Hastie: Thank you so much.

Mentioned:

About the Author

More about our podcasts

You can keep up-to-date with the podcasts via our RSS Feed, and they are available via SoundCloud, Apple Podcasts, Spotify, Overcast and YouTube. From this page you also have access to our recorded show notes. They all have clickable links that will take you directly to that part of the audio.

Previous podcasts

Rate this Article

Adoption
Style

BT