Seven Tips for Growing from Junior to Senior Engineer
The article outlines seven practical suggestions—strengthening requirement review, proactively improving efficiency, deepening core technical fundamentals, focusing on performance, monitoring production, maintaining a global view, and regularly summarizing work—to help ordinary programmers advance toward senior or expert roles.
On Zhihu a question about the differences between senior and ordinary programmers attracted over 5,900 followers and more than two million views, prompting the author, who has over ten years of development experience at companies like Tencent and Sogou, to share his observations.
Suggestion 1: Deliberately Strengthen Requirement Review Ability
In internet companies, requirement review is the main entry point for development work. Ordinary programmers often act as translators, implementing features based on product manager details without questioning the necessity or value of the request. Senior developers, however, start by questioning the rationale behind requirements, assessing their reasonableness, and even adjusting or enhancing them to increase business value.
They may challenge unreasonable requests, propose adjustments, or add improvements, ensuring that development effort is valuable and avoiding wasted work.
Suggestion 2: Proactively Think About Efficiency
Typical programmers follow tasks as they come and rarely reflect on why code is written a certain way or how it could be optimized. More experienced developers actively seek ways to improve existing processes, such as automating repetitive tasks to free up time for higher‑value work.
For example, the author once built an operational backend to let a colleague handle push notifications themselves, eliminating frequent interruptions and reducing risk.
Suggestion 3: Strengthen Core Technical Fundamentals
Foundational knowledge—operating systems, networking, and other low‑level concepts—forms the "inner skill" that distinguishes senior engineers. While many junior developers rely on frameworks and CRUD operations, senior engineers continuously deepen their understanding of underlying systems.
Suggestion 4: Consider Performance
Senior developers anticipate traffic, estimate request volumes during requirement review, design solutions that meet performance targets, and conduct load testing before release, continuously optimizing bottlenecks.
Suggestion 5: Pay Attention to Production
Monitoring production environments—servers, CPU, memory, network usage, error logs—is essential. Senior engineers can quickly diagnose and resolve incidents, whereas junior developers often lack visibility into live systems.
Suggestion 6: Maintain a Global Perspective
Instead of focusing solely on their assigned module, senior engineers understand the entire project, other team components, and even broader industry trends, fostering faster growth and promotion opportunities.
Suggestion 7: Summarize and Document
After completing significant tasks, senior developers create presentations, blog posts, or other documentation to consolidate learning and share knowledge, benefiting both themselves and the team.
The seven recommendations are personal reflections from years of experience and aim to guide developers toward higher technical levels.
Refining Core Development Skills
Fei has over 10 years of development experience at Tencent and Sogou. Through this account, he shares his deep insights on performance.
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.