Why Process Matters: Lessons from a Decade in Top Tech Companies
Drawing on ten years of experience at leading firms like NetEase, Baidu, and Tencent, the author shares practical insights on the critical role of development processes, disciplined coding, pragmatic architecture, effective bug handling, and regular self‑review for software teams.
1. Importance of a Defined Development Process
In team environments, a clear development process reduces uncertainty, aligns expectations, and prevents chaotic work patterns. The author describes a failure case where a two‑day deadline for a complex 3D feature caused a surge of bugs, inconsistent code style, and high turnover. By contrast, a later team used a structured workflow: requirements were captured in an issue‑tracking system (e.g., Tapd), product and technical specifications were discussed before implementation, quality tracking and user feedback loops were established, and daily task planning made progress visible.
2. Choose Tools That Match Project Scale
Over‑engineering with large third‑party libraries inflates binary size and maintenance cost. The recommendation is to evaluate libraries on three criteria:
Stability and community adoption (e.g., SQLCipher for encryption, GreenDAO for ORM, OGRE for 3D, Irrlicht for small game demos, Three.js for WebGL).
Impact on application package size.
Long‑term maintenance and compatibility with target platforms.
When the required functionality can be satisfied with a lightweight, well‑tested component, prefer that over a heavyweight framework.
3. Practical and Scalable Architecture
Architecture should be chosen based on product size and future growth horizon (typically 3–6 months). Examples:
iOS applications are usually single‑process.
Android versions before 3.5 used a single process; later versions introduced a dedicated network process.
Modern browsers separate UI, rendering, and sandboxed processes, and may dynamically adjust the number of processes per tab.
The design workflow is:
Assess current product scope (features, user base, performance requirements).
Select a process model that balances development speed with maintainability.
Plan for incremental evolution so the architecture can accommodate additional modules within the next 3–6 months.
4. Systematic Bug Management
Bug sources fall into three categories:
Architectural complexity – intricate designs introduce hidden edge cases.
Lack of platform or API knowledge – e.g., Android UI must be manipulated on the main thread, Java’s garbage collection nuances, DEX method‑count limits.
Carelessness – null‑pointer dereferences, resource leaks, misuse of native handles.
Mitigation strategies include:
Use language‑level nullability annotations ( @Nullable, @NonNull) and enable static analysis.
Write unit and integration tests covering boundary conditions.
Adopt defensive coding patterns such as try { … } catch (Exception e) { … } to catch unexpected crashes.
Maintain a bug‑tracking system, prioritize bugs, and distribute fixes evenly to avoid “hot‑fix” churn.
Perform code reviews focused on resource management and thread safety.
5. Regular Self‑Review and Continuous Improvement
Periodically (e.g., each sprint or quarterly), developers should step back and evaluate whether they are merely maintaining existing code or actively improving the product. Questions to ask include:
Are current processes still effective?
Do recent architectural decisions meet the projected scalability horizon?
What technical debt has accumulated, and how can it be reduced?
Such reflective practice guides personal growth and aligns team efforts with long‑term goals.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
ITPUB
Official ITPUB account sharing technical insights, community news, and exciting events.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
