в первую очередь вы должны выбрать язык программирования , который вам будет интересен .Вот список языков программирования - ( https://habrahabr.ru/post/179987/ ) . Основные языки это С , C# , Objective-C , С++ , Java , JavaScript , Python , Swift.
во вторых , после того как вы определились с языком вы можете поискать в интернете обучающий материал , к примеру для языка Java , есть отличные курсы JavaRush и много других , таким образом вы получите основную базу знаний необходимых для того , чтобы устроиться на работу начинающим программистом . Сколько у вас на это уйдёт времени зависит от того на сколько усердно вы будете трудиться , но при усердной работе за пол года вы сможете добить хороших результатов почти в любом из языков , конечно всё это зависит от многих факторов ( выбора языка , количество потраченного времени , ваши изначальные способности ) . Вы спросили о книгах но тут не посоветуешь одну определённую книгу для всех языков , определитесь в коком направлении вы намерены двигаться , а потом уже спросите о книгах .
В третьих - очень важным фактором является постоянная практика , практика даст вам возможность ориентироваться в языке , понимать смысл того что вы делаете и как это нужно делать , благодаря практике вы будете узнавать о новых потенциалах языка и тем самым будете развивать свои знания в программировании.