1. Выберите язык программирования: если вы абсолютный новичок и только начинаете свой путь, начните с Python или JavaScript, они считаются одними из самых дружелюбных для начинающих языков.
2. Освойте основы: есть множество онлайн-ресурсов, которые помогут вам в этом, такие как Codecademy, Coursera, edX, freeCodeCamp. Также есть отличные книги.
3. Практикуйтесь: совершенствование навыков программирования требует практики. Попробуйте решать различные задачи на сайтах как Codeforces, LeetCode.
4. Проектируйте и стройте: лучший способ научиться программированию - это создать что-то свое. Попробуйте разработать небольшой проект, который вас интересует.
5. Используйте ресурсы: используйте ресурсы, такие как Stack Overflow, Github, чтобы изучить лучшие практики и получить помощь при необходимости.
6. Развивайте логическое мышление: играйте в шахматы, паззлы, решайте логические головоломки, решайте задачи на алгоритмах и структурах данных. Зачастую, это помогает в развитии логического мышления.
7. Объясните другим: научиться объяснять сложные идеи проще - это замечательный способ закрепить свои знания. Попробуйте научить друга или напишите статью о том, что вы узнали.
8. Не бойтесь сложных задач: продолжайте практиковать, даже если задачи кажутся сложными. Разбивайте большие задачи на меньшие. Рабочий процесс и процесс обучения могут быть похожи на "два шага вперёд, один назад", и это нормально.
9. Окружите себя сообществом: присоединитесь к сообществу программистов, где вы можете получить поддержку и мотивацию. В это сообщество могут входить люди, которые тоже начинают свой путь в программировании, и профессионалы, которые уже прошли этот путь.
10. Будьте готовыми к постоянному обучению: технологии быстро меняются. Это означает, что вам придется постоянно учиться и приспосабливаться к новым технологиям и языкам программирования.
По поводу книг, могу порекомендовать "Искусство программирования" Дональда Кнута, "Структура и интерпретация компьютерных программ" Харольда Абельсона и Джеральда Сассмана, а также "Алгоритмы: построение и анализ" Томаса Кормена.