R&D Management 13 min read

Lessons on Development Process, Code Quality, and Team Management

A senior engineer reflects on a decade of work at major Chinese tech firms, stressing that clear, responsibility‑driven processes and steady rhythm prevent chaos, while judicious tool choice, appropriate architecture, rigorous bug analysis, consistent style, thorough commenting, security measures, and reusable utilities together boost code quality, maintainability, and development efficiency.

Tencent Cloud Developer
Tencent Cloud Developer
Tencent Cloud Developer
Lessons on Development Process, Code Quality, and Team Management

The author, a senior engineer with ten years of experience across major Chinese tech companies (NetEase, Baidu, Tencent Research Institute, MIG), shares personal insights on software development, team processes, and code practices.

He emphasizes that a clear workflow is crucial for a team, likening it to needing a guide or map in a campaign. Without proper processes, development can become chaotic, leading to excessive bugs and low morale.

He recounts a chaotic period at Baidu Browser team where a rushed two‑day deadline for a 3D demo caused a flood of bugs, uneven workload distribution, and deteriorating code quality. Over time, the situation worsened with staff turnover and mounting technical debt.

In contrast, his later experience at Tencent featured a well‑structured process: requirements and bugs tracked in TAPD, regular product releases, thorough feasibility discussions, dedicated quality tracking, and clear daily priorities.

The core principle he extracts is that process is simply “each person’s responsibility + rhythm.” Setting clear responsibilities and a steady pace helps the team move forward efficiently.

He warns against over‑engineering: using dozens of libraries for a simple task is unnecessary. Choose tools that fit the project’s size, impact on package size, and long‑term maintainability.

On architecture, he notes that different products require different designs (e.g., single‑process iOS apps, multi‑process Android after version 3.5, complex multi‑process browsers). The right architecture balances current product needs with future scalability.

Bug analysis is broken into three main causes: lack of API/platform knowledge, carelessness (e.g., null‑pointer errors), and edge‑case scenarios. He suggests using annotations, thorough testing, and defensive coding (try‑catch) to mitigate these issues.

Regular self‑review is essential: periodically assess whether you are fixing past mistakes or building new features, and improve code quality accordingly.

He advocates clear commenting: write detailed comments for complex logic and explain parameter purposes, especially in shared utility classes, to aid future maintenance.

Code structure should be organized by functionality, UI layers, or utility modules, making the codebase clean and easier to navigate, similar to good physical organization.

Consistent coding style (naming conventions, line length, include order) helps team members understand each other's code quickly.

Security considerations for Android include obfuscation, code checks, and using tools like “金刚” for vulnerability scanning.

To improve development efficiency, he recommends building reusable utility classes, leveraging open‑source packages (e.g., ORM), using systematic bug‑tracking (try‑catch, crash interception, unified logging), and employing monitoring tools such as Lighthouse and Bugly.

Package size can be reduced by compressing images and removing unused resources.

UI rendering efficiency impacts user perception; managing memory and rendering performance is key to a smooth experience.

Author bio: Kang Liang, senior engineer at Tencent, with experience across NetEase online games, Baidu client, Tencent Research Institute, and MIG, currently responsible for the Tencent Translator app.

Architecturesoftware developmentdevelopment efficiencycode qualitybug handlingTeam Process
Tencent Cloud Developer
Written by

Tencent Cloud Developer

Official Tencent Cloud community account that brings together developers, shares practical tech insights, and fosters an influential tech exchange community.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.