Left ear rat: telecommuting in epidemic and talk about my experience and practice

Telecommuting under epidemic and talk about my experience and practice with you.

I was founded in 2016 MegaEase (https://megaease.com/zh/), from an earlier eight people, until today there are 20 individuals, we start from today are working remotely. Because I like "Rework" This book, wrote the book company called 37signal (now known as basecamp), the company in the hair "Rework" This book, the entire company is only 16 people, distributed in the world 8 cities such Geek corporate culture is very appealing to me, so I decided to venture, I would not stop to think up such a company be able to work remotely. So teleworking corporate culture has become MegaEase genes.

Let me share with you some of the issues which our company culture and work remotely, and finally will share one of our telework agreement.

In our early days, eight employees from five cities, now 20 employees from eight cities in two countries. Although we now use the "shared office", but in essence, our entire culture is the culture of working remotely.

In the year 2017-2018, since the commercialization of our products, the company early eight engineers working in the remote state of the New Year's Eve speech success support activities of the old law, as well as several other customers. On the one hand to verify the user is willing to pay for our products and services, on the other hand there are some good income, customer price at around one million. Also remember that a few investors do not believe that we are a company does not even have an office, but also the distribution of eight people in five cities, we think is a liar (ha ha).

In the past year, we adopted our products and services to help banks, telecommunications, Internet companies, upgrading their system architecture, allowing distributed technology and architecture of complex and high threshold can be mastered more companies. This shows that telework is no problem. Indeed remote teams, remote work really is not fresh, there is a Repo maintains a list of companies to support remote work on Github, as well as with a remote Awesome work-related index.

https://github.com/remoteintech/remote-jobs

https://github.com/lukasz-madon/awesome-remote-job

Of course, since my business, I've been around a lot of different voices have questioned teleworking. After listening to their reasons, I can understand their concerns and confusion, management is indeed a very complex matter, because the face is extremely complex one, so there are these doubts is normal. The following are some of my experience and share. Let me talk about macro-management, say micro-practice.

Macro Management

I found that a lot of people question the reason for relatively remote work, more is having problems with the macro-management. So, I would like to talk about macroeconomic management, which in fact is neither a remote office or centralized office, if we can solve the fundamental problems that better management, remote remote will not does not matter. But, these issues under the "remote office" scene more prominent Bale.

Trying to find a good man

Team management is a top priority to find people, not one. A lot of people would tell me that you need a good team this remote person. Yes, yes, people are very critical. Generally require remote teams need people who have these qualities:

Who can work independently. Such a thing can give him complete independence, there is no path can find its own way, it saves a lot of administrative costs.

Strong communication skills of people. On the one hand, he can blur the incident clearly, on the other hand, he can effectively convince others. Otherwise it will wrangling and very time-consuming.

Can self-management and self-driven person. Not self-management and self-driven people, will increase the number of management and education costs. Can be self-driven people, who are all recognized for what responsibility.

If you think about it, you will find that such a person is the desire of any company who is independent and far from remote. But, if it is a remote team, you will be forced to hire such people.

Hire such a person, execution of your team will be very tough. Not hire such a person, you can not be self-managed and self-driven and recruit "manager" for them; not write good code trick "test"; can not communicate well and move "project manager"; not only speed side while people make good arrangements for them when the "coach", and good people will be exhausted ......

This time, you need to calculate, and is to spend time and effort in the education of poor people, or spend time and effort to find a good man? Regardless far remote, smart managers will choose the latter. This is why Amazon's Bezos would say: "I'd rather interview 50 individuals not hire a person, I do not want to lower my standard interview."

Setting common goals and mission

For remote teams face because not see, so the lack of exchange and communication. So, the team everyone needs to have a unified standard of understanding of things to do. That is, cognitive common goals and mission. You know what they want, not what know to choose, know that trade-off. These are the things the team needs to reach a consensus together. If there is no such "Same Picture" goal and mission, there will be a lot of unnecessary misunderstanding and conflict. In addition, because the team and the business is growing rapidly, so the need to constantly adjust and communication. Both require a leader to spend time unity of purpose and mission.

Honestly, whether remotely without remote, a team needs to have a common goal and mission. There is no common goal, even if the office together, too inefficient.

Tend to use small teams

Because the problem of communication costs, remote teams prefer to use small team, but it does not mean that a small team would limit the size of the entire company. "Mythical Man-Month," said, only a small team to manage complex systems. Amazon's Two Pizza Team culture (team only two pizza can feed size), the entire system is split into "micro-service" architecture, which can lead to a huge boost overall efficiency. Performance, parallel development, focus on one feature is more conducive to solving complex problems can be easier operation and maintenance, can more easily scale ......

I'm working on this for over 20 years experienced a lot of companies, especially in business the past few years, companies have seen more of (50+ above). I found that the more the number of teams, basically, even partial labor-intensive. A feature that is labor-intensive, we think all day, was the whole point of what happened to so many people, so that they get busy. The small number of teams, because not enough people, so every day are thinking, what kind of thing is more important, what kind of things can be automated, how to do it more efficiently ...... small teams and large teams focus so not the same so things are made out of is not the same ......

Of course, not to say labor-intensive have any questions, like "two teams of software management," the article said the same, remote teams more inclined to everyone "movie working group" type of leader are knowledge-intensive team.

Microscopic practice

In remote work, we need to have a lot of micro-operations so that we can better work remotely. Because telework there are some problems (problem but the method is better than more, is not it?)

Document-driven

First, the remote communication problem is not convenient. Centralized office, then a group of people can be discussed on the board, however remote work this thing becomes very complicated. So, when you want to discuss something, you need to sponsor the first to write a document, and then we discussed in this document (we usually use the issue GitHub, Pull Request or Google Doc). In addition, many of the benefits of writing a document, in addition to future generations have something a traceable, more importantly, writing is a kind of deep thinking, when you put your mind want to write something down, you will discover your thinking more. Therefore, the document is driving our team is very important.

Automate and simplify

Automate and simplify I usually catch most things, from the Unit Test software, Functional Test, Performance Test has been used to automate the deployment Kubernetes, I ask that after a complete automation from the code submitted on-line. We play the "single branch" Amazon code management play, once the code on merge master, will direct on-line (of course, need to gradation). Because remote teams if there is no automated tools, then it will lead to a decline in overall efficiency.

Owner culture

This is too important, but this is not to say, if a thing is not Owner, will be like "Three Monks", things nobody went to the point. This is because a lot of people at work are more nice, more generally nice people who are embarrassed to come out to give orders to others. So, Owner culture is to ask for everything define a Owner, and the Owner is entitled to give orders to other people, other people are also obliged to tie him. Of course, the greater the Owner rights, responsibilities will be greater!

Review culture

Review document is a way to pass out of ideas or knowledge. We practice, we need a good idea to write down, this issue needs to include background, objectives, alternative solutions (these programs need to have references and data, can not be racking our brains), but also need to have more Pros / Cons of and then to initiate discussions. In this way, things to do in the beginning, then you can let everyone to discuss more efficient. Many people think that there is a meeting to discuss the issue on the line, in fact, it is not enough, efficient meeting to discuss the bill is needed, but also the high quality of motion!

Goal commitment

We need everyone's commitment to their objectives, this entirely by each individual hair from complete. In general, each person give yourself the best plan is developed in 1-2 weeks.

Self-management

Our practice is no approval system, either on vacation, or for business reimbursement, is entirely their own freedom to organize, but need to tell team (unless extended leave can not in some critical period, need the whole team to go all out). Do not lie and cheat, once found, direct fired just fine. This is based on the principle of making more good people (there is no need for after a few bad guys across the board for all the pain).

Chat and meet their own

Meet and can not see is a very different thing, when working together, and people there will be emotional, because there chatting. Remote time, only work. Therefore, we encourage the private chat between team members, chat, talk about their own experiences and past each other, but also encourage employees to voluntarily travel to other cities to meet the people who work with you, the company reimbursed travel expenses.

Knowledge Sharing Session

Every week, we all have knowledge sharing sessions, a talk for half an hour, not too much. Just a little knowledge. Then, some of the team also took the initiative to use Google Form to gather to share feedback.

Culture-place award

We default on the year-end awards are not the only place reward culture. In other words, you do make money, profits, 70% of the company took the remaining 30% of the team points out people on the spot. Which would allow the team everyone will think how to make money, in addition to concentrate on those areas that allows users to pay, more importantly, team members understand the business. Of course, if the company does not make money, but the good work of the staff, we will give year-end awards. The main responsibility is that I do not make money, but money is the main credit for the team.

Outsourcing supportive work

Some supportive work as much as possible the use of outsourcing, such as: HR, administration, payroll, finance, employee stock ownership, testers, customized development ...... so your team can make smaller, more cohesive and more conducive Remotely.

Asynchronous Programming

If an item is zero-based, for a team who might be unable to start, which requires individuals to frame and structure of the code to organize. Then other people into the pit filled, such efficiency would be much higher. In addition, do not meet the pair programming, can use asynchronous way, this is in fact the same people doing a pull request way. There GitHub collaboration tools, such as remote coding becomes very convenient.

Remote Tools

About our remote tools, we mainly use:

Development environment

AWS. Because I want the team when using AWS can be subtle.

Collaboration tools

Github. We develop software with all the work will be on GitHub, we heavily use the pull request and issue GitHub, will use GitHub Project in Kanban and Wiki.

Google family bucket. We heavily use Google, including Google Group, Google Driver, Google Docs.

communication tools

Voice communication is mainly use Zoom, Zoom because not only can support dozens of people online, you can also cloud recording. If a small exchange, it is generally used micro-channel voice.

Communication work primarily use Slack, Slack as a distribution center for information, can be divided into channels, you can divide the discussion thread, micro-channel is a slag.

Chit-Chat group. Chit-Chat Our group is mainly Telegram, because micro-channel much better than ......

You will find that we have better tools are in the wall, yes, because the same tools inside the wall is too hard to use. Also, I tend to let everyone spend most advanced tools, so that everyone will taste our team is subtle these good tools.

Telework agreement

Here is our remote work agreements (no cut), which is every teleworkers consent to do protocol (including the shadow Amazon Leadership Principles), currently in version v1.3, will be updated in the future, I now it drying out, we also hope to get better suggestions!

MegaEase remote team collaboration agreement v1.3

Principles

0)Ownership & Leadership

Everyone is Owner, are Leader, if you see a team or project in question time, do not wait, could not bear, please say so right away, and the corresponding program, out of their own to convene a meeting, timely adjustment. Do not stuffy in there, hold their own!

1)Initiative

A person must be both active, you need to start your own things to do, or they have to claim to do, if he did not find things, need to learn to take the initiative to identify problems, take the initiative to find a place to improve, innovative sources of herein. There is no way to learn to make their own way!

2)Objectives Oriented

Everyone is product manager, project managers are also, everyone must put together their own work and our big goal, to know what is the focus, the focus of thing is two things: a) From the user's point of view ; b) from the perspective of the product. This means that we should always observe the appearance of the entire product, not just their own this one thing.

3)Insists on High Standard

For methods which give almost wherein the lifting process which give almost under which the lift method shall also be France. We must insist on high standards themselves, to target high standards and uncompromising, but you can compromise on the implementation path and strategy.

Practices

0)Online

When the work required online. If you do not line up, you do not need to talk about when the long line. At present issues of our work on the use of communications tools Slack, if you need to leave, if not an emergency, a day ahead of MegaEase of Slack #random channel described in advance. If this is an emergency situation, we also need to be informed in advance in random channel.

1) Documentation Driven

Face to face conversations, telephone voice, micro-channel, Slack though is more real-time feedback tool, but only the important document is structured information, and actually write the document is compared to the previous way of thinking more depth, because let look at your own own ideas. So, for some important "feature", "process", "business logic", "design", "problem", and "ideas" are conducted in the best documented way. Please use the GitHub wiki, project, issue or use these tools Google Doc.

2)Design Review

For a number of important issues or work (everyone can judge what are the key issues and work), you need to first share their ideas out, rather than first realized.

Design a good document needs to include the following items:

  • Background. Explain the background of this matter, and needs to solve the problem.

  • Objectives. Description of the objectives and significance of this matter.

  • Alternative Solutions. A plurality of solutions are given, and can be performed Pros / Cons contrast. Reference-- programs need to support authoritative references; Data-- programs need to have relevant data support.

  • Conclusion. Conclusion is.

3) Simplification & Automation

Simplifying and automating software engineering to pursue two objectives, to simplify not simple, simplify things is an abstract and generalize ability to enhance the multiplexing capability and scalability of the software. Automation is an important manifestation of engineering capabilities, the ability to work remotely on the one hand allows the automation of the entire team collaborate more effectively; on the other hand, are automatically pre-conditions have to scale. So, we have to think all the time how to simplify and automate existing things.

4)Review & Re-factory

Whether the code is working or need to reflect and reconstruction. Reflection is a source of progress, when the project came to an end, when problems arise, should convene a team to do a collective reflection, the good thing stick to it, optimize away the bad things, in order to progress and improve. But any optimizations are enforceable.

5)Milestone Commitment

For a project, everyone needs to have its own milestone plan, the best plan is less than two weeks, one week is best, but also committed to.

6)Evidence Driven

Any discussion and analysis should be based on authoritative evidence, data or references. We do the design time, or when there is controversy, the best way to convince the other party that is to produce evidence, data or authoritative reference. For example: My reference design XX XX design of the TCP protocol, my view is that to achieve XX XX open source software-based ...... if you stop arguing argument, then each collection and investigation supporting their view.

7)Demo Day

To do their own thing to do with a real-time demonstration team. This helps developers to think about their own work from a product perspective. In addition to demonstrating product features, but also demonstrate the algorithm, design and even code.

8) Effective Meeting

The meeting mainly deal with three things: the motion, identify problems, consensus conclusion.

Not only have the meeting agenda, as well as the best proposal.

During the meeting does not solve the problem, only to find the problem, and tracking issues.

Meeting required to have a consensus and conclusion, if you can not reach a consensus and conclusions, as it would deal with the issue, follow-up questions by the person in charge of the problem.

About temporary or weekly team meeting (private discussions are not meeting), conference organizers need to collect in advance topics of the meeting , including the following categories:

  • Project categories: there needs to advance the project schedule table (any breakdown of the best control in 1-2 weeks)

  • Program categories: requires prior written related to the design of programs and discussions (see chapter Design Review)

  • Class of problems: the need for prior written proposals related problems and solutions (see Design Review section)

  • Decision classes: the whole thing requires prior written analysis of the causes and effects as well as the pros and cons Info: requires prior written instructions related matters

Conference organizers need to issue on Friday when the issues were collected , including:

  • We know the progress of the project follow-up (needs associated with the project leader to prepare the relevant project plan)

  • Needs of individual projects and programs responsible for issues like proposed, and related design documents for Review

  • Information and decision-making issues like class can be written on the Google Doc, you can also write in the Team of the Issue

  • Other person in charge of the team can add your own stuff at the meeting, or ask other team to provide more information.

When 9) 1-2-3 Escalation encounter problems, do not own one process within one hour idea, please find a small range of others to discuss, if no results with others within two hours, please rise to the range of the team, if the team-wide no ideas within three hours, we will need the help of external forces.

A)3PS Update

A day when everyone in attendance, not just a check-in, but need to be more meaningful to say about today's job content, working in full time day, hoping a brief speech summing up the work day. practice here is: 3PS - Plan, Proirity, Problem, Summary, - what is your plan? What priorities are? What problem? Summary of the work day.

B) Disagree and Commitment

When we developed, team members will have their own style, would have a big controversy (Disagree) on the same issue, we encourage controversial, but it is made before the resolutions of the team. Once the team formation resolution, team members must support this resolution, and to contribute in this direction.

But the formation of the Resolution is certainly rife with controversy, for these arguments, we can follow the following Guidline to handle the dispute:

  • Owner responsible for major discussion forward, form a conclusion as soon as possible.

  • In the process of resolution, the minutes have to be updated to Issue or Pull Request Github related projects in and let the whole team knows that the information equality is very important.

  • Do not compromise, adhere to high standards. The first standard is an industry standard, the second standard is the standard foreign companies (such as: Google, Facebook, GitHub, AWS ...), the third standard is the national standard.

  • Even more complex, as long as the standard, we can convince the users. Users then unreasonable, it is impossible to oppose industrial-grade standard.

  • Release out of things, as long as the user to spend, difficult to change, so be careful and courageous.

about the author

Chen Hao , screen name "left ear mouse", MegaEase founder & CEO, senior technical expert, hardcore programmers, starting from this article cool shell CoolShell.

If you read the harvest, seek help diffuse article! thank!

Edge computing community: to promote the dissemination of knowledge edge computing field, neutral, objective, if you look at the edge computing, 5G, networking and other areas please pay attention to us.

发布了78 篇原创文章 · 获赞 209 · 访问量 7万+

Guess you like

Origin blog.csdn.net/weixin_41033724/article/details/104243182