Программирование. Стоит ли изобретать велосипеды?

Наверное, каждый разработчик или же программист задает себе этот вопрос как минимум один раз в жизни. После долгих размышлений, не найдя правды,  он отправляется в сеть, что бы найти ответ у себе подобных…Но, попадая в гущу обсуждений и мнений, запутывается в них ещё больше.

Я, так же, как и многие задался этим же вопросом и хочу поведать свою точку зрения на него.

Почему вообще может возникать у разработчиков такой вопрос? Ответ достаточно прост: программист – это творец, ему хочется создавать что-то новое, он воплощает свои идеи и мысли в действительность. Но это только на словах, а что же на самом деле? На самом деле мы видим обычные суровые будни где важна работа на скорость, а не на качество, где собственные решения уже не так важны. Почему? Это следует из того, что наш сегодняшний мир диктует такие правила, создает такие условия – условия выживания бизнеса, так как только он приносит прибыль и доход.

Каждый день на голову программиста сваливается новая задача. Чаще всего это новый проект или расширение возможностей текущего, а время на доработку или углубление совсем не остается. И, когда разработчик пишет код, он утешает себя – «Я это обязательно доделаю, исправлю потом, как появится время», но до этого «потом» очень редко доходит. И скрипя зубами пишется код.

Ведь почти каждому заказчику неважно как работает код или на каких  технологиях, алгоритмах или библиотеках построен проект – ему важен результат и то, что бы его проект приносил прибыль. И порой ему трудно объяснить почему так долго шла разработка какой-то части проекта, ведь казалось бы надо добавить всего одну кнопочку и форму.

Путь в 2 года понадобился мне, чтобы придти именно к этому выводу. Но начинал я амбициозно. Я, как веб разработчик, видел многие фреймворки, библиотеки или же системы управления контентом, но они мне все не нравились. Они были не удобными для меня – не такими как я хотел. И я начал творить – изобретать своё – то, что мне хотелось и нравилось. Я действительно радовался тому, что создавал, хоть и 3 раза все пришлось переписывать =). Чем то это напоминало юношеский максимализм. Но со временем начинаешь понимать, что кроме тебя это не особо кому-то нужно. Бизнесу это не нужно было, он требовал не написания чего-то нового, а выполнения конкретных решений, и все время стало уходить именно на это.

И теперь, начиная новый проект, я, конечно, возьму готовый фреймворк или библиотеку. Пусть они будут порой не удобны, медленнее, сложнее, однако их возможности будут задокументированы, что позволит быстрее подключиться новому разработчику в команду, а главное  — они быстро компенсируют время на разработку.

Так стоит ли изобретать велосипеды? Все зависит от ваших амбиций, возможностей… А самое главное – ответьте себе на один вопрос «Стоит ли это вашего времени?», если «да» — дерзайте. Ведь возможно именно Вы приподнесете  в этот мир что-то новое или новую идею, а не повязнете в рутине программирования.

p.s. Про себя могу сказать точно, что то время, которое я потратил на создание своей системы, не прошло даром. Я узнал и открыл для себя новые вещи, которые я теперь буду уже использовать. А главное — научился создавать что-то своё и понимать, как это работает внутри. И действительно, то, что придумывал – сейчас нахожу похожее в других системах, значит хотя бы я шёл по верному пути.