To produce great quality code, developers need time slots where they can dive deep into a problem and get lost in the task at hand. That’s a challenge for a software development agency like us with many different projects and clients who want us to respond quickly to their requests.
Our policy is that people need to reply to a message aimed at their personal handle within 2 hours. It’s enough to say: On it, getting back to you in the afternoon/tomorrow/etc. That way we ensure our team members get deep work done and keep in touch with their teammates.
Regular team meetings in European hotspots and 1 Stanwood Summer Extravaganza each year where we all come together, work a bit and mostly enjoy spending time with each other
There are no strict office hours at Stanwood, but we need a few hours of overlap between our schedules to keep our mostly synchronous processes working.
Some team members prefer to start early in the morning, some take longer breaks during the day, some prefer working late. As long as we have the needed overlap and everyone knows who’s working right now, it’s fine. To get that kind of transparency, we posts a quick hello and today’s top tasks in our status channel in slack. We post when we take breaks for lunch, workout, walking the dog or other appointments and we post when we are off.
If we are off, we switch our profile status to offline and turn off our notifications. That way, we don’t get lured into slack again by the continuing messages of our friends and colleagues. Due to our flexible schedules, someone’s always working and you may get the feeling to miss out on some important things. But it’s important to unplug and really be off work when you’re off.
Our main synchronous communication channel are video calls, where we discuss project and company related topics.
Working together in co-working spaces
Most of our 20+ team members work from their homes and have a dedicated room or desk for that. In addition, we rent desks in co-working spaces for people who enjoy working in a more busy, inspiring environment. We currently have desks in co-working spaces in Munich, Berlin, Barcelona, London, Tel Aviv and Warsaw.
For us, working remotely doesn’t mean you have to choose between working from home or from a co-working space. You don’t have to stick to your desk 5 days a week, neither do you have to work from a co-working space all the time. The luxury of working remotely is to choose flexibly where you can work best in that situation. This can change over time or even during the season. Some of our team members love to work outside in their gardens or on their balconies during summer, some do workations and join our weekly video calls with a nasty palm tree and beach background ;-). I have my desk with three monitors set up in the middle of our open plan living room because I want to be a part of family life when my kids are home. That’s not for everyone. My wife for example is a copywriter and locks herself into her home office upstairs to stay focused.
In our experience, working from coffee shops when travelling is not very effective. You have to deal with bad wifi connection, you have to find a comfortable seat and desk, you have to tune out the buzz around you - so most people just aren’t as focused and effective as they would be in a different environment.
Effectiveness is important for us as an agency. When we work, we want to focus 100% on the task at hand and filter out all distractions.
That’s what makes us good, it directly influences our profits, and it gives us precious time to spend with our loved ones.
We have 2 different kind of daily stand ups:
1. "Project office hours" twice a day at 10am and 4pm: PM opens an appear.in room and everyone working on that project can quickly and easily join and discuss questions or roadblocks. The PM summarises the results and posts it to the project channel in slack.
2. Daily Check ins in our slack standup channel: Everyone posts once a day:
- How many tickets are assigned to me? How many tickets did I close in this sprint so far? Can I take more tickets? Are there any roadblocks ahead of me?
We have three kinds of pair programming sessions at Stanwood:
1. Every new "Wookie" - as we call our new team members in the first 3 months - goes through intensive pair programming sessions during his/her onboarding period to learn how we structure our code. We do this in regular 1:1s in appear.in where we code together and share our screens.
2. Every line of code we've ever written has been thoroughly reviewed by an experienced developer. That way we keep our code quality high and ensure we code by the same standards. In case of doubt, we jump into a short call and review the code together until we agree that's the way to go.
3. We do continuous peer training sessions to improve our skills and learn from each other.
We use our own SCRUM/Kanban methodology which we customized to fit our 100% remote processes and our clients' requests. Each sprint is about 2 weeks where 1 of it is for planning and refining and one is for actual coding. We regularly do retros for sprints that didn't meet the set goals in order to learn from it and constantly improve.
Learning & sharing
Constantly challenging the status quo and improving things (and ourselves!) is deeply rooted in our company culture. So we do a lot of things to ensure our company keeps becoming even better:
- regular masterclasses where people share their special skills (e.g. UX design, tool hacks, game dev, 3D printing etc)
- Training programmes
- regular 360 degree feedback rounds
- bi-weekly 1:1s where we ask: What do you want to achieve and how can we help you do that?
- our watercooler channel in slack where we post funny and personal stuff
- our thank you channel in slack where we regularly appreciate when others helped us, did an amazing job in a project, etc.