DEV Community

Cover image for How We Work on the Tower Git Client
Kristian Lumme for Tower

Posted on • Originally published at git-tower.com

How We Work on the Tower Git Client

The team behind the Tower Git client has been fully remote since 2015. During this time, we've faced the challenges of getting things done without sharing an office, but we've also seen the benefits. Working on Tower and associated tasks like support, marketing and websites in a completely distributed team has given us ample opportunity to develop our culture, and we've come to a few insights about how to work effectively remotely. We've had a post on how we work in the pipeline for some time and, as current world circumstances are bringing discussion on remote work to the forefront, we figured this would be a good time to share some thoughts and tips.

Culture and Values

"The best way to find out if you can trust somebody is to trust them."
— Ernest Hemingway

Any discussion of our culture has to start with trust. Trusting the people on the team is the foundation of our other habits, from asynchronous communication to self-direction. Some managers freak out if they don’t micromanage people — they feel they're not in control. We don't want to work in an environment where people only do things because they fear the consequences if they don’t. Finding people that care about what they are doing and who take pride in the accomplishments of the team is of paramount importance.

The rest follows quite naturally from the foundation of trust. We’re a small company and everyone is welcome to contribute their ideas and comments when it comes to what to work on. Given agreement on the most important tasks to focus on at the moment, people are expected to manage their own time, attention and priorities.

As mentioned, we eschew the “always available” culture and do asynchronous communication for the most part — we want most time to be available for getting things done, not taken up by responding to communication or sitting in meetings. If there is a truly urgent problem that needs immediate attention — like the website being down — we switch channels, to phone for example. In a similar vein, we are “offline by default”. This doesn't mean that none of us are connected to the internet (though some ISPs would argue differently); rather, it means that our default mode is to be working away without the distraction of having to respond to everything that comes up, or having to appear to be “online”.

Finally, we stick to a forty-hour work week, expecting people to put in their focused time and then leave work behind for the day.

Setting Expectations

When it comes to culture, we find that setting expectations is important! We document our expectations and choose tools that reinforce them. Knowing, for example, that urgent problems will be communicated through an appropriate medium helps to encourage the default mode of asynchronous communication in day-to-day work. Most importantly, we try to live by our word. If everyone around you responds to all communication in three seconds flat, that's the culture, not whatever the document says. Finding that others embrace these principles makes you comfortable doing so as well.

Needless to say, we didn’t have everything figured out regarding distributed culture coming out of the gate. On the contrary, like probably every other company making the switch from co-located to remote work, we were stuck in our old ways to begin with. This included undocumented workflows, many all-hands meetings but no recurring formats, synchronous communication, and a lack of tools. The processes outlined here are something that we’ve developed through the years, and that we expect to continue developing in the future.


Tools and Software

“To the man who only has a hammer, everything he encounters begins to look like a nail.”
— Abraham Maslow

Technology is what allows us to implement remote work in the first place. Naturally, we use a large number of different services and applications, including but far from limited to Twist, email, GitHub, Asana, Zoom, Confluence, Calendly, and Google G Suite to get our work done.

What tools you use is not the most important thing, but you can choose tools that align with and reinforce your culture — or clash with it! As an example, though we’ve used Slack in the past, we now use Twist as a team chat tool. Twist does not show online/offline indicators or who has read a particular message. It does allow for organisation of topics and gives you control over who gets notified for a particular message. This alleviates the feeling that you need to respond right away and helps you find the important points in a discussion even at a later date.


Challenges

“With freedom comes responsibility.”
— Eleanor Roosevelt

When it comes to working together, not seeing each other in person can create friction in a variety of ways. Sharing and understanding current status, progress and any blockers takes deliberate communication. Through text communication or even video chats, communicating and reading emotional state can be hard. A comment that comes off as friendly or joking in person might come across as blunt in an email, and it’s hard to gauge if a person needs some support with what they’re doing or if they’re happily working away and best left alone for the moment. Learning to communicate effectively through text is a requirement — this may present a challenge, but may also cultivate clearer and more thoughtful communication.

Connecting People

In addition to the professional aspect, only meeting your colleagues through text communication, with the occasional video chat, can feel challenging on a personal level. In short, remote work can feel lonely! You may not be quite up-to-date on what’s happening in the life of the people you work with. We do a few things to alleviate this, including peer 1-on-1s and weekly check-ins... but the truth is that in a distributed team, you have to be deliberate about nourishing your personal connections outside work, as you’re not going to get quite the same personal contact on a daily basis that you would get in a co-located team.

Nevertheless, we do try to combat these issues by meeting in person three times per year (in non-COVID times, that is)! The get-togethers are great opportunities to get to know each other a little better, and we find that the better you know the people you work with, the easier communication becomes. When it comes to day-to-day communication, we also find that too much is better than too little. We try to be open about what’s going on in our lives and our work, including the challenges — not only does sharing these things with your peers feel good, but it also helps them understand where your mind is at.

Discipline

People have joined the team with varying amounts of remote-work experience. Regardless of at what point in your life you start working remotely, there is a learning phase. When working at a dedicated office, the start and end of your workday are naturally delineated and the environment provides some discipline by itself. When working from home, you quickly find that you need to learn that discipline, and that if you don’t set routines for yourself, there will be none. The routines help establish boundaries between work and life outside of it. As you’re largely your own manager, organizing your own time and tasks is a must.

If you have kids or other family members around, it may be difficult for them to understand that you are present but not available for interaction. Personal relationships may require more effort, as staying inside becomes easier. The same goes for physical movement — it’s easy to underestimate how much commuting to an office makes you move around but if you spend all day, every day on your couch, you’ll notice the difference!


Benefits

“You mind putting on some pants? I find it a little weird I have to ask twice.”
— Phil, The Hangover

The freedom of being able to choose where and when you work is a benefit to a degree which really can’t be overstated. Some people are more productive in the mornings, others in the evenings, and as our many team members with kids can attest to, being able to structure your day to give you lots of quality time with your family members is priceless! Having complete control over your working environment (well, apart from aforementioned kids…) is also very helpful. There’s also the benefit of not having a commute, which can save you a lot of time per day.

As previously mentioned, in our distributed team, you take on a lot of the responsibility for managing yourself and taking ownership of your projects. The responsibility can be challenging, but also communicates trust and inspires you to bring your best. Owning a project makes it more meaningful to you than if you were just handed task after task from someone else, without much say about which problems to solve and how to solve them.

People and Processes

With a co-located team, a company is limited to finding employees among those living in or willing to relocate to a specific area. Remote work greatly increases the available talent pool, as you’re basically looking for people from the whole world. In practice, time zones are a consideration, as it’s helpful to have a bit of everyone's workday overlap, but with some flexibility you still have a lot of places to choose from!

Working remotely also helps you document processes and decisions — simply because you have no other choice! This can bring clarity and thoughtfulness to processes. The fact that everything needs to be written down may feel like extra work initially, but very quickly, you find that it saves a great deal of effort. In addition, the documentation is immensely useful when onboarding new members of the team.

How about cost? Not necessarily, though this is a common perception; while not having an office is a cost saving in itself, the costs for travel and get-togethers along with some extra tooling for remote work add up so that reduced costs are not necessarily a benefit of being fully remote.


Final Words

A common theme among the challenges and benefits mentioned above is that remote work forces you to be deliberate about many things that happen by themselves in a co-located workspace. Routines and work/life boundaries must be constructed with intent. Communication, whether about work or something personal, takes effort and care. The same goes for personal connections, status updates and even exercise. However, having to think about these things explicitly sooner rather than later may also be very useful! Being intentional up-front instead of having processes and decisions “just happen” helps with clarity and with creating good habits, and may also make any problems apparent sooner. This way, many obstacles can be turned into assets.

That’s about it for this look at the way we work on Tower. Remote work certainly brings its challenges, but for us, this is still an amazing way to work. A culture based on trust reduces overhead and inspires everyone to take responsibility for moving things forward. Self-direction and self-motivation are a must, as are building routines, nourishing your personal connections outside work and taking care of your health.

If there’s some aspect of our work culture you’re interested in hearing more about, feel free to reach out — maybe there is material for another post looking at some topic in more detail.

Until next time, hope you are all staying safe and looking out for each other!

Top comments (0)