Artsy Engineering Radio

Productivity Tools with Erik, Pavlos, and Anna

November 18, 2021 Artsy Engineering Season 1 Episode 41
Artsy Engineering Radio
Productivity Tools with Erik, Pavlos, and Anna
Show Notes Transcript

Erik, Pavlos, and Anna talk about tools for productivity such as our desktop setup and code editors, as well as tools and ideas for collaborating across different time zones.

Anna Carey:

On this episode of Artsy Engineering Radio, we're talking about some productivity tools like our desktop setup, and what editors we use, as well as some tools and ideas for distributed collaboration across different time zones. We hope you enjoy it. Hi, everyone. This is Anna Carey calling in from the Artsy Engineering Radio really excited today to talk to two of my colleagues for an RFC episode, which again stands for a request for comments. And we'll be talking a bit about productivity and sort of different tools that we use and challenges that we encounter. And today I'm here with Pablos. And Eric, I love for each of you to introduce yourself. So Pablos, maybe share your name, what team you're on, and maybe how long you've been at Artsy.

Pavlos Vinieratos:

Yeah, hello, hello. My name is Pablo. So like I said, I've been at Artsy, a year and a half around there. And I'm mobile engineer and working in the collector experience thing about work.

Erik Stockmeier:

Hi, I'm Eric, I'm been on a couple different teams at Artsy. Most of the time I've spent on the auctions team, and more recently on our purchase and transact team and I've been at the company for five years.

Anna Carey:

Wow, Eric, that's crazy. You're getting up to five

Erik Stockmeier:

I would begin by saying I don't think of years. That's a long time. Yeah. So as I said, I'd love to sort myself as someone who's very good at productivity, or mind of chat with the two of you about different productivity hacking, or I know, there's lots of different freezes in the tools that you have, and how those kind of come into play industry. For this. For most of my adult working life, I've with some challenges that we face at Artsy some of the things thought of myself as someone who was very bad at it. And I hope that we'll get to cover is working on distributed teams. And other thing that we could have added to is Pavlos is based especially working in other industries where like, in Europe. And Eric and I are both based in New York, which is productivity means keeping a spreadsheet, like ready to jump pretty common on our team. These days, about half of our engineers are in Europe and half are in the states now. Yeah. And to, at any given moment to someone appears over your also just, you know, different sort of ways of working and that shoulder, I kind of always thought of myself as someone sort of thing. So I'd love to start by asking, what are some who's just not productive. So like one thought that kept of your favorite tools that you use for productivity. And I coming back to me, as we were preparing for this was how when think that's something that comes to mind for me, is, you you work in a industry like this, where you can kind of say know, I'm still relatively new to engineering. I've been doing this for about a year, year and a half. So I'm still developing you're doing thought work, I spend a lot more time still my toolset. So I'm definitely excited to kind of learn from feeling unproductive, but sort of working out a problem in my both of you today, head. And I don't know if this is a a productivity, hacker or tip. But oftentimes something that has been like waiting to come out for a long time will will strike me not necessarily the most convenient time, and then I just have to get that that workout. Like, while it's now that it's finally ready, you know, and sometimes that's like not during work hours. So one thing that occurred to me I know is like, you don't always get to choose your most productive times, it could be because you in a case like that where you know, the solution to something you're working on finally came to you. And sometimes you just have times of day that you're most productive. So that's one one thing that has worked well for me, especially as Artsy has become more remote friendly, is just being able to have more flexibility to your work time. And one thing I would add to that maybe we could come back to it is not letting that element or an understanding that element get in the way of work life balance. So there have to be other trade offs there. Another one for me. And this is almost a pet peeve more than productivity is having Windows snapping tools. Like I like to have my desktop completely used with nothing getting in the way of anything else. So that's the first thing I install when I set up a computer. What is that? I saw you write that down when we were talking about this? And I was like, I don't know what that is? Oh, sure. So there's a lot of different ones. The one I use is called spectacle. And I use it because it's open source and I have the keyboard shortcuts, you know kind of hardwired into my fingers at this point. But I know that Windows machines have had this built in for a long time. There's many different tools that can do it in different ways. But the idea is, you know, whatever window you're working on, you hit a shortcut It snaps to the left third of the screen or the left two thirds of the screen. So you can live very efficiently without having to drag windows around, kind of compose your your desktop as you want, I can easily bump slack to the other monitor, than I'll usually put my code editor on the left two thirds of the screen and my terminal on the right 1/3 of the screen. You know, if I for some reason I'm working in a different setup, I might change that. Two thirds 1/3 to some other apps. But that's that's generally my my layout possibly with other like chat apps, I'll use the the quarter screen shortcuts.

Pavlos Vinieratos:

Do you do toggle between like a third of the app or a third of the screen to like a full screen? And then back to like the third? Or something like that? Or is that never coming up as a as a thing?

Erik Stockmeier:

Oh, yeah, for sure. Yeah, I don't want to list off all my shortcuts. I think that could get a little

Anna Carey:

not as exciting.

Pavlos Vinieratos:

Yeah, I'm asking because I've definitely tried tools like this. And yeah, it didn't, didn't stick for me, I see why they're useful. didn't stick.

Erik Stockmeier:

You know, I noticed that pretty early on in my time at Artsy when I was working with another engineer. And they weren't snapping their windows and being very junior and having become very dependent on my two thirds 1/3 setup. I remember thinking like, how can how can this person get work done. This is a, this is something every senior engineer does write because I have become so dependent on it. But that's kind of why I prefaced it with this might be more just a pet peeve. For me. It's a 2/3 1/3 ratio for everything, unless I'm running a terminal in my code editor. And then I might go fullscreen.

Pavlos Vinieratos:

No, that makes sense. I have I have the same setup like the 1/3. Two thirds, but I definitely do everything with the mouse, which I know, you know, it would be it's frowned upon by developers. But But yeah, by the way, just to go back to the original question, I guess, for productivity stuff. And we can come back to the one that Eric said is that I kind of go the opposite way. And instead of like, if I see something that I do a bunch of times, sometimes, you know, I might take like two extra seconds or two extra minutes. Like that's the point that I try to, like optimize, let's say in quotes. So I have, you know, in Eigen, for example, the mobile app that we have, I need to open up Xcode every now and then, you know, the way I did it was, I was in terminal and I would open the Finder window, then I would look for the thing, you know, double click it or whatever, and then that's kind of like slow. So then I just made a little script to like this, find a project or an Xcode project within the folder. I mean, and then that's it, you know, so now I use it in a bunch of other apps. And that's nice. Or like, you know, we have zero and I kept making tickets, and they were just going into oblivion. Like, uh, no one would know where they were and me, especially when I made them. So I made like some kind of automation. I don't know how JIRA causes, but it's, you know, you give kind of some rules, and then it just like applies some filters or some labels automatically. So then, you know, now I just make a ticket, and I know that it will go to the right, you know, sprint thing that we have to groom them and all that stuff. So it's just easier.

Erik Stockmeier:

You know, that reminds me of a luncheon learn from it's got to be at least three years ago now when there was a John, who's been on the show before, is one of our resident vim experts. And so he was doing a luncheon, learn on his vim setup. And I remember what stuck out for me because I was trying to learn vim at the time, because he had some kind of keystroke recorder that would watch what he typed and watch for repetition. And he said he would review it every week, John, I'm sorry, if I'm misrepresenting this, I found it. mind boggling. That's crazy and see how it could be great for him. He would review it every week, and pick the most reused commands. He was running within Vim and create new shortcuts for that. Oh my god. So if he was doing a lot of, you know, swapping out parentheses for curly braces, or I don't even know, he just had this endless list of vim shortcuts and I wondered how can you work on any computer but your own?

Anna Carey:

He probably can't. He probably can't. It's so interesting to me how, like how into the stuff engineers get I mean, it makes sense like the Note realizing that you can create these efficiencies. It's like one of the biggest powers of being an engineer. So people just get can get so deep in on this stuff. And Eric, I'm kind of like you and that. This has never been like this stuff has never been my strong suit like my Desktop Window like you would probably like be so crazy to look at my work. setup because it's just very, very disorganized. And I actually think it's kind of, I get a little self conscious about it because I think it can kind of expose myself as being a little more junior, which maybe is not the best thing. That's why I think it's helpful to like, learn from other people about sort of what their tools are for this vim topic. You know, I've heard from many engineers on the team, including John that I should be using Vim. So we'd love to kind of hear from the two of you how you see the value of that tool. Maybe describe, I'm not totally clear on like, why use Vim over other shells and stuff like that? So we'd love to hear kind of how you feel about that.

Erik Stockmeier:

Pavlos Yeah.

Pavlos Vinieratos:

I can I can go for I definitely don't consider myself was like, you know, every master or whatever. So maybe that's a good thing to start with me, but I have been using haven't been using Vim, but I've been using vim keys for many years. So I, you know, I used to use, I don't even remember, but like, now I use VS code with the VIM extension, or like neovim extension, I don't remember which one. So basically, I can use all of the VIM keys, key bindings or whatever, and still be within my, you know, normal editor, the VS code. So basically, the reason that I like it, and the reason that, you know, many people advertise it, I guess, is that it's supposed to be like editing in the speed of speed of thought, or something like that. I think it's like, you know, some kind of motto. So it's like, you know, I need to delete this line. So instead of like, hitting shift, and like hitting right, seven times, or whatever, and then delete, or whatever, you can just hit the twice, and then you know, the line is gone. So it's just kind of it has a bunch of keys just faster. Yeah, yeah, basically has like, a lot of key bindings, that also makes sense. And they can be combined with each other to make you like, you know, manipulate code easier, I guess. And I like that part. And I don't like the part of like, getting too deep into configuration. So I, you know, I've tried switching to Vim, and like, even just getting autocomplete, or whatever gets funky sometimes for me. So I, you know, I thought, let's just get VS code that has all of the good stuff, and then just make you know, vim keys on top of it. And then I'm very happy. And now, like, I know that, for example, one thing that an editor should do for me, is allow me to move a line, like a line above or a line below or whatever, just without deleting it and copying, pasting or whatever. So now, you know, vim can do this, of course, and VS code can do this, of course, but the way to make this in both of the editors was easier in VS code, so then I just have it there. But then all of my other keys are still Vim. So it just kind of combines It's like

Anna Carey:

a mix. Yeah, yeah. Eric, do you use it?

Erik Stockmeier:

I think I use it similar to Pablo. So I use the extension. But usually, unless I'm doing a commit message or rebasing something where the the terminal editor opens by default, yeah, I use an extension that adds it. And yeah, I don't think I have much to Andrew Apollo set for, I think a lot of people who are drawn to programming are drawn to the idea of like, automating the most rote parts of a task, because that's what you don't have to think about. And you can free up your mind to think about the the creative, or fun parts

Anna Carey:

and vending actually solving problems. And yeah, totally

Erik Stockmeier:

right. And so, you know, how often are you doing some small ticket and you realize I have to change this variable in eight different places. Now, that's there's like pretty much a shortcut to do something like that. And most code editors at this point, but those, those little pieces of like, this isn't really so much like creative work, this is wrote them brings that to typing. And a lot of it after that comes to like, how deep do you want to go into it? I want to go just deep enough that I can edit.

Pavlos Vinieratos:

You can definitely go deep, or very deep and you know, never do any actual work. Have you have you tried vim at all or anything similar

Anna Carey:

only with what you're describing when you're, you know, opening a commit message and like it automatically opens and I've felt like that's comfortable enough for me. But not beyond that. I think it's helpful to kind of just like try things and kind of and then see what sticks. Yeah, I don't know do you have do to have an approach to when you hear sort of new ideas of one example I think of is ways to do it to do lists during the day. I started using notion one of the other engineers on the team suggested this and you basically like have big list of things that you want to do for the day. And then at the end of the day, anything you don't complete just gets copied over the next day. So you can kind of see what you've done in the past. And then you get this kind of like running list. And I am not super like good about it. But it's like, it's I've tried it, it's like, pretty much has stuck. Sometimes I'll you know, miss some days. But yeah, do you guys have an approach for when you come up when you find new ideas and how to try them?

Erik Stockmeier:

I have tried so many different apps, or versions of like a checkbox plus a sentence. I don't think anything is has really stuck for me yet. Although lately the Reminders app has been good for Link, remembering I need to pick up chickpeas or something like that. So the built in app is going to ultimately be the answer.

Anna Carey:

That's the built in iOS app, right? Yeah,

Pavlos Vinieratos:

yeah. For like, whatever is the, you know, the least amount of friction, I guess, in my brain. So yeah, like that character. I've also tried the billion of them, and I've tried making them and I've tried, like, our friends, scripts, or whatever. And like all of that stuff. And it's just, you know, like, it's hard to find the ideal one. And the other one might be just, you know, a piece of paper, or it might not be, but yeah, I ended up having, I use an app called things for Mac and iOS. But then I also have, like, my notes in just the VS code window, you know, which is sometimes also to do list. It's just like a, you know, like a weird combination of just everything. Yeah, I think a point.

Erik Stockmeier:

Sometimes I think with, you know, with these app discussions, I'm, I'm always looking for the the app that's going to fix everything. When I have a problem, I'm thinking Can I can I write a code? Can I write a code that will solve this for me, or if I found something that I think does work, I'm like trying to convince every person in my life that this is the app that's going to finally make it possible for us to schedule a meeting or whatever. And sometimes I think there might just be a neuroplasticity issue as well that like, we can't, we can't just keep layering more abstractions on top of our distraction. Sometimes we have to, like learn how to do prioritization, with our will,

Anna Carey:

ourselves without tools? Totally, totally. Yeah, I think it's easy to get sort of deep, especially as engineers deep into kind of this over tooling world, maybe for the last, you know, 10 minutes or so of us chatting, I'd love to kind of switch gears and talk a little bit about something that definitely gets in the way of productivity at Artsy and is a hurdle that I think we're still working through is how distributed we are, and being on these different time zones, and sort of communicating across time zones. And there's definitely tools that go, you know, that we use there, obviously, you know, JIRA keeping really good track of what, what tickets we're working on what the status of them are, something that we've sort of, like, played around with, but not really worked that well is sort of tag teaming on a ticket. So, you know, I started in the morning in New York, we work on it together, maybe with someone in Europe, and then I finished it in the afternoon. And then, you know, I sort of leave a note on what comes next. And then in Europe morning, the next person kind of picks up the work there. But the stuff is hard. The stuff is really hard. How have you seen this on your teams? Maybe, Eric, I know that purchase is pretty split half half?

Erik Stockmeier:

Yeah, we're, we're going through a transition right now. Because for the past year, we've been, I think, by far the largest product team at the company. And the composition has varied in that time, with the pandemic, and both the hiring and turnover we've had during that time. So I don't feel like I have one one magic bullet I can give for it. We've definitely, you know, following the RFC that Adam raised last year to standardize on our meeting times. That's been helpful. So because we're, the majority of us are either eastern US or Western Europe, I guess. I don't know what Berlin is. We have our morning overlap. And that's when meetings are every six months or so. It's not a planned thing, but we have to kind of sweep out the cobwebs and figure out what meetings need to be ended. We hadn't done a handoff of work as the Berlin shift is going out to the there disco. And the New York shift is coming back from brunch. I'm interested to hear from Publix.

Anna Carey:

Yeah, Pavlos. So the collector experience in that pub as you work on is pretty Europe heavy. I know that when I rotated with your team when I first started at Artsy and was rotating during my onboarding. I think that there was only a couple of people that were based in the us. Yeah. But also you've been little, I think that we're more distributed for longer than other teams.

Pavlos Vinieratos:

Yeah, so definitely we, we had, like, when when CX started, we were kind of, yeah, a third in Berlin and a third in, like New York and the rest was just randomly spread in the world. Yeah, now we're very much Berlin heavier? Yes. Like, Brian is the one person I can think of immediately that is, you know, in a bunch of meetings in his time, or our time that has to work, we often do what Eric said, Pick the overlap times when we know that we need, you know, everyone, or a lot of people from here, and I've never done this tag team situation that you described, but definitely having information on Slack about what people did or what they expect to be done. That helps. Because sometimes, you know, I write maybe at night, or maybe someone from the US writes at night, and then we have to sit, like, it's nice in the morning that it's there, you know, and you don't have to run and ask people.

Erik Stockmeier:

One thing that strikes me, especially as I'm thinking about this tag team idea, and you know, how I work, you know, I mentioned that I've always struggled with like productivity or staying on task, however you want to put it, and I do, I like it, when it just comes to me, and then 20 minutes, I can do the work that probably would have taken me like, two and a half days, if I had just forced myself to squeeze it out at a keyboard. But as we've gotten more and more remote, I miss pairing and sitting side by side with my co workers. And that's just something you know, like I said, neuroplasticity, that's something that I've had to develop new skills around. And luckily, Artsy has been pretty supportive in in people figuring this stuff out for themselves. But the Tag Team idea sounds nice, because, you know, if that was just how my team worked, I could see how it would force me to basically do code review for the, you know, Berlin engineer that I'm picking up from, that forced me to understand their code, because I wouldn't want to just be like, clobbering everything they wrote, If I wanted to do it differently. It could be like a really interesting way to do communication. I'm wondering what the what the actual experience is, like, because I'm just,

Anna Carey:

yeah. Yeah, no, I think it's a, it's definitely feels a little bit more of like a ideal situation. And I'm not sure if I have a lot of insight in to how this would work in practice, what we, what I've more tried, is doing this with someone in New York. So Steve, and I will do this a lot. So Steve is an engineer on my team. And we'll do this a lot on just like with pairing will will truly go back and forth. Like every commit or so, basically, like one person drives the neck and then for one commit the next person drives. So both people have equal context on the PR. And I think when we've like sort of tried this, like more with with the timezone thing, the key is having two people have equal context on a PR, which actually is kind of rare. Usually you have like one person who's kind of like leading, and then the other person who may be like pairing to unblock or pairing to assist, but not actually like contributing equal amount of work. So like working on a PR like really like together. I think it's something that I feel like is pretty in line with how Artsy like it's our culture, like kind of is. But yeah, I think it would be interesting to see how it would work when the people that to Paris, like could not be in communication for part of that time.

Pavlos Vinieratos:

I've definitely finished like the, like the TOG situation where one person ends and the other person starts, it seems like a good way to work, if you know that it's person is going to kind of finish or reach some kind of milestone, you know, like a code review, like Eric said, or something like a, like a commit or whatever that might be. But definitely it feels, to me that it's usually easier to have a person like two people that have some overlap, and then in that overlap, they can pair and then before that one of them works and prepare stuff. And then the you know, the second person, it's kind of takes over after the pairing and like, finishes up some stuff. So it's not exactly like a type thing, but it's more like, yeah, like do some work in the morning, then pair then finish the work later for the second person, which definitely works nicely for Archimate list.

Anna Carey:

Yeah, that kind of equal. Yeah, I think that that seems like an interesting idea. I mean, definitely the point of missing actually being next to each other is very real. Like I've never because of when I started this career, I've never actually really like work with someone in person on like a computer next to each other. So I definitely look forward to that. De that I get to do that with someone, maybe someone in New York but also even in Europe as well. I think there's a lot that can come. Definitely from a productivity stance, but also just like team bonding and learning and scaling, knowledge, all that stuff. You definitely lose some by not getting to be in person, it will happen, it will happen, it will happen. But we have all this flexibility that I think all three of us definitely appreciate. All right, guys, this was really fun and great to kind of talk about these topics. I know I learned a lot from both of you. And yeah, I'd love to do this again with you both soon.

Pavlos Vinieratos:

Yeah, sounds good. Nice. Thanks.

Anna Carey:

All right. Thank you guys. Bye.

Steve Hicks:

Bye. Thank you. Thanks for listening. You can follow us on Twitter at Artsy open source. Keep up with our blog@artsy.github.io This episode was produced by Aja Simpson. And thank you Eve Essex for our theme music. You can find her on all major streaming platforms. Until next time, this is Artsy Engineering Radio