9. Coordinating Remote Work
Hosted by Owen Ou, with guests Silvia Gheorghita, Dane Harrigan, and Joanne Yeung.
Staying connected to your teammates is essential when you're working on a remote team. One team shares the tactics they use to keep in touch with one another, even as they're sitting in offices all across the country. All levels of their communication matters, from the way they name themselves, to the way they run face-to-face meetings, and even applying proper emoji usage in Slack.
Heroku splits its units of work into squads; on this episode, we're joined by some members of the squad responsible for the Private Spaces feature. Every member of the squad is remote from one another. The team talks about the pain points around this setup, and the solutions they've set up to minimize feelings of isolation. One tactic has been to keep a long-running meeting URL. Individuals from around the team can hop in and enter a space where they can just be social with one another.
Each teammate also explains why they joined Heroku, and what they appreciate about a company that values remote work. They conclude with a discussion on their favorite programming languages and editors.
Links from this episode
- An introduction to Heroku's Private Spaces
Narrator: Hello, and welcome to Code[ish], an exploration of the lives of modern developers. Join us as we dive into topics like languages and frameworks, data and event-driven architectures, and individual and team productivity, all tailored to developers and engineering leaders. This episode is part of our Dev Life series.
Owen: Hey, this is Owen Ou, and with me we have Sylvia, Dane, and Joanne. Why don't you guys introduce yourself?
Sylvia: I'm Sylvia. I'm an engineer on the runtime team. Currently on the P28D Squad.
Dane: I'm Dane. I'm also on runtime, and the P28D Squad as well.
Owen: Cool. What does P28D mean? What is it do?
Dane: Yeah, so the P28D came about because the mission of the squad was to define a private spaces control plane, or to work on the private spaces control plane. That description was too long. The squad wanted something shorter, so I literally took those words, removed spaces, and got the character length, and took the same rules as i18n and applied it to that.
Owen: What are your daily pain points?
Dane: My pain points, I think all my pain points will stem from communication. We do a lot of communicating over Slack. That's text-based. You can't send your tone. No one knows if what you've written is a joke or not. It all comes down to how the person reads it. Typically I think I'm communicating my intent correctly, and a lot of the times I'm not.
Dane: Then it's identifying things weren't interpreted the right way. I had glossed over something that was super important. And fixing that. But I think my biggest pain point on a daily basis is just trying to communicate clearly.
Owen: All right. The next question is how do you guys work as a remote team?
Sylvia: Luckily as a squad we're actually all in the same time zone, which we're fortunate. Unlike other squads which have to account for the difference in time zones. We're online around the same time, and we get offline around the same time, so that really does help with coordinating collaboration.
Sylvia: I think we also as a squad, because we're small, we're only four people. So we are very close-knit. We hang out together a lot even though physically we're removed from each other. But you and Dane, Owen, you guys have been with the squad longer, and you established that rapport that you have together. Me and Joanne are newer members, and so it's been a bit of a learning curve to understand how to relate to you guys on the emoji level, which is very, very important.
Owen: How about you, Dane?
Dane: A lot of what Sylvia just said sums up how we work. We do a lot of coordination on Slack, but we do try to leverage meets and routine hangouts as much as we can. You can communicate so much faster on a meet, on a hangout, which is really nice. That information does get lost. Like you don't have a scroll back in a meet. You don't have something to reference that you can send to someone else, but it's so much more personal. We're able to feel really connected that way, which I think is great.
Joanne: Yeah, definitely a plus one to that. I think our team does a really good job of meeting every single day and being on hangouts for hours in our day. It's been really helpful. Or face-to-face time.
Owen: Joanne, we also have the 10-second to comply hangout room that everybody-
Joanne: Oh yes.
Owen: ... can join to just hang out a little bit.
Dane: Yeah. That was a very, very old hangout. That's when private spaces were being put together. We had to do compliance work, and that was what? Years ago, maybe. That hangout was created. The idea was people didn't go there because they had to. It's "go here when you feel like being social." You might be the only person on there for the entire day, and it's because the rest of the team wasn't feeling social. But then you'd join and see someone else was there, and that's great because you're both there for the same reason, to chat. It stuck around this whole time, which is really, really nice.
Joanne: And it's such a lovely surprise when somebody just pops in and you're like, "Oh, hello."
Sylvia: Well, the nicest part about that is when, with this longstanding meet, is that there are people who are outside of this squad who just I want to say troll. They don't troll, they just hang out there for fun, which is nice. And waiting for someone to show up, and then we show up, and it's been not just for fun, but we've been able to solve problems that way. Like Ricardo hanging out in there has helped us get over the DNS hurdle that we faced earlier this month. So people who have domain knowledge are hanging out in there, and out of this willingness to be social actually real solutions to finally problems are found. It's a really nice, organic way to solve problems.
Dane: The little history of that hangout that I love and hate at the same time, the name came from a line from Robocop where ED-209 says, "You have 20 seconds to comply." That was part of the hangout name, was 20 Seconds. I went on some kind of vacation for a couple days or whatever, and someone disagreed with me and changed it to 30 Seconds. They didn't check the script. They just thought 30 seconds was more accurate, and they didn't tell one of our team members.
Sylvia: Fail. Communication fail.
Joanne: Translation fail.
Dane: But yeah, he was there every day for a week wondering why no one joined.
Owen: Maybe let's change our topic a little bit. What do you like about this job, and how do you end up in Heroku, maybe?
Dane: I've been writing software forever. It was like age 10 or something that I broke my foot and started messing with software.
Dane: That's how I think, that's what I love. I was doing a bunch of Rails. I met some Heroku staff at a RailsConf in Baltimore, and they happened to be hiring because they just got acquired. They said they were looking for good people. I got my resume to one of them, and that resume made its way to one of the founders, Adam Wiggins. He said, "Hey, let's jump onto a Skype call and chat." The call went well, they flew me out, and worked with them for a couple days, and they said, "Do you want to join?"
Dane: The why I'm still here, why I love the work that we do, it's that the problems are fun. They're hard problems. They're fun problems, and they're relevant to me. Other software companies, you're building software that is for other people. Heroku builds software for developers. So ultimately I'm building something that I'm going to use, and that's the stuff that excites me. I'm not building a credit card processor, because that's not going to hit home. But building something that allows me to route traffic or scale to millions of requests a second, well that's something I am going to use as someone who writes software, so I'm solving problems that will affect me directly, and that's what I really like.
Owen: I joined Heroku three years ago. I was a fan of Heroku before I joined even. I host all my apps on Heroku. Previously I was with [inaudible 00:08:04], and I knew that I got a chance to work on the platform that holds all my apps, so I was really excited about it. This still excites me because I got a chance to work on something matters to me.
Joanne: As a newer developer, I also use Heroku first as the first way I deployed an app to a web, but I actually got referred into Heroku through a mutual program that many of us had attended before. It's a software engineering bootcamp for women in San Francisco called Hackbright. Several of us are from there.
Joanne: What I really like about Heroku so far ... I've only been here six months now, but what I love most is the people. I can honestly say there are a lot of good people that I've met here, and a lot of them I call my friends. Definitely feels more like a family to me than any place I've worked at before.
Sylvia: I'm also part of the Hackbright network. That's how I found out about the opening. Was also referred, like Joanne. Also joined in the same timeframe.
Sylvia: Why I joined Heroku is I actually did quite a bit of verifications on what it was like to work here before I joined. It's important to me to work on a product that's close to what I care about, and so bringing value into the world was a big part of why this was a company I would work for. But more importantly, I wanted to get into a healthy working environment where people were able to communicate to each other freely and with candor and where people gave and received feedback openly.
Sylvia: So I basically grilled the hiring manager for examples of people giving feedback to each other, and how does this happen, how do people handle it, when was the last time you got feedback, when was the last time you gave feedback, when did you receive feedback that you really didn't like, how did you handle it, did you ever cry receiving feedback at Heroku? Yeah, I had a lot of questions.
Joanne: Very thorough, as usual.
Sylvia: Expected. Yeah, it was really important to me to be part of a healthy working environment, not just a cool development organization. Because all of you guys at the very senior level, and I have a lot to learn from all of you, but also on a human level I wanted it to be a place where I can be myself and I'd be accepted for that. And where we respect each other as developers and as human beings, and I definitely found that.
Owen: Now we're towards the end of the show, and we're not FLOSS Weekly, but I'm going to ask anyway. What is your favorite editor and favorite scripting language?
Dane: At the moment, I don't like anything that's considered a scripted language. That's-
Owen: How about your favorite editor?
Dane: My favorite editor is Vim. I used other kinds of editors in the past. Once I found Vim and forced myself to use it, I fell for it, I loved it. I've tried other editors. I think every other editor is garbage in comparison. It works for other people, it just doesn't work for me, and I feel very, very strongly about it. People tell me, "Oh, just use the Vim key binding." "No, just use Vim." Key bindings are built in. I love that. I love that editor.
Owen: And I know that you like minimum setup for Vim as well.
Dane: Yes, yes. I don't like plugins. I don't like syntax highlighting. A lot of people disagree. I explain why. They agree with my reasoning, and they still don't like it. And that's fine.
Dane: Now, as far as scripting languages go, Go isn't a scripting language, but the fact that I can throw something together and go and just go run it, that's become my scripting language.
Owen: Is it the compilation speed is so fast that you can almost use this is as a scripting language?
Dane: Yeah, basically. I would've answered with Ruby as my scripting language, but I don't necessarily care for language anymore, and if I can answer the problem in Go, whether it's scripting or some other problem, it's going to be in Go, and written with Vim.
Owen: Well, my favorite editor is Vim, for sure. I think I share lots of commonality with Dane about the Vim key binding, which is Vim. I try a different editor. I try VSCode and various other editors as well. It just doesn't feel like Vim. I find myself going back to Vim from time to time for serious programming.
Owen: My favorite scripting language is Ruby. This is a great language that have all the stuff that a human can program, I will say that. I don't like the Python indentation, although Python had lots of great library for machine learning and that kind of thing. Seemed to be the number one language these days, but yeah, Ruby still ranked pretty high from the bottom of my heart.
Dane: Okay. You say you use Vim as your editor, but you have so many plugins that you basically have an IDE.
Owen: Well, yeah.
Sylvia: Ultimately, I think if you know your tools, you know how to use them the most efficiently, it doesn't matter if it's Vim. Personally I'm a JetBrains. I really like their products.
Joanne: Are you?
Sylvia: Yes. If I'm writing something-
Joanne: What are you currently using?
Sylvia: If I'm writing something simple, I normally will use Notepad++ or Sublime, but if I'm writing something more complex that requires me to navigate through the code base, then I prefer something like GoLand or IntelliJ. Yeah, that's just me. It doesn't matter, really. It doesn't matter I think the tools that we use, just if we know how to use them, we'll be equally effective. I like to think so, even though you guys are kind of groupies for Vim. No comment on that, whatever.
Sylvia: Favorite scripting language. I definitely, I write everything in Bash. Even when it gets really difficult, like when you're processing JSON with jq, you're getting suicidal, but I've become very stubborn to figure that out and spend many hours even though I could've probably easily used a different language. But it's kind of like what language do you enjoy the most? And to me, yeah, I write Shell, I write Bash, and Python if it is the right tool for the job. If somebody can persuade me to get out of Bash, then it's usually might go-to is Python.
Joanne: My favorite editor, I am totally flexible on all this editor language, whatever. I can be persuaded to switch, but my favorite editor right now that's becoming more of my favorite editor as I use it longer is Sublime. I just find it really easy to navigate through different file systems, search. It doesn't have pair-programming unless, like the pair-programming mode, unless you have somebody else with Sublime as well who also has the plugin. So there are some drawbacks, but for the most part, for what I use it for on a day-to-day basis, it does the job. It does it well.
Sylvia: Simple and cheap.
Sylvia: It's cheap.
Joanne: Simple and cheap. And included in the Salesforce application list.
Dane: Oh yeah, that's right.
Joanne: So is-
Dane: You can actually have a licensed version of it.
Sylvia: So can I for IntelliJ. I have one.
Owen: How about your scripting language?
Joanne: Scripting language? Man. Python still has a place in my heart. Python was one of the first languages I learned. It just reads so poetically to me. I know that sounds crazy. To me, it reads very poetically. It's beautiful. It reads very cleanly, and it's not magical like Ruby is. I like Ruby as well. I just, when you ask me my favorite, Python has its place in my heart still. I haven't touched it though in like, I don't know, six plus months.
Owen: Okay. Thanks for listening. This show is brought to you by Owen ...
Sylvia: Sylvia ...
Dane: Dane ...
Joanne: ... and Joanne.
A podcast brought to you by the developer advocate team at Heroku, exploring code, technology, tools, tips, and the life of the developer.
Lead Engineer, Heroku
Owen is a software engineer at Heroku and an internet plumber. In off time, you'll find him working on open source projects, or dunking basketballs.
Software Engineer, Heroku
Silvia is part of the Runtime team at Heroku and lives in Santa Monica. She enjoys writing Go, designing end to end tests and cycling long distances.
Software Engineer, Heroku
Dane is an engineer through and through. Whether it's software, weight training, or nutrition, he's engineering it. When Dane isn't working, you'll pr
Software Engineer, Heroku
Joanne is a software engineer at Heroku by day. By night and weekends you can find her rock climbing at the gym or in the Sierras.
More episodes from Code[ish]
Adam McCrea and Corey Martin
Heroku applications big and small run on dynos, virtualized Linux containers fine-tuned to execute your code. As the load on a server increases, you must add dynos to keep up with demand—but how do you know how many more to add? And how can... →
Ruben Bridgewater and Julián Duque
Errors are a fundamental part of the programming experience. Learning how to receive and react to them, as well as responding to the user who may have encountered one, is essential to building a great application experience. Ruben... →
Chris Castle and Charlie Gleason
Chris Castle has a two year nephew who, like most two year olds, likes pushing buttons—especially ones that turn lights on. When a Christmas tree appeared a few weeks ago, and lights were put up, he was very excited. At the same time, Chris... →