In the late 1990s, there were some well-known software engineers, for a long time, the creativity of these excellent developers was a hot topic in the software industry. They have one thing in common: all software projects are developed by themselves, from UI design to the development and maintenance of backend programs. However, in the internet era, software development was more about team collaboration instead of the contribution from a single person. We could scarcely find software development patterns like this, nowadays, the mainstream way of development is teamwork.
Speaking of "Team development", we can understand its importance from the requirements of the job description on different recruiting websites. The question is, we all know the necessity of team collaboration in development, but there's no common or suitable way for teamwork in the software and internet industry.
Don't get me wrong, I'm not saying that there are no team development tools for software products and services. In fact, we could find many products of this kind, from Ones, PingCode to Jira, GitHub, JenBrains, etc. With the arrival of cloud-native era, we got to know about cloud-based collaborative services gradually. But what I want to emphasize is that all those internet services are applied to "aid" the development process, they are neither development environment, nor runtime environment. But for a development team, we need infrastructure-based, unified, stable, and shareable software services that can review all historic records of the development environment.
Undoubtedly, team development means collaboration, which is a continuous and ordered process, with two basic requirements: synchronism and timeliness. This seems easy when we are working in the same office. However, due to the sudden outbreak of the coronavirus, many of us have to work remotely at different places. A unified management tool for the development team became an urgent demand.
How to build a development environment through software services, so that we can display, replay and share specific scenarios during software development? This question comes from the core concept of"remote collaboration", which TeamCode wants to solve through a Cloud Dev Toolchain, by breaking the traditional limitations, exploring undeveloped possibilities, and bringing you about unexpected wonderful development experience. We hope that one day, the collaboration of developers will not be restricted by regions or the different dev environments of local PCs . In this way, "Environment as Code" and seamless remote development and collaboration experience will be realized eventually.