How to Accelerate Your Programming Skills: Practical Tips from Experienced Developers
This article compiles several Zhihu answers that share concrete strategies—such as effective searching, leveraging existing libraries, mastering core data structures, designing before coding, and adopting a growth mindset—to help programmers achieve rapid skill improvements.
Gu Yiling's Answer
Use the right search keywords and avoid trying to invent something that already exists; many ideas have already been documented and summarized. When encountering "garbage" code, understand that it often has a purpose, and any refactoring should start from a solid design rather than quick fixes.
Zhang Duo's Answer
Participate in a complete project lifecycle (design, refactor, test, deploy, optimize) to internalize the process. Learn to identify the correct search terms, read API documentation, and transform unknown problems into known ones. For example, to find the k‑th element in a list you can:
Use language‑specific functions (e.g., torch.topk in PyTorch).
Sort the list and pick the k‑th element (e.g., numpy.sort).
When only the top‑k values are needed, avoid full sorting for better performance.
Weichao's Answer
Even though the author is not a professional developer, they share practical habits gained from a popular open‑source project with thousands of GitHub stars:
After completing a full project, subsequent projects become iterations on the same workflow. If you haven’t experienced a complete cycle, seek one that includes design, implementation, testing, deployment, and optimization.
Identify the correct search keywords and read API docs instead of reinventing wheels. Convert unknown problems into known ones. Example: finding the k‑th value in a list.
Master a few core data structures—list, dictionary, and basic tree structures. Most needs are covered by standard libraries.
Design before coding: sketch module boundaries, inputs, and outputs early. Continuous redesign is normal, but an initial design prevents getting lost.
Leverage IDEs (e.g., PyCharm, Spyder) and tools like Kite for code completion; use CI platforms (CircleCI, Travis CI) for automated testing.
Write code boldly and share it on GitHub; feedback and community use are valuable motivators.
Da Bo's Answer
Treat every line of code, document, and configuration as part of a hand‑over package. Include detailed descriptions of config files, packaging steps, deployment procedures, test environments, TODOs, and extensibility notes so the next developer can understand and appreciate the work.
Huang Yu's Answer
Even with a background in chemistry and limited early programming experience, the author emphasizes learning by inheriting existing codebases, gradually building a personal library, and leveraging that knowledge to achieve rapid career advancement.
Generic Programmer's Answer
Transitioning from a developer to an engineer involves moving from merely implementing features to understanding underlying principles:
For PHP developers, adopt data‑driven design to replace tangled if‑else logic with configurable structures.
For JavaScript developers, embrace event‑driven and asynchronous patterns, design a unified event management system, and separate UI modules for better maintainability.
Overall, focus on architectural thinking, design patterns, and the ability to abstract problems rather than relying solely on copy‑paste solutions.
Li Peng's Answer
The biggest leap comes from mindset: when you find difficult problems interesting, solving them becomes rewarding, and repeated effort eventually leads to breakthroughs.
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.
