Programátoři core systémů jsou jednoduše pokročilí programátoři, co přešli z programování aplikací na programování kódů, které mohou použít i jiní programátoři.  Většina vývojářů knihoven přinejmenším jeden z nich používá.  Čím více programovacích paradigmat a jazyků ovládáte, tím úspěšnější programátor knihoven/balíčků se stanete.   Snažte se porozumět standardním kódům, kdykoliv je to možné. Především open-source knihovny. Budete to pro vás užitečné především v počátečeních fázích vašeho studia na programátora knihoven/balíčků. Začněte s jednoduchými balíčky, jako jsou převody jednotek a středně pokročilé vědecké výpočty. Pokud studujete vysokou školu, snažte se využít ostatních předmětů, které studujete, a udělejte knihovny na základě jejich rovnic a vědeckých základů. Nejprve si stáhněte binární nebo spustitelné soubory daného balíčku. Zkuste je použít a všimněte si jejich silných a slabých stránek. Poté si stáhněte zdroj a zkuste zjistit, jak to bylo uděláno. Zkuste tyto knihovny nebo jen jejich části znovu vytvořit. Udělejte to však až poté, co jste viděli zdrojový kód. Později to můžete zkusit udělat, aniž byste se na něj podívali. V pokročilejší fázi zkuste tyto knihovny vylepšit. Obvykle se programátoři knihoven/balíčků snaží přemýšlet nad všemi problémy  rekurzivně a/nebo iterativně. Snažte se přemýšlet nad každým problém jako nad sbírkou malých problémů (sekvence jednodušších úkolů) nebo jako nad opakovaným procesem snižování scope (česky přibližně "rámec působnosti") problému do menších scope a pak nahromadění těchto scope jeden na druhý. Programátoři knihoven/balíčků mají tendenci generalizovat. To znamená, že když se potýkají s jednoduchým konkrétním problémem, tak obvykle zároveň přemýšlí nad obecnějším problémem. Vyřešením obecnějšího problému tak automaticky dokáží vyřešit i onen menší problém.
Zjistěte si, co zahrnuje programování core systémů. Pokud jste to ještě neudělali, naučte se programovací jazyk, který podporuje tvorbu opakovaně použitelných komponentů/balíčků. Udělejte si pokročilý kurz v UML a ORM. Udělejte si kurz v softwarovém inženýrství. Naučte se alespoň modulární, komponentové, objektově orientované a událostmi řízené programovací techniky a koncepty. Naučte se více o různých operačních systémech a programovacích frameworcích, které tyto operační systémy podporují. Zaměřte svou pozornost na frameworky, které jsou nezávislé na platformě a programovací jazyky a technologie. Pokud programovací jazyky, které jste se zatím naučili, mají ANSI/ISO/IEEE/W3C standardní verze, ovládněte tyto standardy. Snažte se napodobit jednoduché, delší dobu zavedené knihovny. Vyhledejte a vyzkoušejte si open-source balíčky, které jsou pro vaše pole programování. Naučte se rozdílné přístupy, které programátoři používají k distribuci a rozmístění komponentů.
Zjistěte si, co zahrnuje programování core systémů. Pokud jste to ještě neudělali, naučte se programovací jazyk, který podporuje tvorbu opakovaně použitelných komponentů/balíčků. Udělejte si pokročilý kurz v UML a ORM. Udělejte si kurz v softwarovém inženýrství. Naučte se alespoň modulární, komponentové, objektově orientované a událostmi řízené programovací techniky a koncepty. Naučte se více o různých operačních systémech a programovacích frameworcích, které tyto operační systémy podporují. Zaměřte svou pozornost na frameworky, které jsou nezávislé na platformě a programovací jazyky a technologie. Pokud programovací jazyky, které jste se zatím naučili, mají ANSI/ISO/IEEE/W3C standardní verze, ovládněte tyto standardy. Snažte se napodobit jednoduché, delší dobu zavedené knihovny. Vyhledejte a vyzkoušejte si open-source balíčky, které jsou pro vaše pole programování. Naučte se rozdílné přístupy, které programátoři používají k distribuci a rozmístění komponentů.