Сошлись быдлокодеры и строители велосипедов! Одни не могут отойти от клепания по шаблонам, другие постоянно озабочены фатальным недостатком. Когда же вы запомните, что в программировании нет серебряной пули?!
Да, начиная любой проект, следует поискать аналоги. Но не стоит пытаться свести свою задачу к уже существующей, если они существенно различны или решение по какой-то причине не подходит. Возьмите только то, что нужно вам и хорошо у вас работает. Не стоит и городить всё с нуля: это просто глупо. Однако надо знать, как решение работает внутри. Можно написать простейший велосипедик для себя, чтобы понять, как действует метод.
Как стать программистом? Сперва научитесь работать в команде. Программист-одиночка — это утопия.
Учите технической английский. Без него всё равно никуда. Переведите ман, описание пакета, любую другую документацию. Заодно научитесь сперва читать, а потом кодить.
Учитесь пользоваться системами управления версиями, отдавая свои переводы сообществу. Git вполне подойдёт для старта.
Научитесь чётко описывать, что хотите и что этому мешает. Для этого пишите багрепорты. Бессловесное создание никому не интересно, как и программа без документации.
Сидите на форумах в разделах типа «ищу программу» или «помощь новичкам». Это расширит ваш кругозор и прокачает скилл поиска готовых решений.
Только теперь имеет смысл выучить какой-либо язык программирования. Классическая тройка: С, Perl, Lisp. Впрочем, сейчас можно два последних заменить на Python и Haskell соотвественно. Каждый язык хорош только для своей области, поэтому знать надо всю тройку. Заодно прочувствуете на своей шкуре истину про серебряные пули.
Настала очередь скачать сырцы какой-либо программы и написать свою супер-мега-фичу. Это научит вас читать чужой код и заставит понять, зачем нужны комментарии. Не забудьте отдать код обратно в сообщество и получить критику.
А необходимость писать программу с нуля возникнет сама, но вы уже будете готовы к этому.
Впрочем, вышеописанное относится только к свободному софту. Проприетарщикам в любом случае придётся писать свои велосипеды или работать штамповочной машиной, потому что другого выбора у вас нет.