Это, в общем-то, очевидно: если отбросить занятие программированием в качестве способа заработать на жизнь, то влюбиться в программирование так же легко, как и в любое другое занятие — достаточно того, чтобы «начало получаться».
Представьте, что вы вешаете картину на стену. Вам нужно найти гвоздь, измерить стену, понять, куда его надо вбить, потом, собственно, вбить, высунув от напряжения и удовольствия язык, повесить на вбитый гвоздь картину, отойти на шаг и полюбоваться тем, что вы только что сделали.
Самые приятные моменты в программировании чем-то похожи. Программисту, как правило, приятно не тогда, когда написанная им программа заработала (хотя после многочасовых отладочных сессий бывает и такое), а когда он находится «в потоке». В этом состоянии программа пишется сама собой, задача не кажется неприступно сложной или до скуки простой, вас ничего не отвлекает, все части вашего нового творения хорошо подходят друг к другу и всегда понятно, что вы будете делать в следующий момент.
Чтобы влюбиться в программирование, можно попробовать начать работать над тем, чтобы это состояние появлялось как можно чаще. Например, попробуйте разобраться в каком-нибудь вопросе максимально глубоко, задавая себе вопрос «Как это работает?» раз пять подряд. Например: «Как работает оператор [] на словарях в Питоне?» — «Он интерпретируется как вызов метода getitem» — «А как работает метод getitem в словарях?» — «Вычисляет хэш-функцию переданного ключа» — «А как работают хэш-функции?» — и так далее. Тогда в следующий раз, когда вам придётся работать с этим оператором, вам не придётся прерывать себя поиском ответа в интернете.
Не забывайте, что и после всего этого может оказаться, что программирование вам не мило. Но даже и в этом случае польза от всего написанного выше всё равно есть: этот же подход можно применить и к любой другой профессии.