1. What is Remote Work?
1.1 Definition
Since the pandemic, almost everyone of us has forcibly made the acquaintance of working from home. Private rooms were converted into offices ad hoc. Furniture was moved around, new desks and chairs put in place of comfortable couches. For the “home office” new laptops, headsets, monitors were ordered, communication and cooperation software such as Zoom, Google Meetings, Jitsi, Slack, MS Teams and so on were installed. And then we started working from home, because the analog work process was simply implemented one-to-one digitally.
That's not what we mean by remote work here!
Teleworking is a term that we already know from before the pandemic. From a labor law perspective, it describes regular work from home. This is in contrast to the home office, which is understood to mean occasional work at a different workplace than the employer's building.
However, this is neither about a classification under labor law nor an analysis of the “home office” as we got to know during the pandemic.
In the IT industry, especially in the open source world, working together using the latest web technologies across countries and continents has been an everyday habit long before the pandemic.
Some IT companies cultivated this mixture of location-independent software development and software development in a common place for themselves. We have conducted long interviews with IT companies that have developed and optimized work processes for decades in order to create a location-independent, high-quality and team-building work environment.
In the further course of the guide, this working environment is what we will use as our basis for an internship environment.
1.2 Experience – Best Practice Examples – interview with stakeholder
Experience – interview with stakeholder
We had the opportunity to meet with companies that have specialized in Remote Work and thus gain insight into their extensive experience and expertise. These interviews will be published as a Podcast after the directory.
Two businesses and their know-how are highlighted in the following.
The first business to be introduced is Syslab, a software developing IT-company with their headquarters in Munich, Germany. This, however, is now only a small office mainly used for administrative purposes, as their up to ten employees work remotely from homes all across Europe. Regularly they meet online to connect from Germany, Austria, Spain, Italy and Ireland to remotely work together. According to CEO Alexander Pilz it took over ten years to perfect this process of enabling Backend and Frontend developers to work from home and creating an unique form of work- life balance. The concept works, as despite - or because of this - the company is thriving.
We asked how this could possibly work. How can you remotely reduce human communication, which is built on a long verbal and nonverbal evolution? Especially in software development lack of communication and misunderstandings between developers can lead to disastrous results. Which tasks still work well decentralized and remote and which do not? How can you create a team with decentralized employees and build trust? These questions and more were on our minds.
“Every morning at 10am the Syslab team meets for about fifteen minutes on Jitsi. We rarely skip this meeting, only if something unexpected happens” says Alexander Pilz.
The company works with the SCRUM process model for agile software development and has adapted this method to its needs over the years. Thus, in addition to the daily meetings, there is a two-week Sprint with Planning, Retro and Review. The quality of the meetings is an important point for the boss.
"We make sure that something comes out of a Retro. So it's not just hot air, but at least one task comes out in some form, which you then work on in the next Sprint. So in every Sprint there is also a slot where you can work on internal processes!"
Despite the short sprints of only two weeks, there is an internal review after one week to see how things are going, so that corrections can be made as soon as possible or work can be distributed differently. In addition to regular remote meetings of all employees, the company relies on Pair Programming and Pair Working in general.
“Which means that knowledge is much, much better distributed," Alexander Pilz is certain.
One example is the weekly design call, in which frontend and backend developers work together in an intensive “make up hour" for several hours.
"Because we have found, the language of the designer and the language of the developer is complete disunity. Yeah, so you have to actually force those together. They are like two magnets with the same polarity. And that is where you have to make sure, first of all, that you create understanding, on both sides,” Syslabs CEO explains.
But the most important meeting for the boss is the weekly one on one time with each employee.
"I talk to each developer for half an hour every week. About everything that comes up. In other words, instead of having an open-doors policy, where anyone can interrupt at any time, which is not necessarily productive, everyone has a half-hour slot every week. And so you know when something is going on. You do not have to talk about it right away, but you know that I can raise and discuss this issue in those few days. That makes for a lot of understanding and a lot of opportunities to follow up. I would not want to do without that anymore!"
What about the interpersonal chatting at the coffee machine, we asked. In fact, the Syslab company has a chat room called the "coffee machine". There, employees can exchange ideas and talk about anything and everything. This room also includes a link to a video conference that you can press at any time and meet everyone who is in the room.
"And if you are having lunch, you can sit together at the computer, chow down and gossip a bit," grins the boss.
Do the employees also meet in real life? We asked the company if there are attendance phases.
“The coordination of real-life meetings is sometimes difficult”, says the boss. “That is, planning such meetings for all our people is time-consuming. But once or twice a year we did it before COVID. We tried to get a Sprint going where you can crack bigger nuts, which works much better if you can talk to each other a lot.”
For Nejc Zupan's remote company Niteo (Slovenia), face-to-face sessions, or In-Real-Life (IRL) Meetups, as the Niteos call them, are an essential part of their blended remote process.
Similar to Syslab, Niteo began developing a sophisticated blended remote process more than ten years ago, also using SCRUM as a model. Unlike Syslab, however, developers from all over the world work together at Niteo - from Europe and America to the Middle East, India and Southeast Asia.
The work process at Niteo is similar to that of Syslab in many respects. But one special feature are the IRL meetups that take place twice a year (January and June). All developers are specially flown in by the company for a joint work/vacation week. While the Niteos used to meet in different locations from Bangkok to Marrakesh before COVID, the company now has its own vacation/work domicile on Lanzarote. The meeting serves on the one hand to discuss and clarify strategies and company issues within the team, and on the other hand to maintain friendships and personal contact. Attendance, however, is expected.
But the vacation feeling at the IRL meetings could paint a false picture of reality, as Niteo's remote work process is very sophisticated and efficient. Not for nothing do the Niteos proudly present their process in a publicly accessible manual on Github.
The Niteos work cycle runs fortnightly:
- It starts every second Tuesday with the Review - results and review of the work - and then continues on Wednesdays with the planning of the next two working weeks. Due to the size of the company, the meetings take place in a general video conference room and then in a separate chat room for each project.
- Every Monday and Thursday, a stand-up meeting is held for everyone via Zoom at noon sharp, followed by individual stand-ups per project. A separate task is added to the Monday stand-up meeting before the review on Tuesday. Developers are encouraged to offer each other help to finish tasks before the review. This is part of the company's motto.
- Every second Thursday (in the week of the SCRUM meetings) there is an exchange of developers with Lightning Talks and technical discussions (minimum of 60 minutes). This distributes the knowledge in the company and increases it in the sense of Open Source.
- In each quarter, the previous quarter is reviewed, reflected and the next is planned. There are three tasks for quarterly review and planning: partner meeting, quarterly review and all-hands meeting.
- The personal conversation with the boss or supervisor is essential in Niteo's remote work process. For example, every fortnight there is a personal meeting for each team member with a senior in "coffee house" style. The conversation takes place via Zoom or by phone. "Catch up meetings", it is called at Niteo.
- In addition to the regular mandatory meetings via Zoom, there is ongoing communication via Github Notifications. These should be checked by all employees every day. The instant communication runs via Slack.
Depending on demand and regional possibilities, the individual members meet once or twice a month at local conferences or for lunch. It is amazing how the work processes are similar despite different developments, so that basic principles can be developed from them.
1.3 Digital Infrastructure
Chronologically, the tools developed from the early 70/80s:
- In the early days there were only IRC (Internet Relay Chat), news (NNTP), e-mail (only the latter survived until today).
- Common source code management and versioning, in early days CVS, then SVN, Mercurial, today GIT.
- Bulletin boards, forums
- Issue tracker, project management software
- Various other text chats
- Voice chat (1:1, then N:N)
- Integrated web platforms on top of source code management software (Gitlab, GitHub, Bitbucket, ..)
- Video chat, screen sharing, video conferencing
- Virtual whiteboard as well as Kanban tools
- Consolidated communication tools (Slack, Discord, ...), Continuous Integration (CI) and Continuous Delivery/Deployment (CD)
- The mentioned integrated web platforms then consolidated more and more of the features (issue tracker, project management, Kanban boards, CI/CD, ...)
- Deployment got more virtualized (Docker, Kubernetes)
- This then led to the job description of DevOps
- One-Stop-Shop
Nowadays, digital collaboration tools can be roughly divided into:
- Shared source code management and issues trackers like Gitlab, Github and Bitbucket with Jira
- Communication tools for direct video conferencing like Zoom, Jitsi or BigBlueButton
- Consolidated communication tools like Teams, Slack or Discord
- Project management tools such as the many Kanban boards
- Whiteboard collaboration tools for design, content-related or software-architectural planning and brainstorming, like Miroboard or Figma
1.4 Remote Work Process - Conclusion
The work processes of Syslab and Niteo are showing many parallels, although both companies have developed and optimized their processes independently of each other over decades of experience.
Remote Work Prozess
- The general process of software development takes no longer than 14 days.
- Every 14 days, the results of the previous 14 days are presented and discussed together in remote conferences and the planning for the next 14 days is done.
- Every other day during the process there is an obligatory Jour Fix "Standup Meeting" via the conference tool.
- In addition, there is also Gitlab or Slack for ad-hoc contacts with the obligation to also view news and changes on a daily basis.
- Independent of the general procedure, personal discussions, so-called "catch-up meetings", take place between the employees and the boss or senior partner at weekly or bi-weekly intervals.
- The "design call", in which frontend and backend developers meet to exchange ideas, is obligatory in some companies.
- Optionally, there can also be developer sessions, in which the developers are given time for technical exchange in the form of short presentations called "lightning talks".
- In addition to the remote process, there are regular or ad hoc mandatory presence phases to discuss strategic decisions, facilitate exchange and for team building.