Article in English: Core programmers are merely advanced programmers who made the transfer from programming applications to programming code units to be used by other programmers.  Most library developers use one or both of them.  The more programming paradigms and languages you cover, the more successful you become as a library/package programmer.   Try to use standard code whenever possible. This is useful during the early phase of becoming a library/package programmer. Start with simple packages like units conversion and intermediate scientific calculations packages. If you are a college student, make use of your non-programming courses by trying to implement their equations and scientific core as libraries. First download binaries/executables of the package. Try to use it and find its strong and weak points. After you've done that, download the source and try to figure out how it was done. Try to recreate those libraries or parts of them. At first, do that after you've seen the code and later before you see the code. At later phases, try improving those libraries. Usually, library/package programmers tend to think recursively and/or iteratively of all problems they are presented with. Try to think of each problem as a collection of smaller problems (a sequence of simpler tasks) or as a repeated process of reducing the problem's scope to smaller scopes and then piling those scopes upon each other. Library/package programmers tend to generalize. That is, when presented with a simple specific problem, they usually think of a more general problem and try to solve that general problem which will automatically solve the smaller one.

Summary in Vietnamese:
Hiểu được lập trình lõi là gì. Nếu bạn chưa học, thì hãy học một ngôn ngữ lập trình hỗ trợ cho việc xây dựng các thành phần/gói tái sử dụng được. Học một khóa nâng cao về UML và ORM. Tham gia một khóa về kỹ thuật phần mềm. Ít nhất phải tìm hiểu các kỹ thuật và khái niệm lập trình dạng mô đun, dựa trên thành phần, hướng đối tượng và theo sự kiện. Học thêm về các hệ điều hành khác nhau và các khung công việc lập trình được hỗ trợ bởi các hệ điều hành này. Tập trung nỗ lực học tập của bạn vào các khung công việc, các ngôn ngữ lập trình và các công nghệ độc lập với nền tảng. Nếu các ngôn ngữ bạn học cho đến giờ có các phiên bản theo tiêu chuẩn ANSI/ISO/IEEE/W3C, thì hãy nắm vững các tiêu chuẩn. Hãy thử bắt chước các thư viện đơn giản đã được lập sẵn, đặc biệt là các thư viện mã nguồn mở. Tìm kiếm và thử các gói nguồn mở trong lĩnh vực lập trình của bạn. Hãy nghiên cứu các phương pháp tiếp cận khác nhau để phân phối và triển khai các thành phần tới các lập trình viên.