Charles Max_Wood:
Hey everybody and welcome back to another episode of the Ruby Rogues Podcast. This week on our panel we have John Epperson.
John_Epperson:
Hello everyone.
Charles Max_Wood:
Dave Kimura.
Dave_Kimura:
Hey everyone.
Charles Max_Wood:
Valentino stole. I'm Charles Maxwood from Top End Devs, and this week we have a special guest that is Jake Yesbeck. Jake, do you wanna remind people who you are?
Jake_Yesbeck:
Hey, thanks for having me. Yeah, my name is Jake and I am the head of engineering at a company called Nomad based
Valentino_Stoll:
Hey now.
Jake_Yesbeck:
out of Denver. And as a remote leader in the company for a non-remote company. So it's a little bit of an interesting dynamic and yeah, excited to talk about it.
Charles Max_Wood:
Cool, so you don't work from the office then?
Jake_Yesbeck:
That's right. Yeah, I work from my home. I've actually been remote working since about 2016.
Charles Max_Wood:
Nice. Yeah, I went freelance and went remote in 2010. And yeah, it's funny, because I had some folks call me in to see, we were just getting to know each other. They're trying to hire some people. And they were like, well, you sound like the kind of person we wanna hire. And so then they started talking to me about the commute and what it'd be like to work from their office. And I told them, no.
Jake_Yesbeck:
Remote is really, once you do it right, I think that it's the best way to be a developer.
Charles Max_Wood:
man. Well, one thing that just came into play, I mean, my youngest is in first grade now, but like last year when she was in kindergarten, like half the day, my wife would be working because she worked at the school. She was running their lunch program, you know, and so I'd go pick up my daughter and then she'd be home half the day, right? Because you can't leave a five-year-old home alone. Well, I guess it's not a good idea.
Jake_Yesbeck:
You shouldn't.
Charles Max_Wood:
You shouldn't. They frown on that. But before that, in the neighborhood. And so I'd go pick her up. You know, I'd drop her off at nine, pick her up at 10, 30 or 11. And yeah, you know, it was nice being here. If my wife needed to go take care of something with one of the other kids, she could just go. And that's kind of where a lot of it came in, right? For me, it was a lifestyle choice. It wasn't necessarily a work style. But I'll tell you, if I had to count all the times that people weren't coming by my desk and going, hey, I have a quick question. You know, I can ignore Slack. ignoring Slack. Just ask my coworker. I mean, anyway, it's, you know, but I can put my head down and get some work done and nobody's in my physical space to force me to give them attention until I'm ready.
Dave_Kimura:
All right, so
Charles Max_Wood:
At least
Dave_Kimura:
it's story
Charles Max_Wood:
that's what I
Dave_Kimura:
time.
Charles Max_Wood:
like.
Dave_Kimura:
So back when I was working in the office, I won't say the name of the company, but because that's irrelevant, but my desk was right by a primary employee entrance and exit. And so I'm sitting there coding one day and this lady comes up to my computer and she just starts like getting all up in my face, pointing all around my screen saying like, what time is it? What time is it? Because I was on an Apple computer. She was used to Windows. clock is on the top right and I'm just like whoa whoa whoa like like look at your phone look at your watch so yeah the work environment in an office is really it's great for the camaraderie but it's also very annoying in situations where you're really trying to focus and you get a lot of these distractions of not important or not work related things
Charles Max_Wood:
Yeah. The other thing is, at least for me, is that sometimes I'm in the mood for the camaraderie. It's like, hey, yeah, I want to sit and chat about whatever, the weather, politics, anything that'll piss people off. Sometimes I just don't want to people at all. It's just like, I don't want to see anybody, I don't want to hear anybody, I don't want to talk to anybody. If I wanted to do that, I can. I can turn off Slack, I can turn off and you know my kids aren't gonna be home till like 2 30 this afternoon so I literally can just shut it down if I need to
Jake_Yesbeck:
Yeah.
Dave_Kimura:
Yeah.
Charles Max_Wood:
So it's both.
Jake_Yesbeck:
You know, what's funny about the, um, the office plan too. I don't know about that story, Dave, if there was an open office floor plan or what, but
Dave_Kimura:
Yep.
Jake_Yesbeck:
I always thought it was funny when it was a gigantic open office and then everyone had big headphones on to drown out
Charles Max_Wood:
Uh
Jake_Yesbeck:
the
Charles Max_Wood:
huh.
Jake_Yesbeck:
noise. I said, why, why are we here? If for three hours, you want to be quiet in a desk full of 50 other people.
Dave_Kimura:
Well, and the bad thing back then, you know, back 2016 prior, there wasn't really good noise cancellation headphones. No, those haven't serviced until the more recent years.
Charles Max_Wood:
Yeah, in 20. Yeah, go ahead. You could get decent ones, but they were really, really expensive. Um,
Dave_Kimura:
Okay,
John_Epperson:
Yeah, I'm
Charles Max_Wood:
but
Dave_Kimura:
well
John_Epperson:
used
Charles Max_Wood:
our
Dave_Kimura:
I
John_Epperson:
to
Dave_Kimura:
was
Charles Max_Wood:
rule.
Dave_Kimura:
poor
John_Epperson:
having
Dave_Kimura:
back then.
John_Epperson:
200 other headphones.
Charles Max_Wood:
Yeah. Back in 2010, that was the last time I worked in an office environment. Yeah. I mean, headphones on, it was a rule, at least in the bullpen for the devs. If headphones on meant don't bug me unless it's an emergency. And so then it's like, so why do we have this big open room where I can hear you guys talking at the whiteboard, even though I have my headphones on? Mm-hmm.
Valentino_Stoll:
I found this to be a 50-50 for me. I worked at an advertising agency where it was open floor plan and there was always meetings going on that you're getting pulled into. So it was like kind of like no time for headphones. But then I moved to a consultancy where there was like lots of pairing sessions. And so like you could have headphones, but then just say someone could wave at you and take the headphones off and be like, hey, you wanna pair on something? to be able to pair like that is definitely,
Charles Max_Wood:
Hmm.
Valentino_Stoll:
you know, very helpful. But you know, now there are solutions to do that remotely too. So I don't know. I'm torn on the whole. Personally, I don't like going into the office, but I can see somebody getting value out of it that way. Right.
Jake_Yesbeck:
For sure.
Valentino_Stoll:
Like
Jake_Yesbeck:
Yeah. It's a, it's
Valentino_Stoll:
how
Jake_Yesbeck:
a
Valentino_Stoll:
do
Jake_Yesbeck:
big
Valentino_Stoll:
you
Jake_Yesbeck:
problem.
Valentino_Stoll:
like junior
Jake_Yesbeck:
Actually. I,
Valentino_Stoll:
engineers
Jake_Yesbeck:
I
Valentino_Stoll:
like
Jake_Yesbeck:
actually used to work for test
Valentino_Stoll:
Jake,
Jake_Yesbeck:
double consultancy
Valentino_Stoll:
if you want to speak to that,
Jake_Yesbeck:
and
Valentino_Stoll:
like
Jake_Yesbeck:
they
Charles Max_Wood:
Mm-hmm.
Valentino_Stoll:
how do your
Jake_Yesbeck:
only hired
Valentino_Stoll:
younger engineers,
Jake_Yesbeck:
senior and staff level
Valentino_Stoll:
at
Jake_Yesbeck:
engineering
Valentino_Stoll:
the
Jake_Yesbeck:
basically,
Valentino_Stoll:
interface
Jake_Yesbeck:
because
Valentino_Stoll:
time that they need with,
Jake_Yesbeck:
learning to be an engineer
Valentino_Stoll:
you know,
Jake_Yesbeck:
remotely
Valentino_Stoll:
getting up to speed
Jake_Yesbeck:
is,
Valentino_Stoll:
with things.
Jake_Yesbeck:
is really tough. And so since it's a consultancy and it's a remote consultancy, they kind of, you know, only hired that at the time. Other policies might have changed. I can't speak for that, but when I took this position, I actually had it, had a team member that was early in his career. and I hired two other early career engineers. And it is, it's a delicate balance to make sure that you are giving people the support and the avenues for success. And what I've found is a lot of communications over Slack, which is a little obvious, but impromptu Zoom meetings and scheduled pairing sessions are the two things that we do
Charles Max_Wood:
Mm-hmm.
Jake_Yesbeck:
every week that really make a big difference, especially with those early career. I am, in my role, I'm much more of like a player coach, slowly going into just the coach role, but I was down in the weeds and the code and writing a lot of code every day. And so the pairing sessions really were the difference maker. And the biggest thing I'd say about that is consistency, if you're trying to make remote pairing sessions work. So yeah, have you guys ever remotely paired using technologies or Zoom or whatever?
Charles Max_Wood:
Mm-hmm.
John_Epperson:
I have that going
Dave_Kimura:
Yep.
John_Epperson:
on right now at my place or whatever. And in the past, I've done it as well. I also have been, I was tutoring people before COVID and then during COVID we switched to being fully remote and it works, it's not as good.
Charles Max_Wood:
Yeah.
John_Epperson:
And so, I mean, I think it's really important to bring up like the junior problem. If you're like, well, hey, and you're not thinking about how you're gonna handle junior growth and development, you're deep doo-doo. You have to think about how you're gonna handle that. There's a lot that goes into that because people do like to interact on a personable level, and when you have juniors who, geez, they're just not sure how long to spend on things for, you know, they can ask for help. And, you know, somebody behind a slack, you know, a handle isn't really giving you, you know, the same signals that somebody sitting over in their chair looking at you, like, you know, randomly during the day might be like kind of hinting that they're like, they may want help. Like there's all sorts of signals that can come out of them. And you're like, I think they need help, but they just don't want to ask for it yet, you know, and you're not going to catch those. You will catch the people who are just more active and, gosh, proactive. You're going to catch those people. Those people are just fine, but they were going to be just fine anyway. So proactive people just typically kind of are. They know how to get their own help. But for people that are not proactive, you're going to have to set up and come up with ways to do that. I also agree the regularity helps so far. maybe other things too that you're going to have to think of.
Jake_Yesbeck:
Yeah, I spent a lot
Dave_Kimura:
Yep
Jake_Yesbeck:
of time making sure that like the structure was in place without seeming to micromanage because you know, that's, that's the balance. In my opinion is if you're constantly asking, Hey, how are you doing at this? How are you doing with this? Then you don't give the room for mistakes and growth. But then if you don't do it enough, then a week has gone by and it didn't have to without them progressing and that's frustrating for them and you.
Dave_Kimura:
One
Charles Max_Wood:
Yeah
Dave_Kimura:
of the tools that I found really useful for pairing remotely is because our team all uses Visual Studio Code, there's an extension from Microsoft that is publicly available now called Live Share, and it'll allow you to share your VS Code session collaboratively with someone else. And they also have Live Share Audio, which allows a audio bridge between the session. And the nice thing about this is if let's say if I am a big Vim user and so I have all my key bindings and everything set up for Vim but then someone else is maybe a sublime text user and they have all their key bindings. Well Visual Studio Code with the Live Share will allow me to retain all my extensions and all of my key bindings and everything but then be able to interact with the code base that someone is sharing with me. And I can then
Charles Max_Wood:
Thanks for watching!
Dave_Kimura:
go and see what they're typing as they're typing it. And they can see the changes and the things that I'm typing. So I think a tool like that is extremely helpful for pair programming remotely. And I think has a lot of value to especially the junior who maybe wants to see how you are clicking through to do a discovery on a bug fix or something like that.
Jake_Yesbeck:
sure I use the zoom. Um, I'm a little bit more low tech with how we do it. We just zoom in screen share and take turns driving. So what I call it, um, you know, maybe push up some changes to remote swap, who's driving and then pull it back down. But, um, but yeah, I would love to try something like that. I'm
Charles Max_Wood:
Bye.
Jake_Yesbeck:
I've still just used them. So maybe I'll try something else.
Charles Max_Wood:
I think they also added a feature to Zoom now to where you can allow somebody else to control your computer remotely through Zoom, right? So you get on the call and, hey, well, let me help you with this real quick, rather than having to switch who's driving you effectively, just say, okay, I'm gonna give you permission to control the keyboard and mouse and then they can do the thing. I'm trying to remember, there was a screencasting service that went on when Screen Hero was
Dave_Kimura:
Yep.
Charles Max_Wood:
awesome and I think Yeah.
Dave_Kimura:
Mm hmm.
Charles Max_Wood:
I was gonna say, yeah,
Valentino_Stoll:
Screen
Charles Max_Wood:
I
Valentino_Stoll:
Hero.
Charles Max_Wood:
can't remember who, the name of the guy behind it, but yeah, Rook
Dave_Kimura:
Ben
Valentino_Stoll:
Yeah,
Dave_Kimura:
Ornstein.
Charles Max_Wood:
on
Valentino_Stoll:
I don't know if anybody's
Charles Max_Wood:
Ben Orenstein,
Valentino_Stoll:
played with tuple.
Charles Max_Wood:
yeah.
Valentino_Stoll:
That's kind
Charles Max_Wood:
And so
Valentino_Stoll:
of been like
Charles Max_Wood:
that's been awesome
Valentino_Stoll:
the remake,
Charles Max_Wood:
that they went and kind of recreated
Valentino_Stoll:
but it's
Charles Max_Wood:
that,
Valentino_Stoll:
pretty
Charles Max_Wood:
because
Valentino_Stoll:
incredible.
Charles Max_Wood:
it's just so nice to be able to kind of have that dual mode. The flip side is, and the thing
Valentino_Stoll:
Ben
Charles Max_Wood:
that I've
Valentino_Stoll:
Or-
Charles Max_Wood:
seen is
Valentino_Stoll:
Ben
Charles Max_Wood:
that
Valentino_Stoll:
Ornsine, yeah.
Charles Max_Wood:
if you're in person, the one interface that I miss is being able to point at my screen, right? just get my finger and just say, you know, this here, right? This right here. Otherwise I have to take control of the mouse and kind of move it around it or something, right? To get their attention there. And what I found is that, yeah, kind of the way that Screen Hero worked where you had the two mouse. So I had my mouse and their mouse. I don't have to play control games in order to do that. I can just move my mouse over where I want them to look.
Jake_Yesbeck:
Yeah, I use the annotate feature on zoom, a little like pencil, draw all over
Charles Max_Wood:
Oh
Jake_Yesbeck:
the
Charles Max_Wood:
yeah.
Jake_Yesbeck:
screen all the time. You know, box diagrams, how objects talk to other objects, stuff like that. It's good enough, but I don't know how far it scales. I would love to try these other technologies. Maybe I will one day.
Charles Max_Wood:
My six year old would draw kitties with that. Anyway.
Jake_Yesbeck:
But then there's the other side of the, um, the junior remote discussion, which is like the not just pairing on technical stuff, right? The other career growth things.
Charles Max_Wood:
Mm-hmm.
Jake_Yesbeck:
And those things have been something I spent a lot of time thinking about too. So we have, um, you know, remote book club session at my company that I set up so that, you know, people go through a technical book and change who, who leads a chapter do like remote happy hours, other things to like inject.
Charles Max_Wood:
Mm-hmm.
Jake_Yesbeck:
remote culture. Have you guys experienced any of these kind of things?
Valentino_Stoll:
Yeah, we do a book club at Doximity that's really great engineering book club. And that definitely is like something you can, you know, get people up to speed on a particular topic for sure. I mean, we also have off sites that they're they're do like in persons, like we we call them really, you know, everybody gets together, you know, once a every few months. There is something to having that FaceTime that can be missed. It's just a huge help for actually recognizing people and their mannerisms. You learn a lot from people face to face
Charles Max_Wood:
Yeah,
Valentino_Stoll:
that you wouldn't
Charles Max_Wood:
it's
Valentino_Stoll:
otherwise.
Charles Max_Wood:
funny because the in-person get-togethers are the off-sites,
Valentino_Stoll:
If you can get
Charles Max_Wood:
even though everybody
Valentino_Stoll:
together
Charles Max_Wood:
doesn't work
Valentino_Stoll:
as
Charles Max_Wood:
on-site.
Valentino_Stoll:
a team, it definitely is a huge help, even
Charles Max_Wood:
For
Valentino_Stoll:
just
Charles Max_Wood:
the book
Valentino_Stoll:
once
Charles Max_Wood:
club
Valentino_Stoll:
a year.
Charles Max_Wood:
thing, I'm actually working on putting something together for just people in the community. Right? And so we'll pick up a book and read it. I think a lot of that really just comes down to not just your ability to say, hey, we're going to get together and do this thing together, but also encouraging people to take the time to watch a video or read a book or whatever on their own. Whether it's, hey, this is an area that we need you to be proficient in, so go watch this video series or stuff like that. A lot of times that kind of coaching is welcomed because a lot of people struggle with the, what do I learn next? If you can point it out and say, here's what we would like you to learn next, and here's the thing. with a lot of that is basically saying, you know, we're expecting a 40-hour week or whatever from you, but five of those hours should be on, you know, you should be spending an hour a day basically leveling up, or a half hour a day or whatever.
Jake_Yesbeck:
Yeah, that's another like X factor with COVID in my opinion is the 40 hour week added to remote time zones and like all of that complexity that has totally changed the game of like when, when you are working versus what you are doing. And I've very much gone into the, what you get done camp instead of the, when you are working with like some overlap with your teammates.
John_Epperson:
I think one of the things that I feel like kind of happened during COVID, so as somebody who is also a remote worker before COVID started, I feel like COVID kind of muddled the situation in that like now, so it has to do sort of, I feel like now everyone, everybody's sort of piling in to be remote workers, and with people just not having those barriers and not knowing when to quit. Now, everyone's working ridiculous hours and it's just pushed, I was already working too many before and now it's just pushed that sort of pressure. It's just rastered up the pressure, I feel like, to do a whole bunch more, to remove your barriers, right? Because when all of your coworkers are like, well, hey, let's just schedule our deploy during dinner hour. I'm like, well, I'm sorry,
Dave_Kimura:
Ha
John_Epperson:
but
Dave_Kimura:
ha ha.
John_Epperson:
I have dinner with my family. Like,
Charles Max_Wood:
Ha ha
John_Epperson:
that's
Charles Max_Wood:
ha ha!
John_Epperson:
what I do. You know, and, but, and they're like, oh, well, but this is when we're going to do it. So then, you know, then I'm not on any, any of the, that thing, whatever it is, you know, it was deploys for me, but maybe it's something different for you or, you know, whatever it is. So like that can be, you know, a thing to deal with and, you know, you can discuss that kind of like that perspective because maybe they don't experience it themselves or they just haven't had like enough time to be frustrated by it in order to sort of like understand that perspective. They aren't going to be able to have like that honest discussion. And so I feel like there's there's some muddying and I guess I don't I've thought about this a couple times and I I hope that it settles down one day but I don't I don't know and I don't know what you guys think about that if you think that like because it's clear that you slightly different variations of this. Like I don't know if you think that some of the stuff goes away over in a few years as we get better at remote work or
Dave_Kimura:
Nope.
John_Epperson:
or if it's here forever.
Dave_Kimura:
Well, on my personal devices, I purposefully have uninstalled or deauthenticated any accounts related to work related chat. So whether it's email or Teams or anything like that, because I found that I was getting pinged at eleven o'clock at night for things that are non urgent. And to me, that's not really acceptable. we had a whole bunch of collaborative technology, you would pick up the phone and call someone. But that was a very intentional act to do instead of just click on someone's name type of message. And so I found that during the pandemic, those number of late night messages had increased. And, you know, it I was honestly usually already on my computer, but that's beside the fact. I'm not or sometimes I'm at my kids taekwondo class or whatever and So I just found that having that separation especially if you're a remote employee having a separation of work and personal life is all the more important because
Charles Max_Wood:
Yeah.
Dave_Kimura:
if number one if you don't have a physical Separation like if I'm working on my day job in my bed on a laptop then I'm not really given the company my full focus or I'm not giving myself the relaxation time that I need. So I have my own office that's separated from the rest of the house. Kids are not allowed in here. And when I'm in here, I'm working. There is no goofing around. This is where I come in and work. When I'm done working, I leave all my work stuff in here and then I go out to the house. And it's kind of funny because my wife would say like, oh, hey, David. drive. You know, we just still kind of act like it's like, oh, I'm just getting home from the physical office back at home. So.
Jake_Yesbeck:
I
Charles Max_Wood:
Yeah.
Jake_Yesbeck:
think it's a culture thing for the notifications after, after hours. If I had to, you know, what I, what I do is I try and teach like, Hey, you can send me messages, but if you're, unless you say that it's urgent, I'm not probably going to respond until I'm back or schedule your messages with Slack. Like schedule for tomorrow at nine. If you want to tell me something and you don't want to forget it, but yeah. And I tell that to my team too. If you see a message come in and, you know, unless I say it's urgent and it's after your work hours, don't respond to that.
Charles Max_Wood:
Yeah, the issue
John_Epperson:
I love
Charles Max_Wood:
I run
John_Epperson:
that.
Charles Max_Wood:
into, and it's kind of the
John_Epperson:
it.
Charles Max_Wood:
same deal, is I've gotten the, well, where the heck are you? At least for the first while with this contract. Why? Well, everybody else who is working for the company I'm contracting with, or is contracting with them, they're all on the East Coast. They're all Eastern time. And I live in Utah, which is mountain time. And I have to take my kids to school now in the morning and stuff like that, And so I'm not on the computer until eight in the morning, which is 10 in the morning for them. And so they'll send me a message at 9 a.m. their time. And then they're like, where the flip are you, right? And so it's not in the evening cutting into the family time. It's in the morning where it's, hey, look, I've got to get kids out the door and make sure they have something to eat during the day and that their shoes are on the right feet and all that stuff before we go. And so, yeah, I think a lot of what we're talking about here is that one thing that John mentioned though, with the transition over the pandemic too that I've seen is that a lot of companies got comfortable with the idea that they could walk into an office space and see all the developers merrily working away and feel good that stuff was getting done. And now that everything's gone remote, they don't have that. They don't have that, oh, I can see that everybody's working. I can see that everybody's on task. everybody, blah, blah, blah, blah, blah. That also, I've seen that become an issue with some places where they're breathing down people's necks and trying to make sure that they're double checking that code's getting committed and what have you so that they know that the work's getting done. That's another downfall I've seen of some companies trying to transition. Or now that things have cleared up a bit, a lot of companies are comfortable coming employees don't want to anymore. And so
Jake_Yesbeck:
Yep.
Charles Max_Wood:
they're fighting that because again, the boss at the top wants to walk in and see everybody merrily working away and everybody else is going, I'm twice as productive. And most of the companies that I've seen measure it, they find that their people have been more productive working from home. But they want the feel-good of walking through and seeing people working.
Jake_Yesbeck:
Yeah, I see those jokes on Twitter of the recruiters posting like, when I see your company saying return to work and like, you know, the money rains down because they know all the developers are going to look for, look for new jobs.
Charles Max_Wood:
Yep.
John_Epperson:
I actually wanted to hit on something that you were talking about, Chuck, because one thing that I've noticed, I am just now sending my first kid to school. So I'm just curious if those of you who've already been sending your kids to school are experiencing this as well. But it's harder to send your kid to school now. For example, what we have to do is we can't drop off our kid. There's the protocols for everything schools are like, well, now we have to like have these vaccine related or COVID related like protocols and you know, we can't have too many people in the same area at once and things like this. So, you know, you the way that you take your kids to school is now very different. And I mean, we even if we wanted to do like a bus thing, like there are the location, but only so many people. We have to do the same drop-off protocol kind of thing at that location, which I think is like little nuts, but whatever. The schools are doing this stuff
Charles Max_Wood:
Hehehehehehe
John_Epperson:
for... They're implementing what somebody else is telling them to do, first of all. So I'm
Charles Max_Wood:
true.
John_Epperson:
not yelling at my principal or whatever for implementing some law or edict or whatever. This is just what's got to happen. And yeah, that's frustrating. It takes a lot longer. It's an hour and a half process to take my kid to a school that's 15 minutes away because that's just what it is. It's really hard now. I didn't know what it's like if you and Dave maybe experienced that as well. I feel like before, I feel like I would not, if I didn't have a kid, I wouldn't realize just how long that takes or whatever. that I feel like people aren't really realizing that people just kind of have to do now or whatever.
Dave_Kimura:
The hardest time was when we had the work. The kids were doing digital learning. You know, kind of mid pandemic because we had three kids, so they needed three computers, which, you know,
Charles Max_Wood:
Mm-hmm.
Dave_Kimura:
I like computers, so I didn't mind getting those set up. But the distractions, it's almost like summertime year round. The kids are just fighting and arguing, you know, yelling, screaming, like all year long, and it was really hard for us. because having four kids, you don't get a break. It's just go, go, go 24-7 with the kids fighting and screaming. So from that area of working remotely in the pandemic, it was very trying. And if you don't have a good foundational solid family dynamics or just however you want to phrase it, then things get a lot worse. at home, maybe not getting out much, or you find yourself sitting at the computer more hours and not getting any exercise. So I think it introduces its own challenges. But then again, on the flip side, you know, as Chuck was alluding to with the remote or, I don't know what they call it, the back to office strategies or the back to office policies state now that the pandemic is kind of winding down or allegedly winding out maybe people are just tired of it so they're wanting to get back to the office so you have people who initially were hired on during the pandemic as a remote only and now all of a sudden they are having to shift their entire dynamics of their life from going from a remote employee to a office employee and really screw up with some people's careers because they were remote for a reason, not necessarily because of the pandemic, either a medical issue or some other issue that requires them to need to work remotely. But at the same time. I've seen people take remote remote work to a bad extreme where this happened many years ago, different company, different boss. He actually drove by an employee's home. Who was not performing well and she was outside in the backyard playing with her kids During work hours. She was a customer support person So I mean she was needing to be on the phone answering calls, but her call times was always No third of everyone else's so you know I think it's I really don't have a point here to make except just ranting a bit about it especially the back-to-office to instill. I think Apple is one of the public ones that have been receiving a lot of backlash about it. And they've had to kind of go back and revamp it multiple times.
Charles Max_Wood:
Yeah, when I was working at Morgan Stanley, they were talking about going back to the office, but they had hired people all over Northern Utah. And they had hired a lot of us during the pandemic. Yeah, there were reasons why I was remote and there are reasons why I still remain remote. And yeah, so there's definitely that. I also want to point out that you described really well what was happening at my house during the pandemic for school. I don't know how you knew it. I'd like to know how things went for your kids.
Dave_Kimura:
Noise cancellation headphones for me was a
Charles Max_Wood:
Oh,
Dave_Kimura:
godsend
Charles Max_Wood:
I know,
Dave_Kimura:
during
Charles Max_Wood:
right?
Dave_Kimura:
the pandemic. It was it really
Charles Max_Wood:
Yeah.
Dave_Kimura:
helped me focus more Because the kids were just scream now all
Charles Max_Wood:
Oh
Dave_Kimura:
my
Charles Max_Wood:
yeah.
Dave_Kimura:
kids are nine and under so
Charles Max_Wood:
Mmm.
Dave_Kimura:
They don't understand like hey dad's on a work call be quiet or anything like that. It's she stole my Legos He broke my toy You know world's ending
Charles Max_Wood:
It doesn't get better. My oldest is 16.
Dave_Kimura:
Ha ha!
Charles Max_Wood:
Anyway, but yeah, I totally agree. So we're kind of talking about some of the challenges with maybe being remote, going remote or coming back. And then we've talked about some of the things that you're doing, Jake, and some of the things that some of the rest of us have done to make it work. One thing I'm curious about, Jake, is since you're not around people, you know, what do to make sure that things are working for people and that things are working for the company? Because if you never check up on me, things are working great for me, right? But
Dave_Kimura:
Hmph.
Charles Max_Wood:
it may not be working great for the company. Maybe I am. Maybe I'm one of those self-motivated people who's just going to work all day. But
Jake_Yesbeck:
Yeah.
Charles Max_Wood:
maybe I'm not. And so how do you make sure that the people that need left the flip alone until, you know, and they'll just get their crap done that they're, you know, getting just enough check-in to make sure that when they do get hung up, that they're not stuck.
Jake_Yesbeck:
For sure. Yeah, it's a great question. And I think that I'm in a unique situation because my company is on the smaller end. We have 60 people. Um, 40 of them are based out of headquarters and the 20 of us that are remote. Six of them are, are on the engineering team, but my job requires me to wear so many different hats and I hate that phrase, but there's not a better one for what I do that I, I really have to. It sounds boring. But I have to be in lots of meetings to understand what's going on at a company level, and then I've had the luxury of designing from the ground up how engineering works at this company. And so I've designed it in a way that it matters less how often I see that little green dot on your Slack notification and more about like the actual output that is being produced. Mix in the pairing sessions we were talking about earlier, and you have a
Charles Max_Wood:
Hmm.
Jake_Yesbeck:
empower to ask for help and make sure that they are getting the help that they need. So it's kind of like a lot of different things. One of the biggest things I think which seems simple but I think has a huge impact is directing people to talk in public channels on Slack all the time. Like I almost never do direct messaging because I believe that unless it's a crazy personal thing you want to talk about chances are somebody else has that same question or that you're about to give and direct channels really help get people into the conversation, maybe not at the exact same time, but at least everyone's kind of on the same page. We all know what we're working towards, why we're working towards it and how we can help each other. I've always said to my team, you will never ever be, you know, you'll never have anything bad happen because you asked a question, right? Like no one was hired because I thought you knew the answers that's going to invalidate that. So talking in public channels really gets us on the same page. Unless it's kind of really coalesce into one team that's driving towards a goal. And that's what we do. We work in two weeks sprints and we never give time estimates for anything shorter than two weeks for what we're working on. Um, there's never the situation where people say, well, when's that going to be done by, or like what date can you have this done? We use, you know, point complexity estimation and sprints to measure velocity and then that's how we work. Requests come in, we talk about them and we put it in the backlog.
Charles Max_Wood:
just,
Jake_Yesbeck:
Yeah,
Charles Max_Wood:
yeah.
Jake_Yesbeck:
my bad. I think that along with the public channel communications and, um, the, the pairing sessions and the meetings really make us feel like even though we're a remote team, we're still very much part of the company that is not remote.
John_Epperson:
I think one of the things that you mentioned there about It sounds like you basically put everything, you said basically you put everything into your sprint. You don't estimate times less than two weeks or whatever. And it sounds like you're basically saying, oh, we can do 40 points as a team, so let's just pile in 40 points with the work and the sprint and like work on it. I think, ah, geez. I think this affects you whether you're remote or not. you might not be doing agile, right? If you're like basically like, oh, you know, I want this out in two days, you know, let's just, let's see what developer I can put that on their plate, right? And then at the end of the sprint, you also then say, oh, it's weird. We're not getting our work done, you know, like we didn't get the sprint work done. And, you know, people were, then people were just like, yeah, cause you keep, you know, changing what we're doing in the sprint, right? you're invalidating our planning. Or I've definitely worked at places where we estimate something, then we work on it and change the estimate. And I'm like, well, is that kind of like, it just, there's a lot of ways to like break your planning so that you aren't actually even achieving the goal that you're trying to do with Agile. And I think part of the reason why I was saying this is I just wanted to be like, well, kudos to you I think that's really hard like most places seem to struggle with that in some way or another There's like so many different ways that you can cause yourself to like Just not be able to like, you know make it work
Jake_Yesbeck:
Yeah, I'm lucky, honestly, that I got the autonomy that I had to design and implement this system and then we are trusted to work in this way. And it's getting reinforced because we get a ton of really important work for the company done in great timeframes. And so I think it would be a different story if I did all this work and then we just never shipped anything. I don't think I'd be sitting here talking to you about it.
Charles Max_Wood:
Yeah.
Jake_Yesbeck:
Thanks for watching! You.
Valentino_Stoll:
curious Jake, how do you measure things? Like, how do you know, like, let's say, because you have like, very strict, like, okay, we have these, this point system, and you're just gonna have a, you know, schedule this stuff for based on points, and we have this many people, like, how do you know, like, whether something's not working in the team that
Jake_Yesbeck:
Yeah,
Valentino_Stoll:
exists,
Jake_Yesbeck:
we,
Valentino_Stoll:
or that
Jake_Yesbeck:
we
Valentino_Stoll:
you need
Jake_Yesbeck:
always
Valentino_Stoll:
more
Jake_Yesbeck:
need to
Valentino_Stoll:
resources?
Jake_Yesbeck:
hire more.
Valentino_Stoll:
Like, what are you
Jake_Yesbeck:
Um,
Valentino_Stoll:
measuring
Jake_Yesbeck:
I would love to
Valentino_Stoll:
to
Jake_Yesbeck:
hire
Valentino_Stoll:
gauge
Jake_Yesbeck:
like
Valentino_Stoll:
that
Jake_Yesbeck:
15 more people. We just don't have the budget to do it right now. So unfortunately
Valentino_Stoll:
or
Jake_Yesbeck:
I
Valentino_Stoll:
maybe restructure
Jake_Yesbeck:
using what
Valentino_Stoll:
something,
Jake_Yesbeck:
I have, um,
Valentino_Stoll:
what kind of
Jake_Yesbeck:
which
Valentino_Stoll:
metrics
Jake_Yesbeck:
is a fantastic
Valentino_Stoll:
are you following
Jake_Yesbeck:
team
Valentino_Stoll:
for that?
Jake_Yesbeck:
that basically I've been coaching on how we do complexity estimation. And so we all kind of agree on complexity estimation, like what one point means versus two points and all that stuff. Right. Then what we don't do is if we estimate something poorly and it takes way than we thought, we don't go back and change the estimate to your point, John, because then we can't kind of learn from our mistakes and then our velocity isn't reflected actually what it was supposed to be. So if we committed 30 points and we do eight, because one of the two pointers was actually an eight pointer then we messed that up, we gotta get better next time in our complexity. And so then measuring the impact like identifying where problems are, I think that really comes down to before we even get estimation. Really, we talk about the asks. Like if we are having trouble scoping the asks down into pieces that we can assign complexity to, then that's where that's where we need to improve communication with stakeholders, internal mostly stakeholders, and how that works. If I see that the skill set of the team does not reflect what's in the sprint, right? So say we have primary backend engineers. Everyone's kind of full stack, but like not really people gravitate towards one or the other. And I have nothing but 40 points of backend work in the sprint. Sure. We could do it. And the front end people will do the work at a slower rate, but maybe they still want to. That's the kind of like gentle nudging I do at sprint planning of like, Hey, let's make sure we have something that I can kind of see somebody doing this kind of work for, and if I can't, and we just, our hands are tied. We have to do this work. That's that. After we get past that point, we have a mid-sprint check-in. So in the middle of the sprint, we say, hey, how's it going? Did anything get kicked out? Did we change our minds that this is not the right avenue for us to go in? Or did we underscope the hell out of something and have to bring a lot of stuff in? And so I guess what I'm trying to say is a lot of it is just communication. Very, very, very open communication. What I never wanted for my team to be viewed as, as some engineering teams are viewed this way. And it's not really not their fault of these ivory towers, where people just go off and they do the important engineering. You can't bother them. And no one knows what it's doing. And Wizard of Oz curtains revealed, and here's some crappy code that people have written, or maybe good code. You never know. But I want to make a transparent as possible process. But that has its own downsides. If you make things too transparent, then you get a lot of opinions. And opinions are great, but we also still to.
Charles Max_Wood:
I was going to say before you mentioned that you kind of get to run things how you want. What I found is that management is usually okay with that as long as they're getting the reliability. They can count on you getting the work done and they have some level of predictability. We're going to get at least this amount done or we're going to get these features done within this timeframe, whether it's well within the timeframe or whether it's going to be a little closer than that. on what you're going to be able to do, then they mostly will leave you alone, has been my experience. And so, you know, if you have those processes in place and you can, you're measuring the right things, it makes it pretty easy to be able to do that for them.
Jake_Yesbeck:
sure. And like I said, I like a transparent process because, you know, it's easier to defend when we make decisions and it's also
Charles Max_Wood:
Mm-hmm.
Jake_Yesbeck:
easier to show exactly what didn't go so great. And there's a nice paper trail for people to follow and it's not just a, you know, a black box of questions. I like the opinions I get from my whole company, but not everything's going to go in the sprint. You just can't.
Charles Max_Wood:
Yep. But that's the thing too, is if you have that transparent process that you can say, Hey, you brought us A, B, C, D, and E, and you're saying you need all of them done in this timeframe, well, you know our process, we can't do it. Right. And here's, here's how they fit together. If you, we put them in whichever way you want. And so you've got to prioritize these so we can properly make decisions. Then it's not a, well, you do it or else it, which I've also seen companies do. Oh, well. Or, you know, yeah, it's okay, well, these are the ones that are critical and we'd be really happy with you if you could get the others done.
Jake_Yesbeck:
And I have a counterpart too, which helps all of this.
Charles Max_Wood:
Yeah.
Jake_Yesbeck:
I have a head of product that helps me, you know, make sure that we are going towards the right company goals. I do a lot of the infrastructure backend, some product stuff too,
Charles Max_Wood:
Right.
Jake_Yesbeck:
but you know, he's he's there to help me make sure that we kind of have a united goal of like, okay, in this sprint, we are going towards this feature, you know, let's, let's communicate that let's do it, let's get it done. And we usually end up there. So things are going well.
Charles Max_Wood:
Yep.
John_Epperson:
Yeah, I think that's also a really big thing too, right? So companies which don't have a good project management structure or just not maybe a less than ideal team, either the development group makes up for it in some way by writing their own tickets or other janky stuff. And then you're basically spending a portion of your time management with very expensive employees, right? Or more expensive employees. Maybe you should think about whether that's what you want to do. Or you just, you know, as a company, you know, you don't have that. And then you, either way, what ends up happening is that when you don't have a good project management structure, like your support structure for your development staff isn't good enough, then you end up getting just angry at your development staff. You know, your development staff isn't happy. And lots of negative stuff happens. A lot of your problems are self-caused by just not having the right support structures in place. And it's something that you can deal with at a smaller scale. Like, okay, you got one or two developers, but as you scale up, like, it becomes so much more important really fast.
Jake_Yesbeck:
Would you agree, I agree with everything you said, would you agree that developers should have a little bit of project management ability?
John_Epperson:
I think, I don't know what anyone else thinks, but I think should is the wrong word. I think that just like it is a plus for you to be a full stack engineer when you are working, let's say on backend stuff or front end stuff, right? Like I think it's great to have that extra perspective. And let's say that, and obviously that changes a little bit if I'm specifically like trying to hire you. For example, if I'm trying to hire an architect or I want an architect for like, you know, basically the whole system, I want them to be a full stack engineer, right? Because you need to have all those perspectives if you're going to architect the whole thing. So it kind of depends on your role. But if your role is to be a full stack or I'm sorry, a front end or back end engineer, then being a full stack engineer is a plus. And I think in the same way, if I'm hiring you to be a developer, I think it's a plus to have the ability to hand, you know, to do some project if we make that a requirement because once again people aren't gonna like it and it's not necessarily gonna be people's talent right and that doesn't make you a bad engineer to have it but let's say that I'm hiring you to be like lead engineers the wrong word but if I'm like hiring you basically to sort of be like kind of in that director ish type role we really need to work aside here we need to work on some really good universal and general terms that we can on and that match company to company and don't change, but whatever. Anyway, so when you're sort of in that like directorship type role, right, where, and this is slightly different from company to company because maybe it's called the lead engineer, right, in some places, and maybe it's just a team lead that's sharing a portion of it, or maybe you legitimately have a director who's like half doing some project management type stuff on the side of in some somewhat similar-ish space right here, that person probably needs to have that, you know, otherwise they're going to be at a deficit when, you know, they're trying to do that kind of work or trying to make sure that the work it because having project management experience also helps you to judge whether or not the work that you're getting from your project management team is good enough, right? So I think all of that's important for that, but I don't think it's a I think it's a nice to have except in certain key roles.
Jake_Yesbeck:
I think I... sorry, go ahead. I think that's what I was gonna, I think you said better what I was about to say. So, yeah, I agree. I don't think it should be a should to your point, John, but I think that it helps. And I think taking it back to our earlier discussion about being remote engineer, specifically being a junior remote engineer, learning some of those like project management, or maybe even just time management skills really helps you as a developer as well.
Charles Max_Wood:
Ha ha ha! Yeah, it's funny, you know, back to that time zone thing, right? Because my two older kids get home in an hour and a half because of the time difference. And then my oldest two kids don't get home until, you know, an hour and a half after that. It's just funny how all of this adjusts and we adjust our life to it.
Valentino_Stoll:
Yeah, I was going to speak to that time zone issue too. Because at Doximity, we have hundreds of engineers, all different time zones, even as far as France. Right. And so, you know, how do you like get everybody to work together? I mean, definitely having like asynchronous channels and work, you know, methods helps a lot. But a lot of it, when I first joined, with a lot of people from the West Coast and it was, you know, me solely on the East Coast. And so, you know, you get to that point where, okay, like you've done all this work in the morning and then, you know, everybody comes on, you know, when you're just about to go for lunch and then when they go to lunch, you know, then you're like kind of back and working away and then all of a sudden they get back from lunch and have this huge surge of requests and, you know, all of a sudden it's, you know, four o'clock and you're like, you know, maybe this will have to come tomorrow. And you know, you'll learn to, you know, unfortunately learn to manage your time, you know, the hard way in that way. But when it ended up happening over time is, you know, we started stacking teams more heavily in the same time zone or close to it, right? Where, you know, there was more overlap between people than not. And that was a huge help in taking out a lot of barrier But it's still like having that the asynchronous
Jake_Yesbeck:
That's tough.
Valentino_Stoll:
channels
Jake_Yesbeck:
Um,
Charles Max_Wood:
Yep.
Valentino_Stoll:
is still
Jake_Yesbeck:
it's really tough
Valentino_Stoll:
you
Jake_Yesbeck:
because
Valentino_Stoll:
know
Jake_Yesbeck:
I think
Valentino_Stoll:
hard
Jake_Yesbeck:
that
Valentino_Stoll:
to figure out
Jake_Yesbeck:
if you,
Valentino_Stoll:
right like
Jake_Yesbeck:
if you think of it from a management
Valentino_Stoll:
What
Jake_Yesbeck:
perspective too,
Valentino_Stoll:
do you?
Jake_Yesbeck:
like
Valentino_Stoll:
Throw
Jake_Yesbeck:
if you have
Valentino_Stoll:
asynchronously
Jake_Yesbeck:
engineers working on
Valentino_Stoll:
and what do you
Jake_Yesbeck:
bi-coastal,
Valentino_Stoll:
not?
Jake_Yesbeck:
right, something that might've been able to be done synchronously or like with pretty tight feedback loops, all of a sudden becomes like 12 hours to 24 hours of like, I did something, push it up. You commented, you know, and then I see it the next day. It's tough. Um, and I think that I have, I have some engineers on the west coast a lot of engineers on the East coast. And I try my best to be available for everybody, like kind of like the X factor of just like, you know, I'm, I'm around. Um, but that's not sustainable forever either. And I've realized that. So I've seen it work well in other places of people, like either bucketing people together in their time zones or making tasks that require, um, not so much collaboration with people from other places. Is that what you all do? something.
Valentino_Stoll:
I think the biggest helpful piece of it is the expectations are set up front. Everybody sets their working hours and everybody respects those working hours. And so you are expected to set your notification settings on how you would respond. And so it's very easy in Slack to say, okay, after this time, silence all my notifications until the next day. and they'll come back the next day and you'll get the notifications when you start the day again. So that's huge. And finding like kind of things that fit around that kind of culture are how we've embraced it, right? And so, you know, anything that has like long form discussions, where, you know, you want to have a conversation and having that feedback might be nice. that right like Google Doc or you know will create a dedicated Slack channel to the topic and people can just come in and chime in and once and set like okay you know after this amount of time days or weeks or whatever it may be this topic will be closed but you know that way everybody knows what the expectation is for the topic everybody can has
Charles Max_Wood:
What
Valentino_Stoll:
the
Charles Max_Wood:
do
Valentino_Stoll:
opportunity
Charles Max_Wood:
you use for your
Valentino_Stoll:
to
Charles Max_Wood:
documentation
Valentino_Stoll:
chime
Charles Max_Wood:
stash? Cause this is something that came up with the contract that I'm working is
Valentino_Stoll:
And it's definitely a
Charles Max_Wood:
it's
Valentino_Stoll:
huge
Charles Max_Wood:
like,
Valentino_Stoll:
help
Charles Max_Wood:
well, where do we document this stuff?
Valentino_Stoll:
in that
Charles Max_Wood:
And like
Valentino_Stoll:
way.
Charles Max_Wood:
one person is using GitHub, uh, Wiki,
Valentino_Stoll:
I'm trying to think
Charles Max_Wood:
and
Valentino_Stoll:
of
Charles Max_Wood:
then
Valentino_Stoll:
what
Charles Max_Wood:
somebody
Valentino_Stoll:
else.
Charles Max_Wood:
else mentioned, Oh, well we could set up the giant pain in the, I mean, um, confluence. Um, yeah, yeah.
Valentino_Stoll:
We recently, we have this problem and formed some working groups that kind of hash out what would work best. And you know, surfacing content across all of your different services as you grow is a huge problem. And honestly, just recently, we started using a service called Glean that basically is like Elasticsearch for all your services. And they'll go in and you can scope it based on permissions you have across these services. So it'll only index things specifically per user for whatever they have permission to. So if you have Google Docs, it knows the scope only documents in your index, which you have access to. We have an internal wiki where we house all of our kind of product documentation, technical documentation. So we started indexing that and also Slack. So now we have all of our Slack services. If you can do this in any way, no matter what service is having a central place where you just search across all of the different things that you have, it's been like night and day, like so helpful. And it's like kind of eliminated any barriers you have to surface the content that normally would just be lost, right? Like, you know, how do you find something that, you know, was worked on, you know, maybe six, seven months ago, but, you know, you kind of where it was before and then all of a sudden you get the slack context and the articles on top of it is just it it's incredible
John_Epperson:
So it sounded like that was a recommendation for Glean. I haven't used it, so it kind of sounded like that was working pretty well. I find that interesting.
Valentino_Stoll:
Yeah,
Charles Max_Wood:
This
Valentino_Stoll:
I mean,
Charles Max_Wood:
GLEEN.
Valentino_Stoll:
we've only started using it for the past few months, so I can't speak to it, you know, fully. But
Charles Max_Wood:
E-A-N.
Valentino_Stoll:
I mean, even just in the near term,
Charles Max_Wood:
I thought they had
Valentino_Stoll:
I've
Charles Max_Wood:
deliberately
Valentino_Stoll:
found
Charles Max_Wood:
misspelled
Valentino_Stoll:
things that
Charles Max_Wood:
it.
Valentino_Stoll:
I wouldn't have normally up,
Charles Max_Wood:
Cool.
Valentino_Stoll:
you know, would have taken a little digging.
John_Epperson:
Nice.
Valentino_Stoll:
G-L-E-A-N
John_Epperson:
Yeah, I think that's, yeah, there's so much stuff to like get right, to get remote work right. And I mean, shoot, I see articles about it every day, like about like how terrible remote work is or like how, I don't know. I always thought that remote work, you were losing a little bit of productivity to gain basically access basically to more talent, right? But then there was some study that said, And now everyone just seems to be yelling and screaming about it. So I'm not really sure what to think. But I do know that if you do remote work and you allow remote work, you definitely do access more talent. That part's definitely true about whether people are more productive or not. I mean, I don't know. That seems different. It seems to be a personal thing. And man, now that I'm getting into having kids, I'm like, man, it's really awesome. terrible at the same time. It was already awesome and terrible for other reasons, but now it's got new new coat of paint on it, right? Like my wife is very excited that I will, you know, take one day a week to take our kids to school and she's very excited about that. But like at the same time, you know As you mentioned earlier, being at home means that you are there when your kids are screaming through the house and you're just busy like trying to like figure out why this stupid thing isn't showing up on the page and now you're just extra angry because there's just some screaming kid below you and you're trying to decide does my wife need my help right now? Should I be going downstairs or? Yeah, so it's just messy.
Jake_Yesbeck:
When the decibels get to a certain level, then you go check. Up until then, it's just painful.
John_Epperson:
You would think,
Charles Max_Wood:
hahahaha
John_Epperson:
but I have two kids that scream when they're excited as well, so it's tough to tell sometimes.
Charles Max_Wood:
I've experienced this phenomenon.
John_Epperson:
I'm gonna go to bed. Hahaha!
Charles Max_Wood:
Ha ha ha ha!
John_Epperson:
Yes. I mean,
Valentino_Stoll:
That,
John_Epperson:
okay,
Valentino_Stoll:
that...
John_Epperson:
that's fair. I wasn't even thinking about that. Yes. If I hear the sounds of my wife signaling that she might be losing her cool, she probably needs to swap
Valentino_Stoll:
Ha ha
John_Epperson:
out for at least
Valentino_Stoll:
ha!
John_Epperson:
a little bit.
Charles Max_Wood:
I know, is that though because of a crime
Valentino_Stoll:
it.
Charles Max_Wood:
or to prevent one?
John_Epperson:
Well, I mean it's it's because my it's Because when my wife loses her cool she might do something that she doesn't want to do right and
Charles Max_Wood:
Uh huh.
John_Epperson:
as As her partner and very good friend like I want to keep her from doing things that she doesn't want to do right like so
Charles Max_Wood:
Yep. A klaxon starts going off in his office.
John_Epperson:
As you
Valentino_Stoll:
into
John_Epperson:
started saying
Valentino_Stoll:
some,
John_Epperson:
that,
Valentino_Stoll:
you gotta start
John_Epperson:
I actually
Valentino_Stoll:
feeding the
John_Epperson:
thought
Valentino_Stoll:
background
John_Epperson:
where you're going
Valentino_Stoll:
noise
John_Epperson:
with this
Valentino_Stoll:
kind
John_Epperson:
was
Valentino_Stoll:
of machine
John_Epperson:
I needed
Valentino_Stoll:
learning
John_Epperson:
to start
Valentino_Stoll:
algorithm
John_Epperson:
feeding noise
Valentino_Stoll:
so you can get
John_Epperson:
into
Valentino_Stoll:
a good level, you know.
John_Epperson:
a giant loudspeaker and then also into the AI and see which one keeps my kids the most sedated or quiet or drowned out, whichever it is.
Charles Max_Wood:
Yeah.
Valentino_Stoll:
On a semi-reloaded note, one of my coworkers made this
Charles Max_Wood:
I need that.
Valentino_Stoll:
tool where you could
Charles Max_Wood:
It
Valentino_Stoll:
feed
Charles Max_Wood:
plays
Valentino_Stoll:
your entire
Charles Max_Wood:
like a
Valentino_Stoll:
test
Charles Max_Wood:
purring
Valentino_Stoll:
suite
Charles Max_Wood:
engine when things are going well,
Valentino_Stoll:
into like a noise
Charles Max_Wood:
and then
Valentino_Stoll:
generator.
Charles Max_Wood:
gears grinding
Valentino_Stoll:
So it'll
Charles Max_Wood:
when
Valentino_Stoll:
just
Charles Max_Wood:
the
Valentino_Stoll:
like
Charles Max_Wood:
tests don't pass.
Valentino_Stoll:
create noise
Charles Max_Wood:
Anyway,
Valentino_Stoll:
based on the tests that are running and how fast each one is.
Charles Max_Wood:
anything else with the remote work? We did veer in the off topic to CI and CD. How do you manage your CI setup, especially when the build breaks and or deployments on a remote team? How do you do that, Jake?
Jake_Yesbeck:
I've always been a huge proponent of continuous integration, continuous deployment
Charles Max_Wood:
Mm-hmm.
Jake_Yesbeck:
across the board. It's a culture. It is going back to things that might not be always in a developer's expected responsibilities. One of the expectations that I have is that your code works when you deploy it, and if it doesn't, then you roll it back and you fix it. dedicated QA, which is nice, but it has its own set of complications. Um, but we keep things as small as possible, small deploys that go out frequently, if we are confident in the deploy, we'll hit that merge button on a Friday, it doesn't matter. Um, people will be, you know, if it's something that needs eyes, people have eyes to watch things afterwards, or if it's something that we need to put alerting around, we do that too. Like that's really solved a lot of the, the pain point of trying to coordinate I actually went to GitHub, no, it was Heroku. Heroku had that issue with the pipeline issue from
Charles Max_Wood:
Mm-hmm.
Jake_Yesbeck:
like, it feels like a year ago, but maybe it was like three months ago. And we had to go back to manual deployments. That was a rough time because you wake up and you're like, oh, none of the code from yesterday went out. Huh. Okay. I guess I'll push it.
Charles Max_Wood:
Yep. Makes sense.
Jake_Yesbeck:
Yeah.
Charles Max_Wood:
If something goes wrong, how do you manage farming that out? Because the last time I worked on a team that really genuinely used CI was when we were working in an office, right? And so you might show up the next morning, and it'd be red, or it'd be yellow, because it failed sometime in the night, and then started passing again because of a time zone issue or something, right? And so whoever saw it, it was there responsibility to debug it, right? So basically, it would show it up first. If there was a CI issue the night before, we'd have to handle it. Otherwise, if it was just during the day, then we'd all kind of pile on. Do you just kind of do the same thing in Slack or whatever and just say, hey, it's red, somebody handle it? Or how do you manage that?
Jake_Yesbeck:
Yeah, I mean, we use the, the GitHub prehook checks and, um, you know, your poor requests can't actually be merged unless you have a passing build. So
Charles Max_Wood:
Right.
Jake_Yesbeck:
presumably everything that goes into the main branch has, has passed CI in the very rare cases where somebody remembered to put the, um, the forgotten environment variable in CI or something like that, then they're alerted to, to fix it, but I mean, knock on wood. everything looked green and then we went out into production and then things started to fall over or CI started to fall over. But yeah, we just have a regular setup with GitHub notifications through our CI, which is CircleCI to our developers. If builds fail and the expectation is that the main branch is always green. If it's not, and you're the one that made it not green, you got to fix it.
Charles Max_Wood:
Makes sense.
Jake_Yesbeck:
Yeah, I'm starting to, um, the more we talk about these kinds of things, more realize that like, maybe I haven't hit the threshold of problems because of my team size and so from my, from our perspective, right, it's all a rose colored glasses and green field and then we're all super happy and then talk to me again in a year. And maybe I'll be, you know, telling a different story. Have a lot more gray hair.
Charles Max_Wood:
I don't know though, because typically what I see is once you get past about five people, like when you're under five people, everybody's kind of got enough fingers in everything to where, you know, you just kind of all mind share, oh, well, Valentino was the last one working on that part of the code, so he's probably the best person to track down the problem, right? Even if it dives through something else that I touched, right? So it's my fault anyway. that out and then tell me, hey look, it looks like you're, it dives into what you were working on, so now you need to look at it. Once you get beyond that, that's where I see the problems start to crop up is after you get that sixth, seventh, eighth person in, and it sounds like your team's bigger than that, so kudos to you that it runs as smoothly as it does, because yeah, anyway, that's been my experience.
Jake_Yesbeck:
Yeah, for now. But I did want to talk about something that John brought up when we were talking about their transition or remote and how people thought that the talent pool would increase, right? Like now you can hire anybody from anywhere. And the, the, the flip side of that, which I don't know if you all have experienced this is hiring remotely. The interview process specifically for conducted completely remotely for engineers interviewing was already broken. Right. in our industry, but I feel like the Zoom meeting slash like Zoom whiteboarding slash take home slash whatever else kind of thing that people have adopted during the pandemic to evaluate engineering has really like made it harder to hire more junior developers, right? And also made it so it's just harder in general. And I, being the one that came up with the entirety of of our interview process at Nomad for engineering think I did a okay job, but I'm sure that some people think I didn't. So what have y'all experienced, whether it be like as conducting interviews remotely versus being maybe an interview candidate.
Charles Max_Wood:
I don't know, I've been through a couple of these just over the last year or so with the remote interviews, because I've interviewed with companies that were either not bringing people into the office because of the pandemic or because they were not close. And there are systems out there that you can kind of set up some kind of a setup, so that where I logged into like some website and it was like, they were like, okay, now we need you to find, this set of data out of the data set and we need you to write code that's going to take this data and you know this array and turn it into this other data right so they put me through some of that and you know did some of the video calls and things like that where they could kind of get a feel for who I was and you know chat with me about whatever they wanted to chat with me about and and I think a lot of that that wasn't available say five years ago I mean I remember And yeah, you could get on a video call, but it wasn't as common. And so, you know, I'd talk to people on the phone and, you know, I'd send them something and hope, you know, have them send me back the result. And I think nowadays you have a lot more options as far as how you interact, similar to how you're interacting on your team. And so you can conduct your interview with a lot of those things, just see how they do and then, you know, make a decision. this all the time is some of the problems you're not going to find out until you've worked with them for 100, 200, 400 hours. It's still a little bit of a crap shoot no matter how robust your process is. What you're looking for is you're looking for ways to evaluate where they're at and then to rule out as many red flags as you can.
John_Epperson:
Wait. I think that you, Chuck, actually maybe in your last statement, I think hit the thing that like kind of sums up how I feel about it because I also agree. I think that right now we're in a spot where I don't know how many talks I've gone to that talk about this or that like better way of trying to do interviewing. I feel like there's a couple of different things that you can do. You can either try and suss out whether the person can do the job and try and do a really good job of that. And the harder you work at that, the more degrading the interview process is for that individual, and the more likely you are to have a problem where you're filtering out the wrong candidates. For example, if you give people take-home work, you're typically going to be filtering out parents or other people that don't have a lot of spare time and you're going to be getting more people that have the time to put in extra to get that. If you do live coding interviews, you might catch some of those people that you just filtered out in the other way, but instead you're going to be filtering out people who don't do well performing live and things like that. Or maybe your interviewee is not very good at the thing, right? And so you're going to be filtering for people who, you know, understand, you know, the person that's doing the explaining and filtering out all the people that don't. So like there's a lot of ways that you can accidentally filter out good candidates no matter what you do. And like, so for me, like, I don't know if there's like an exact great universal rule. I feel like the most important thing to be doing is decide who you you want to work at your place and you probably need to be constantly reevaluating your interview process to decide if you're actually succeeding at that. Because there's a lot of ways to fail. I mean, shoot, I know one of the ways that we've been doing or trying to fix problems recently is like, hey, I want to get as many people in front of the candidate as possible because I want to get a lot of different opinions because I don't want to have this one gatekeeper per person. And I don't know about you guys, but like I've gone through some Gauntlet interviews and man, I mean they're very very taxing on the people that are interviewing. So like there's a lot of pros and cons to a lot of these different solutions and I don't see, at least not right now, I don't see something that's... this is just a great all-around way to do your interview. Like I don't see a lot of that. There's so many cons to just about everything out there.
Jake_Yesbeck:
Yeah,
Charles Max_Wood:
Mm-hmm.
Jake_Yesbeck:
I think I agree with that. I think that, uh, to your point, filtering out people in the pandemic, because everything was remote who were parents. Maybe those people wouldn't have been filtered out if it was not the pandemic and they were doing an in-person interview, right? Cause they would have taken the day that had gone into the office that had done the thing. Sure. Um, yeah, it's, it's a struggle. You know, I was just kind of trying to highlight, like, I wonder if the remote work and like us being able to work for everyone anywhere, like, and how the along with that. Like, is it better? Is it worse? And I think it's kind of better in some ways and worse in others. I actually, funny enough, wanted to... I got all the way to the point where I'm saying, like, I'd rather just hire this person temporarily and have them literally do the
Charles Max_Wood:
Mm-hmm.
Jake_Yesbeck:
job. And then, you know, that has its own set of issues, right? Health insurance and people needing a stable, reliable job. So they just won't take that chance. And so, yeah, there's a lot of Thanks for watching!
Charles Max_Wood:
Yeah, but I think, and this is the mistake that I've seen companies make over and over, is that they don't know who they want. And then they don't, so they're not selecting for the people they want. And then they can't figure out why they're not getting people who are working out the way that they wanted. And if you're explicit about that and you know what kinds of questions are going to lead you down the road, what kinds of interviewing practices are going to lead you down the road to getting that person, that solves a lot of your problems. then it's, hey, look, we're looking for somebody who is not going to cause these problems that we seem to see crop up over and over and over again. And we're also trying to hire somebody who maybe has some experience or expertise in this, that, or the other part of Rails or Frontend or whatever that can help us move things along to the next place. And so then you're interviewing for those things and you're much more likely to at least you know where you can put them and isn't going to cause the problems that you know are red flags for your organization.
John_Epperson:
I think it's also important as an organization to acknowledge. I mean, I think this is actually really hard for organizations, and it's
Charles Max_Wood:
Yeah.
John_Epperson:
more like this is what they should be doing and they're never going to because of reality, but acknowledging when the problem isn't the candidates, but them, you know? If you keep having the same problem over and over again, you mentioned that and I was like, well, I feel like if it keeps cropping up, is it really the candidate field? I guess it's possible. But
Charles Max_Wood:
Yeah, no,
John_Epperson:
I...
Charles Max_Wood:
you're right. More often than not, it's not the candidate field if it's a repeated problem.
John_Epperson:
My favorite articles are the ones where you see business owners complaining that they can't hire people because everyone wants too much money and I'm like, so the price for labor has gone up and you're upset about it. Got it. So if you
Charles Max_Wood:
Yep,
John_Epperson:
can't afford
Charles Max_Wood:
pretty
John_Epperson:
that
Charles Max_Wood:
much.
John_Epperson:
labor then you shouldn't be in business. Maybe that's a little cold but that's...
Charles Max_Wood:
Yep. Yeah,
John_Epperson:
Okay, sorry,
Charles Max_Wood:
you don't wanna do
John_Epperson:
off
Charles Max_Wood:
it
John_Epperson:
track.
Charles Max_Wood:
yourself. You don't wanna do it yourself and you're not willing to pay the price to not have to do it yourself. Anyway, I think we're kind of winding down, so I'm gonna push this to PICS. Jake, if people wanna get ahold of you, they have questions about anything we talked about. How do they find you?
Jake_Yesbeck:
Yeah, you can find me on Twitter, Jake Yesbeck. You can just Google Jake Yesbeck and I will come up. I think I might be the only Jake Yesbeck in the world. So yeah, just Google me.
Charles Max_Wood:
You're definitely our favorite Jake Yazbek. All right, let's do some picks. Valentino, you're first on my screen. Nice. John, what are your picks?
John_Epperson:
All right, well, I have a little bit different ones. I've actually been a Flutter developer for the past two weeks. So,
Charles Max_Wood:
Oh
John_Epperson:
yep, I had just been
Charles Max_Wood:
Traitor.
John_Epperson:
working on a project. Well, I've been moving this React Native project over to Flutter, and I'm not ready to make a judgment call on what I think about it yet, but I'll let you guys know once I'm done with it. But it's a mobile app, so sorry guys, it's not written in Ruby or anything. So I haven't actually been touching any Ruby really the past couple weeks, if I'm honest, other than fixing a couple bugs and things like that. But in my off time, I have been hitting up this really old game called Terraria, which you guys may or may not have heard of. It's forever old. And I've just been enjoying a lot of that. So I'm throwing that out there as one of my picks. So yeah, anyway, so if you're not familiar with it and you are vaguely familiar with what Minecraft is you can kind of think Of it is like a 2d minecraft But it also has like a lot more of like the adventure elements that you would expect from like I don't know like an RPG game or something So so there's that going on and then my other pick Is kind of like a little bit of like self help ish kind of I don't know PSA kind of thing so a was we just found these brown specks in it, like on our clothes and things like that. And what it turns out was it was, I guess, mildew growing. You know, we had this pretty nice washing machine and we'd done all the things that we were supposed to do, leave the lid open after a load so that it doesn't
Charles Max_Wood:
Mm-hmm.
John_Epperson:
get all musty and stuff inside. But I guess the machine doesn't, this particular model didn't clean itself properly. We found something online at that fact and we kind of followed the thread and found somebody that had like taken their washing machine apart and they're like yeah if you like clean it all the time like it cleans up to here and he shows like this video of like this perfectly clean bottom of the barrel thing or whatever in there but the rest of it like up top was like super brown and everything because it would just grow moldy up there and it would never get cleaned and ours was exactly like that so we took it apart cleaned it all out did all the things brown stained clothes so it's great anyway so doing it cleaning or fixing your own stuff sort of thing
Charles Max_Wood:
Cool. Yeah, I'd be interested to see, get your take on React Native versus Flutter. Dave, what are your picks? Awesome. I'm gonna throw out some picks. I usually start with a game pick. trying to remember the one that I picked on the other shows this week and I am drawing a blank. So... What was that one called? I just, anyway. I guess I'll just skip it this week. I'm sure I've got some. I'll do a game that I've been playing on my phone. I kinda in high school and stuff got into Diablo and Diablo 2. And they have a game for your phone now as Diablo Immortal. And it's pretty fun. I've been enjoying that. Most of the quests and stuff, I can play it just long enough and then put it down. Then I can pick it up and teleport to the waypoint and pick it up where I left off. Or I can go chase down a bounty or I can chase down one of the quests for... I'm a shadow, not an immortal. I can chase down one of the contracts and do that. Again, don't take terribly long to do. I'm enjoying that as just get a break during the day. I'm gonna pick that. And then, yeah, Rails RemoteConf. I'm just gonna plug it again. CFP is open. I'm starting to fill in some of the speaking slots. And anyway, it should be awesome. If you wanna sponsor, you can come sponsor it. If you wanna speak at it, you can come speak at it. Or you can go to railsremoteconf.com and go get a ticket. And it's gonna be, for the first two days, you get a four-day ticket for all four days, or you can get a workshop ticket that's all four days plus the workshops. I'm going to be doing two of the workshops, and then if you want to do a workshop, you can do a workshop too. I'm splitting the difference between the four-day and the workshop with the workshop teachers and instructors. If you get 10 people in there, you can make a chunk of change. picks Jake, what are your picks?
Jake_Yesbeck:
Well, my son recently started daycare for the first time so my pick is Tylenol because we have had various illnesses and Him and us and so really it's getting us through the day and making our lives not so miserable so That's my pick in technology You know, it's, it's not new, but it's reliable. If I had to choose a new application to build, I would choose rails every time. Every time. So I pick rails, Tylenol and rails. I think that'll do me till 2030 or so.
Charles Max_Wood:
Sounds good to me. All right, well, we're gonna go ahead and wrap it up here. Thanks for coming, this was a lot of fun. And hopefully we gave some folks some ideas if they're new to remote, or if they've been doing remote for a while and looking for a solution to something. If you have other tips for remote work, feel free to drop them in the comments. I'd love to see what you all are doing that's working for you. And until next time, folks, Max out.
John_Epperson:
care.