Инженер-программист Джин Линецки рекомендует пройти вводный курс по одной или всем дисциплинам из такого списка: логика; дискретная математика; язык программирования. Примите участие в различных парадигмах программирования, начиная с последовательного/процедурного и заканчивая объектно-ориентированным, после функционального и логического программирования. Для начинающих предпочтительнее Ruby/Python/Pascal, а после некоторого хорошего понимания углубитесь в C++/C#/Java. После этого изучите концепции баз данных, такие как таблицы, представления/запросы и процедуры. Для этого можете использовать любой простой пакет базы данных: MC Access; DB V; Fox Pro; Paradox; MySQL. Следующий шаг — решить, каким именно программистом хотите стать. Так определите для себя технологии и языки программирования, связанные с выбранной областью программирования.