Home Tech In addition to counting the number of lines of code, how can...

In addition to counting the number of lines of code, how can you “calculate performance” for programmers? |Fast Company

2
0

Image source @Visual China

[ThisarticlecomesfromthefeaturedcolumnofTitaniumMedia“Fast Company”

Recently, Simayi, a program code library analysis platform, announced the completion of US$5.2 million in Series A financing in September last year. This round of financing was led by Jingwei China, with existing investors such as GGV, Lenovo Star, and Polychain following the investment, and the funds will be used For technology investment and product iteration.

According to public information, Simayi was founded in 2018 by Ren Jinglei, PhD in computer science and technology at Tsinghua University. In March of the same year, it received $1.1 million in angel round investment from Polychain Capital and OSS Capital; in May 2020, it received investment from GGV and Lenovo’s Star and Polychain co-invested US$4.1 million in Pre-A round of financing; in September, it received another US$5.2 million in Series A financing from Jingwei China.

After less than 4 years of establishment, it has obtained 3 rounds of financing in a row. What is the appeal of Simayi to investors? Through this financing, Titanium Media interviewed Ren Jinglei, the founder of Simayi.

Founder of Merico: Ren Jinglei

A paper starts the entrepreneurial journey

“Towards Quantifying the Development Value of Code Contributions” published in the international software engineering conference FSE is the basic framework and the most basic technology for the research and development of the SiMayi project, and it is also a support for products to solutions, just like Google’s two Like the founders who published Page Rank, starting from that paper, they have been building the current Google search engine and the entire business empire.” Ren Jinglei told Titanium Media.

After graduating from Tsinghua University with a PhD in Computer Science in 2016, Ren Jinglei worked as a visiting scholar at Stanford University and Carnegie Mellon University to engage in research on software systems. He also contributed code to the open source community before joining Microsoft Research.

During his work at Microsoft Research, he learned that Facebook uses a simple and rude way of counting the number of lines of code to determine bonuses, which made him realize that enterprises have a demand for quantitative programmers. But this method is not suitable for all teams, he began to think, since doing program analysis, can we measure the programmer’s work through some smarter and in-depth analysis methods.

At the same time, there is another problem that has been bothering him. They have been contributing open source code to the community for many years. Now many open source projects have received some donations, and how to allocate these donations reasonably has always been a question he is thinking about. How to make programmers’ intellectual achievements obtain long-term benefits, so as to promote the prosperity of the entire open source community, especially today, 92% of applications rely on open source software.

Based on the above two factors, Ren Jinglei decided to work for quantitative programmers and what to do in the open source community. Therefore, at the end of 2018, he created Simayi together with Yin Hezheng and Roland. The main business is to quantify the work of programmers through in-depth code analysis technology, mainly including program analysis and artificial intelligence.

New scenarios, new data, new architecture

According to the Evans Data Group’s 2019 report, the number of global developers reached 23.9 million, which is expected to grow to 28.7 million within 5 years. At the same time, with the continuous rise of labor costs, the cost of developers is at the forefront, and the R&D team is transforming from extensive growth to refined management and efficiency improvement.

The enterprise version of Simayi launched in early 2019 is based on in-depth code analysis technology and machine learning technology, extracting retrospective data from historical and current code bases, real-time analysis and feedback, and providing software engineering management and talent development for enterprises The solution is to drive management upgrades with smarter metrics, and promote the joint improvement of the development team and individual developers.

At present, indicators such as working hours, line of codes (LOCs, Line of Codes), and number of commits (NOCs, Number of Commits), which are widely used in the market, are relatively “simple and rude” and are easily disturbed by noise such as line breaks and dead codes.

The code analysis engine of SiMayi compiles the code into an abstract syntax tree, and distinguishes the change in the logic amount of the code generated by each submission, so as to judge the workload; in addition, the analysis engine can also analyze the call relationship between the codes. Function influence, combined with code quality and the impact of code on the overall quality of the project, can more accurately and objectively reflect the value of the developer’s work. At present, the analysis engine has supported 15 development languages, and is continuing to be added.

Since the product went online, it has served Tencent, Didi Chuxing, Hexun.com, ICBC Credit Suisse, Changting Technology, Know Chuangyu, Bairong Yunchuang, Ticket Yitong, Kaisi Auto Parts, Weili Technology and other industry customers, which is also reflected in the side The urgent need of enterprises to improve the efficiency of research and development.

Ren Jinglei said that in response to the needs of customers in different industries, the product is continuously upgraded to 3.0, and the product will be fully optimized from the three dimensions of new scenarios, new data, and new architecture.

New scene

The roles of executives, technical leaders, project managers, and developers, and how different the focus and granularity of the effectiveness data required for different roles are. Based on the wrong roles and usage scenarios, Simayi reconstructed the information framework within the product.

Cross-team efficiency comparison view under executive roles

Specifically, executives can quickly review the R&D performance status and trends of different teams or projects, and accurately guide the team’s improvement direction based on the industry performance reference baseline; project managers can grasp the progress of specific iterations in real time and review project efficiency, quality and stability , Quickly find and respond to bottlenecks; technical managers can continue to track the accumulation of technical debt, identify risks at all stages of the software development cycle, and gain detailed insights into the output efficiency and quality of each developer, and promptly motivate outstanding members; developers can use Quantitative research and development efficiency, visually show their contributions, quickly identify the optimization space of their own code, and how to optimize, so as to spontaneously improve the quality of the project and improve the maintainability of software products.

New data

On the basis of the existing code analysis data, it is connected to JIRA’s R&D process management data. On the one hand, the R&D efficiency data is gathered in one place, which is convenient for managers to understand the R&D process and results from multiple perspectives; on the other hand, these indicators It can cross-analyze existing efficiency and quality indicators to generate more in-depth insights and help managers perceive R&D trends in a timely manner.

Support development equivalent multiple indicators and iterative progress chart

At the same time, version 3.0 supplements industry performance data based on open source projects. According to the scale and language of the enterprise project, the Simayi system can automatically match similar excellent open source projects, provide an external baseline reference, and help R&D managers quickly locate the level of their team in the industry, and objectively understand the direction of improvement.

Industry level view

New architecture

Ren Jinglei said that 90% of large companies such as Didi, Tencent, and Taikang Life Insurance used privatized deployment. He found that the company not only has a complex organizational structure, but also has a large number of project levels and a huge amount of code. There may be tens of thousands of code bases. , Dozens of terabytes of code, the scale exceeds the range that the earlier product version can support.

In order to solve this problem, in the release of version 3.0, Si Ma Yi Enough supports complex organization and project structure, rapid import and configuration, which improves the customer’s startup speed and optimizes the use experience. At the same time, the underlying analysis engine also performs technology Refactoring, based on the distributed computing capabilities of K8s, can now support the import and analysis of 10,000-level code bases to meet the needs of large R&D teams.

Deeply cultivate the code analysis market and introduce AI expert system

Ren Jinglei said, “In the future, we will increase investment in two aspects. On the one hand, we will continue to deepen the code analysis market; on the other hand, we will introduce AI expert systems to help companies better interpret the analyzed data.”

Specifically, in the code analysis market, we will continue to open up the front and back links in the R&D process, and access a wider range of R&D data, such as vulnerability and defect data, performance testing, log analysis, etc., and cross-analyze different data to make the R&D process more effective. The overall results can be traced, providing more complete and in-depth insights for R&D management and bringing new commercial value.

Introducing the AI ​​expert system, further productizing the existing light consulting services, improving the system’s ability to interpret data, discover problems, and judge trends, so that data analysis can more directly help R&D management decision-making.

Regarding corporate profitability, Ren Jinglei’s thinking is that the current focus is on privatization deployment of enterprise version products, and subscription fees, because as of the first 4 months of 2021, 150% of last year’s annual sales have been achieved, and all expired customers are retained. Performance. At the same time, it is also expected that public cloud services will be launched this year to provide SME customers with a more convenient and efficient deployment and use experience.

In addition, the open source community version Merco Build was released at the end of 2020, which provides free analysis of the effectiveness and community activity for open source projects, and provides individual contribution reports for open source contributors.

Hope that through the promotion of public cloud services and community version products, continue to accumulate research and development performance data, optimize the underlying computing engine, create a credible in-depth code analysis engine, and become a developer and development team in contribution analysis, performance analysis, competence analysis, etc. Industry Standard.

(This article first published Titanium Media App, author | Guo Hongu, editor | Cai Pengcheng)