00:00:12.000
Well, thanks a lot for coming! My name is Dave Copeland, or Dave Tron 5000 on Twitter.
00:00:17.140
I'm going to talk about how to be an effective remote developer. I hope so! I spent the last four and a half years as a remote developer.
00:00:28.900
I was one of the first engineers at Stitch Fix, a personal styling service for men's and women's clothes. When I started, we were a very small, scrappy startup, and I was just writing code as one does in that situation.
00:00:43.690
However, due to the way we work at Stitch Fix, my role has changed over time. I was a tech lead of a small team and now I am a manager of several different teams.
00:01:02.590
I've worked with a lot of different people, not just developers. Certainly, I work with many developers, but I also collaborate with the business people who run Stitch Fix and the vendors that we rely on, all of whom have been remote.
00:01:15.970
This remote working situation is typical at Stitch Fix. We now have over 70 engineers, and most of the engineering work is done remotely.
00:01:29.350
Over half of the engineers do not live in the Bay Area. Although we're headquartered in San Francisco, most engineers don't live there.
00:01:43.690
Those who do live in the Bay Area certainly come to the office, but they don't necessarily come in every day—there's a lot of remote work happening.
00:01:58.899
So, what does it mean to work remotely? When I was thinking about this, it occurred to me that people work remotely a lot more than you might think. If you think about what that means...
00:02:16.070
You do not often interact face-to-face with the people you work with. It’s not a great sentence, but I think it gets the point across.
00:02:29.360
You go somewhere and do work; maybe that's a coffee shop, maybe that's your basement, and you work with people, but those people often aren't there.
00:02:38.360
That's the situation I mean by remote. If you think about it like that, you'll realize there's a lot of remote work happening in the world—not just with developers. We also have the 'lone wolf' remote experience.
00:02:58.899
This is the hard mode of remote work when you are by yourself, and everyone else you work with is at another office. However, we have 'easy mode,' where everyone is distributed and there is no office.
00:03:13.150
You could go to an office every day, have a commute, and sit at a desk, but if the people you work with aren't in that office, you are still a remote developer.
00:03:29.220
So, what does 'effective' mean? Obviously, producing some value is important—your company is paying you to do things, and you need to do them.
00:03:39.810
However, you also want to work on something valuable. You want to ensure that you’re focused on the right things—the things that are useful to others.
00:03:54.790
You also want to have some level of agency; you don’t want your job to just be closing JIRA tickets all the time. You want a broader effect on the team, the people you work with, and the company.
00:04:09.810
You want your experience to be rewarding. No one wants their job to feel meaningless, and to the extent that having a job is a necessity, you want it to be as rewarding as possible.
00:04:20.940
Now, I don't want to imply that you get these things for free just because you go to an office.
00:04:36.830
However, you do get some of these things automatically by being in the same physical space as your coworkers. The implicit level of effectiveness you can gain from being around others increases your ability to achieve these goals.
00:04:56.540
As a remote worker, you will have to work a little harder and be more intentional in your behavior to ensure that these things happen.
00:05:06.540
There's not a week that goes by that I don't think about my remote experience or the experiences of my colleagues, and it does require constant upkeep.
00:05:19.170
It is not what I would call easy; it’s not impossible, but it is part of my job to focus on making our remote experience good.
00:05:33.660
Who here works remotely most of the time?
00:05:40.289
It's totally worth it because you gain a level of freedom and flexibility that you do not get by having to go into an office.
00:05:55.570
I don’t have to commute anywhere at all. I can make lunch in my kitchen, which is stocked with my preferred snacks instead of everyone else’s.
00:06:04.960
I can work outside if the weather’s nice; I don’t have to use a public bathroom.
00:06:13.620
The best part about working remotely is that I don’t have to live in San Francisco.
00:06:23.590
My favorite thing is not living there. No offense to San Francisco, but I don’t want to live there.
00:06:37.260
The company benefits too. Stitch Fix is glad that I can make lunch at home, but they gain access to a wider pool of talent.
00:06:54.130
If Stitch Fix had decided that every engineer had to come into an office in San Francisco, it would have taken us much longer to build the team we have.
00:07:04.310
That would have made it harder to build the type of team we currently have, and it would have led to a significant impact on the company’s growth.
00:07:11.950
Because we committed early on to making remote work, we’ve been able to find talented individuals from all over the place.
00:07:27.150
There are exceptional developers who don’t live in San Francisco, and we have many of them on our team.
00:07:42.490
I want to emphasize that this talk isn’t technical; I won’t talk about Slack or anything like that.
00:07:56.790
You need to invest energy in building and maintaining trust with people you don’t know and with those that you do.
00:08:16.250
This constant effort forms the backbone of our success in remote working.
00:08:27.370
I want to share four mindsets that guide behaviors driving trust among team members. These are: communicate frequently and clearly, be responsive but set boundaries, assume good intentions, and help others to help you.
00:08:44.750
The first mindset is that you have the power to create a good remote experience.
00:09:01.170
However, we must briefly chat about technology. The biggest issue with being remote is that you’re not physically present.
00:09:16.010
You can't go to someone’s desk to talk; you must rely on technology to communicate.
00:09:29.080
So, you’ll need a chat system that everyone can use and check regularly. This is critical for effective communication, and it should be something non-developers can easily access.
00:09:44.200
You also need a video conferencing system that accommodates multiple participants. Tools must be user-friendly and include calendar invites.
00:10:05.680
A decent microphone is also essential. The experience people have of you is mainly through video conferencing.
00:10:17.800
You can’t control the crappy internet or awful software involved, but you can control your microphone input.
00:10:31.500
Your laptop mic is often inadequate. Apple earbuds are fine and like I mentioned, it’s about finding something that works.
00:10:47.350
Now, let's return to the harder part of building and maintaining trust. I want to talk about behaviors tied to various tasks we do as developers: coding, communicating asynchronously, engaging in synchronous discussions, and socializing.
00:11:05.290
When it comes to coding, remember that that’s what you were hired to do. Your outputs matter—they are your work product.
00:11:20.400
Think about what it’s like to walk into a room full of developers. They’ll be typing on keyboards, and the visual aspect creates an impression of productivity.
00:11:36.080
When you’re remote, there’s no visual indicator that you’re working. Trust needs to be built by showing that you produce results.
00:11:51.680
One approach is to break larger projects into smaller, manageable tasks. Find ways to deliver parts of your work quickly.
00:12:04.370
A small change is easy to understand and can generate quick feedback. This not only builds trust but also demonstrates your ongoing productivity.
00:12:19.260
You also want to think about how to communicate effectively about these changes. It’s essential that others understand what you’ve done.
00:12:34.120
When submitting changes, whether via pull requests to GitHub or another method, ensure you explain your work clearly.
00:12:48.360
Every time I document a change, I aim to structure it to provide clear insights into the problem I’m solving and my solution.
00:13:06.080
This way, even if it is the only chance for others to review my work, they will have the context they need.
00:13:26.830
Additionally, learning to screencast can be invaluable. In the early days at Stitch Fix, I didn’t have an easy way to share my work.
00:13:46.120
I would run applications on my laptop and screencast while explaining what I was doing. This method allowed me to communicate effectively without relying solely on written communication.
00:14:03.130
Learning to create effective diagrams can also improve communication. Both tools enhance your ability to convey information quickly and clearly.
00:14:20.490
Regarding responsiveness, setting boundaries is crucial. Start with setting your working hours, especially when working across time zones.
00:14:38.750
I include my time zone in my email signature, and I make my working hours clear in my calendar.
00:14:56.540
If someone schedules a meeting outside my working hours, I kindly let them know, as a way of setting boundaries without being rude.
00:15:13.660
When seeking feedback, be responsive. It shows you’re engaged and helps retain the context behind feedback.
00:15:30.700
It’s important not to develop a workflow that isolates you from communication.
00:15:47.510
When working, keep an eye on communication channels, as being unresponsive can alienate colleagues and limit your effectiveness.
00:16:04.990
Establishing trust takes time. Early in a remote setup, being responsive is crucial because it helps build rapport with your colleagues.
00:16:17.660
You should assume good intentions, especially regarding code reviews. These can be tough to accept, but it’s vital to approach feedback positively.
00:16:36.330
Remember, peer reviewers' comments are meant to improve the project overall, not to criticize you personally.
00:16:50.780
If a communication isn’t yielding a productive outcome, consider switching mediums, such as jumping to video.
00:17:04.810
Being specific when asking for feedback enhances the process; when you clearly articulate what you need, people can engage more effectively.
00:17:18.930
The same principles apply to asynchronous communication. Try to provide more context in your emails, sharing documents, or through texts.
00:17:32.950
Context is essential to convey messaging clearly, far more than in conversation.
00:17:45.560
Being a strong writer will serve you well both professionally and personally.
00:18:00.310
Take time to revise your messages, ensuring clarity and correct phrasing. Typography also matters; use paragraphs, headers, and bullet points.
00:18:14.340
Furthermore, diagrams can significantly aid communication, especially for complex topics.
00:18:27.930
Finally, in many instances, being responsive connects you to your coworkers and elevates team dynamics.
00:18:40.450
Affirming feedback is equally important. Praise should also be specific and detailed.
00:19:00.780
Such reinforcement fosters a collaborative culture and supports trust.
00:19:15.570
Assuming good intentions means everyone in your team can thrive together, despite different communication styles.
00:19:29.580
Regardless of how frustrating it can be, try to remain open-minded and give people the benefit of the doubt.
00:19:44.140
Help others to help you. Determine what feedback you want. This invites input into the work you do and strengthens relationships.
00:20:00.050
In async communication, provide clear questions or prompts to guide those interactions and yield better feedback.
00:20:12.380
Synchronous communication can be challenging. Sometimes it's easier to speak face-to-face rather than through screens.
00:20:28.840
To improve engagement in those situations, you need to be prepared with your contributions. Knowing your subject matter builds confidence.
00:20:47.430
When discussions happen, be sure to use nouns instead of pronouns. This minimizes confusion and improves understanding.
00:21:03.100
Pause frequently and ask the group for clarity. Engaging others in discussion yields fodder for more in-depth conversations.
00:21:16.560
It’s essential to resist multitasking during video calls. Such distractions lead to lost context and disengagement.
00:21:30.050
If interruptions occur, be transparent about needing clarity in discussions and invite pauses for questions.
00:21:47.620
Lead by example; watch for others who may be less willing to engage in conversations. Point them out for their insights.
00:22:04.110
Self-awareness is crucial in these interactions—always seek feedback to adjust and improve your contributions.
00:22:19.320
Empathy should also be part of the equation—recognize the struggles of others and support them.
00:22:36.130
Conveying the frustrations of technology during discussions can create a bond, as you all face similar obstacles.
00:22:51.650
When dealing with audio/visual issues during meetings, take on the role of facilitator and guide others.
00:23:10.160
If possible, find an ally within the organization to monitor back-channel communications and address issues without interrupting the flow.
00:23:25.090
Let's talk about socializing. In an office, people learn things about you through typical day-to-day interactions.
00:23:40.450
For remote workers, those interactions don’t happen naturally; you're going to need to make an effort.
00:23:54.560
Engage in small talk—weather is a safe topic to start with and can help bridge personal connections.
00:24:14.640
Consider scheduling informal one-on-ones with colleagues to build camaraderie, even without work agendas.
00:24:28.450
Socializing can also be challenging when you travel for work; be clear about the travel expectations upfront.
00:24:41.320
Express your concerns regarding travel in advance, as it may not be apparent to your employer.
00:24:55.320
However, if possible, prioritize in-person meetups to strengthen relationships, as these experiences replenish trust.
00:25:12.420
People can want to engage during in-person interactions; let them know you're open to sharing!
00:25:30.840
Don’t shy away from being genuinely open, but also recognize that you can protect your boundaries.
00:25:42.640
Travel is just one example; you can suggest a meeting to have coffee if you find coworkers nearby.
00:25:56.290
Be creative in your efforts to build relationships.
00:26:11.320
Ultimately, take initiative in proposing social events or opportunities to meet in person.
00:26:27.690
All these little moments build trust, and when trust is established, you'll be more effective at your job.
00:26:44.320
The focus should be on frequent communication, responsiveness with clear boundaries, assuming good intentions, and helping others help you.
00:26:59.740
I invite you to connect with our company and to share experiences about remote work.
00:27:13.000
We can offer more insights into how we foster a successful remote work culture.
00:27:30.360
Thank you for your attention!
00:27:47.130
Let's take a moment for questions.
00:27:57.050
When there's social events and business talk happening together, that could be challenging.
00:28:10.240
It can be difficult to get to know your company's culture from afar, but asking direct questions can be helpful.
00:28:23.050
Establishing a good visitation frequency can vary; I started doing every two months.
00:28:39.050
Currently, the team meets every three months, and this seems to work well.
00:28:57.350
Thanks a lot, everybody!