Conference: Nov 5-7, 2018
Workshops: Nov 8–9, 2018
Presentation: The Effective Remote Developer
Share this on:
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: The audience is SWEs or senior SWEs.
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
-
Architectures You've Always Wondered About
Architectural practices from the world's most well-known properties, featuring startups, massive scale, evolving architectures, and software tools used by nearly all of us.
-
Going Serverless
Learn about the state of Serverless & how to successfully leverage it! Lessons learned in the track hit on security, scalability, IoT, and offer warnings to watch out for.
-
Microservices: Patterns and Practices
Stories of success and failure building modern Microservices, including event sourcing, reactive, decomposition, & more.
-
DevOps: You Build It, You Run It
Pushing DevOps beyond adoption into cultural change. Hear about designing resilience, managing alerting, CI/CD lessons, & security. Features lessons from open source, Linkedin, Netflix, Financial Times, & more.
-
The Art of Chaos Engineering
Failure is going to happen - Are you ready? Chaos engineering is an emerging discipline - What is the state of the art?
-
The Whole Engineer
Success as an engineer is more than writing code. Hear inward looking thoughts on inclusion, attitude, leadership, remote working, and not becoming the brilliant jerk.
-
Evolving Java
Java continues to evolve & change. Track covers Spring 5, async, Kotlin, serverless, the 6-month cadence plans, & AI/ML use cases.
-
Security: Attacking and Defending
Offense and defensive security evolution that application developers should know about including SGX Enclaves, effects of AI, software exploitation techniques, & crowd defense
-
The Practice & Frontiers of AI
Learn about machine learning in practice and on the horizon. Learn about ML at Quora, Uber's Michelangelo, ML workflow with Netflix Meson and topics on Bots, Conversational interfaces, automation, and deployment practices in the space.
-
21st Century Languages
Compile to Native, Microservices, Machine learning... tailor-made languages solving modern challenges, featuring use cases around Go, Rust, C#, and Elm.
-
Modern CS in the Real World
Applied trends in Computer Science that are likely to affect Software Engineers today. Topics include category theory, crypto, CRDT's, logic-based automated reasoning, and more.
-
Stream Processing In The Modern Age
Compelling applications of stream processing using Flink, Beam, Spark, Strymon & recent advances in the field, including Custom Windowing, Stateful Streaming, SQL over Streams.
-
Performance Mythbusting
Real world, applied performance proofs across stacks. Hear performance consideratiosn for .NET, Python, & Java. Learn performance use cases with OpenJ9, Instagram, and Netflix.
-
Tools and Culture: What's Beyond a Stack of Containers?
Containers are not just a techology. It's a platform. Push your knowledge.
-
Web as Platform
All things Browser, from JavaScript Frameworks for animation and AR / VR to Web Assembly and from protocol work to open standards evolution.
-
Beyond Being an Individual Contributor
Beyond being an individual contributor. Building and Evolving managers and tech leadership.
-
Building Great Engineering Cultures
Why engineering culture matters. Track features org scaling, memes as a culture tool, Ally skills, and panels on diversity / inclusion.
-
Hardware Frontiers: Changes Affecting Software Developers Today
Topics around: Quantum computing, NVM, SMR, GPU, custom hardware, self-driving cars, and mobile hardware.