For the last three years I’ve been an architect on the Hipchat team working remotely, with the rest of my team working far, far away from me in San Francisco and Austin.

People talk a lot about remote work these days, but as with most things, you never truly know until you’ve experienced it. I’ve learned quite a bit about remote teamwork along the way as an architect and developer. Here are some of the highlights.

1. Put people over product.

在短短的一年中,我的团队从一个亲密的八人组中转变为一百多人。在一段时间内,这是很多增长。随着越来越多的人加入团队,我发现自己专注于出门所需的许多功能,而不是训练和入职新开发人员(基本上是为自己养活的)。

As an architect, I should have realized how short-sighted that was. As an Atlassian, I should have realized that我们对团队合作的价值观比我们的代码更重要。

meeples sized

像不好的第一印象,poorl加载完成y can leave lasting damage that takes a long time to repair. On-boarding is about much more than teaching a developer where the source code is located, it is about communicating and living your company values, in our case, “Play as a team” or “Be the change you seek”.

Personally sitting down and working shoulder-to-shoulder with a new team member imparts far more valuable information about your values than a hundred powerpoint presentations. When someone new joins a company, they come with a fairly blank slate for how things work and what is expected from them, so it is essential for them to see a team’s values in action and be given early opportunities to build relationships and contribute value.

课:Let that new feature release slip by a week. Sit down with a new team member and work on something together. Let them see rather than just read about your company’s values. Put aside the inconvenience of traveling for work and make that extra effort to connect with a new team member. The impression you give them, the relationships you build and the sense of purpose you instill will benefit the company far more than one week of coding.

2.所有权比完美更重要。

在一个特别忙碌的工作时期,我的团队吸引了一群新开发人员,他们的学习曲线陡峭。作为开发人员,我担心该代码的质量和一致性,因此我尝试审查并就系统的每次更改进行咨询而加倍。我可能有点霸道。回顾过去,我希望我意识到所有权的价值,以及人们感觉自己在做的事情是他们的工作是多么重要。

In my world, these types of extra duties might be fixing what’s broken, cleaning up unnecessary elements, taking time to improve the design, or writing documentation. These tasks often aren’t reflected Jira tickets or roadmap plans, but they’re part of the day-to-day work that keeps a codebase clean and flexible.

Without ownership, developers do the absolute minimum required, causing the code base to become a dumping ground for different and often conflicting styles and patterns. And this can have a serious impact on morale when the language, frameworks, or code are unfamiliar. This isn’t about one architecture or another. It’s about onboarding and empowering developers.

教训:代码的方法Devops的心态,which encourages giving ownership to others. It is hard to trust someone new with your baby but find a way through onboarding, pairing, frequent trips, or even solving production failures together. Historically, Atlassian has given every developer write access to all products because that was the kind of open, trustworthy culture we wanted to create. If that’s not an option for you, find a non-critical part of the project they can dig into and feel like they own.

3. Define your role clearly.

当我2006年开始在Atlassian开始时,工程头衔是开发人员,高级开发人员和创始人。就是这样。尽管从那以后我们已经成长了很多,但我喜欢将我们所有人都视为开发人员为为客户制作出色产品所需的任何事情。但是现实是,随着组织的发展,需要更专业的角色来与代码和客户数量进行扩展。

A title is more than an ego boost, it is a way to communicate what you are (and are not) responsible for. Simply telling new folks your title isn’t enough, as it can be interpreted differently with every new person that hears it. Again, getting this wrong can cause long-term damage and be a factor in future disagreements or missed connections. Therefore, not defining your role isn’t about just you. It is about not hurting your team, your project, and ultimately, your customers.

Architect is a title that has traditionally been a source of confusion not just at Atlassian but also in our industry. When I was the second person at Atlassian to receive this title, I figured it just meant a more senior developer, someone outside the normal planning process.

当我成为集成架构师时,我必须尝试协调不同的Atlassian Architects的活动,我意识到有必要定义职位描述,并且我试图这样做,结果好坏参半。即使到了今天,这个定义似乎也处于不断变化状态。无论如何,尤其重要的是,您的团队清楚您将扮演什么角色以及越早完成的角色,事情将会更容易。

课:在您的任期开始和每次入职时, sit down with team members and talk about what you expect from them, what they should expect from you, and what shouldn’t be expected from either side. It is sometimes more important to discuss what aren’t your responsibilities than what are.

4.音调在线很重要。

正如我们几乎所有人所经历的那样,面对面的交流与在线沟通大不相同。在不同的在线环境中如何交流甚至存在差异。例如,您采用什么语气或在个人聊天或电子邮件中使用什么单词可能不适合大型团队聊天室。

在一个大的聊天室中,您可能与每个成员没有牢固的个人关系,他们对您的印象可能仅通过聊天沟通来实现。Chatis such an abbreviated form of human communication without all the nuances of facial expressions, body language, and tone, that the bits the reader fills in the gap may not match your intention. For example, what is meant as a joking, “wtf dude?” could be read by someone that can’t see you as an offensive attack.

聊天大小

To add another layer, what words may be appropriate in one culture aren’t necessarily appropriate in another. For example, from my time working with the US Navy and then later in Sydney, I picked up a habit of swearing like a sailor and telling it like it is. While these habits are well understood by my friends from these groups, another group could take them as wildly inappropriate.

课:小心您如何在大聊天室进行交流. Even if you know each member at the time of the chat, others could read it later and develop an unexpected impression of you that you might not find out until it’s too late. I once heard that remote communication is opt-in, whereas local is opt-out. Make sure they want to opt-in.

5.远程友好型不一定是遥远的。

Hipchat being a chat application itself, we believe in the concept of remote office collaboration and we are remote-friendly. We operate in three major offices (Sydney, San Francisco, and Austin), and have local and remote workers spread out across at least eight different time zones. Even with the way we live and breathe remote collaboration, there are still gaps between this vision and a true remote-first culture.

一个特殊的肇事者是在午餐时或会议后在当地人之间或走廊上进行的面对面对话。这些对参与人员来说是很棒的,但由于他们完全是本地的,因此远程团队成员无法发表自己的看法并代表他们的观点。

If these hallway conversations aren’t communicated in a timely manner they can create a rift in team consensus, and sometimes create lasting hard feelings. Similarly, local people can feel threatened by unexpected or uncommunicated changes initiated by remote folks, and remote workers can be frustrated by decisions made in their absence or personal issues that aren’t communicated in a timely manner. It really is all about communication.

atlassian_places-14

Remote-first teams adopt a structure both for communications and processes that allows each member, regardless of where they live, to be included in major and minor decision making, daily collaboration, and social interactions.

The best example I can think of is from my time at theApache Software Foundation. In ASF projects, every single decision had to be proposed and approved on the single developer mailing list. This process took a lot longer than putting 10 people in a room for two hours, but it leveled the playing field for all team members.

课:Be very cognizant of the culture of the team you join as a remote employee. Find a way to create a remote-first team of remote or remote-friendly workers that can own a project and its execution independently. Failing that, ensure all decisions are made transparently and include remote workers as appropriate, leveraging time zone-friendly online tools and processes.

最大程度地减少您需要创建和维护的远程关系数量来完成工作,并且不认为了解远程办公室中的一些关键人物就足够了。与可能不同意您的建议的偏远团队成员一对一地识别和联系一对一;不要等待被告知存在分歧,因为为时已晚。

Final thoughts

As my experience has shown me, being an architect is about so much more than code, frameworks, or system design—it’s about people and teams. If you are hired on a team, you are technically qualified to be there. What is less obvious, and admittedly more difficult to remember, is the importance of the non-technical bits. There seems to be a happy medium between getting shit done and singing kumbaya around the fire. While I’m still figuring out where the right balance is, I’ve learned that focusing on the long-term is much more impactful than getting bogged down in the details of the short-term.

本文最初发表在Atlassian博客上,并经许可重新发布.

最初发布于2020年1月27日7:00:00 AM,更新于2020年3月13日

Topics:

Remote Working