Presentation: The Effective Remote Developer
What You’ll Learn
- Learn how to become not only a productive member of a distributed development team, but also how to better communicate with, mentor, and guide developers from a remote location.
- Understand that even given all the tools such as video chats and conferencing, building and maintaining trust is the real key to working effectively with others remotely.
- Hear how Stitch Fix has built a culture of responsibility among its developers where code talks and showing demonstrable results speaks volumes.
Abstract
Being on a distributed team, working from your home or coffee shop isn't easy, but it can be incredibly rewarding. Making it work requires constant attention, as well as support from your team and organization. It's more than just setting up Slack and buying a webcam.
We'll learn what you can do to be your best self as a remote team member, as well as what you need from your environment, team, and company. It's not about technical stuff—it's the human stuff. We'll learn how can you be present and effective when you aren't physically there.
Interview
Dave: In a lot of companies I might have the title of architect, but it's very much not that title to emphasize that I'm working on projects. I'm thinking about the technology, whereas a VP of engineering or a CTO might be thinking about the people and the strategy; I'm thinking about whether the technology is going in the right direction and what am I doing to make it go in that direction.
Dave: Yeah, and in fact, the more you get away from coding 100 percent of the time and talking with people, the remote situation becomes harder. Video chat is great, but it's not the same as being in person. So, you really have to double down on being good at communication and being clear, forming relationships, and building trust with people. Because if you don't trust somebody they're going to think you're a talking head or a person that generates email and it's really hard. So, it's challenging but I think it's achievable.
Dave: It's tricky. We try to do things asynchronously, like a design doc, even if it's just a one-page, quick thing so we can be aligned before we before we sync up. Maybe write a spike of code and then talk about that in a pull request. But you have to schedule time if you want to be synchronous, so I'm still trying to figure it out, because I can't have a one-on-one with all 80 people that work for us. Do I have office hours or do I just focus on certain projects? I think that trying to decide what are the things that I just can't focus on so I can focus on these others is the only way it can work.Scheduling time to have ad hoc conversations is a little weird, but if you get past it it does work.
Dave: Yeah
Dave: One of our values at Stitch Fix is called responsibility and it's a mindset that means you take control of what happens to you as much as you can. So, what I've learned being remote is that responsibility. So, what I've learned being remote is that while I need the company to do things for me, there are many, many things that I can do that I have complete control over. And, I wouldn't do them without being intentional, and making sure I do them. And that is what makes it work.
So, Hopefully it will remind people that they are in control of their own destiny. And here are some specific things that if you do them consistently will help regardless of how much support you're getting on the other end.
Dave: One of them would be to adopt the mindset of assuming good intentions. Right so text is cold and harsh. Even these video conferences can be rough. But if you just assume everyone is trying to help and everyone is a good person and good at their job, then you're just going to approach every problem better. But you have to tell yourself that a lot before you learn it because it kind of goes against a lot of what developers feel. So, a lot of the stuff in the talk is about the mindset we need to adopt. And then there are a couple of behaviors that that mindset might drive.
Dave: In general, I would say finding a way to drive things to completion expediently. Remote or not, getting things done, showing a result that is demonstrable and clear is super-important. Because talking about a result is way better than talking about a theoretical thing you can do. Having a result is great. And that's what we're here to do as developers, is to get things done, deliver them and do it well.
Similar Talks
Tracks
Monday, 26 June
-
Microservices: Patterns & Practices
Practical experiences and lessons with Microservices.
-
Java - Propelling the Ecosystem Forward
Lessons from Java 8, prepping for Java 9, and looking ahead at Java 10. Innovators in Java.
-
High Velocity Dev Teams
Working Smarter as a team. Improving value delivery of engineers. Lean and Agile principles.
-
Modern Browser-Based Apps
Reactive, cross platform, progressive - webapp tech today.
-
Innovations in Fintech
Technology, tools and techniques supporting modern financial services.
Tuesday, 27 June
-
Architectures You've Always Wondered About
Case studies from the most relevant names in software.
-
Developer Experience: Level up Your Engineering Effectiveness
Trends, tools and projects that we're using to maximally empower your developers.
-
Chaos & Resilience
Failures, edge cases and how we're embracing them.
-
Stream Processing at Large
Rapidly moving data at scale.
-
Building Security Infrastructure
How our industry is being attacked and what you can do about it.
Wednesday, 28 June
-
Next Gen APIs: Designs, Protocols, and Evolution
Practical deep-dives into public and internal API design, tooling and techniques for evolving them, and binary and graph-based protocols.
-
Immutable Infrastructures: Orchestration, Serverless, and More
What's next in infrastructure. How cloud function like lambda are making their way into production.
-
Machine Learning 2.0
Machine Learning 2.0, Deep Learning & Deep Learning Datasets.
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS.
-
Optimizing Yourself
Maximizing your impact as an engineer, as a leader, and as a person.
-
Ask Me Anything (AMA)