Для программирования достаточно знать синтаксис и иметь логическое мышление. Это как если копателю дали лопату и научили ей пользоваться. Вопрос возникает другой. Зачем копать? Для какой цели и для кого? Вот тут уже действует определение РАЗРАБОТЧИК. Чтобы стать разработчиком, одного знания кода и логического мышления недостаточно. Тут нужно впитывать море информации и работать в разных направлениях, не только связанных с программированием.