В первую очередь, чтобы работать программистом вы должны детально понимать, что происходит внутри системы, когда вы пишите программный код. Что и как конкретно будет выполняться, какие "колеса" у каких дисков закрутятся или куда пойдет электрический сигнал для того, чтобы вы получили ответ. Если вы не знаете всей этой "внутренней кухни" и будете думать, что нажал на кнопку и получил результат, это финиш.ТО Вы не сможете прописать код хорошо, быстро и эффективно.