Две основных причины:
1. Для программистов сейчас очень дохрена работы. Посему возможностей куда-либо слинять на большие деньги в другой проект тоже полно.
2. Оценить время проекта в программировании заранее точно очень сложно. Почти невозможно ( читай Брукс "Мифический человеко-месяц", эту проблему осознали почти полвека назад, но до сих пор так полностью и не преодолели, а уж новички годами пытаются научиться правильно оценивать проекты). По мере работы над проектом понимаешь, что тратишь свое время за копейки.
Следовательно:
Осознание, что тратишь свое время за копейки, когда кругом полно проектов - заставляет сливаться.
Есть еще одна проблема - вам же не придет в голову предложить таксисту перевести вашу мебель, когда для этого нужен грузовик? Вы же не нанимаете Камаз или Газель-грузовичок для того, чтобы он довез вас из кафе домой после нетрезвой вечеринки, а обращаетесь к таксисту? Это просто другой класс автомобилей и все это понимают.
С программированием все не так - сложнейшую задачу могут предложить студенту. Специалисту по 1С могут предложить сделать сайт. И т.п. Путают админов и программистов и т.п.
При этом от возможности подтянуть свою квалификацию в новой сфере никто не отказывается. А то, что исполнитель не эффективен в незнакомой ему сфере приводит к усугублению пункта 2.
На данном сайте много программистов, и наверняка, у многих есть и были такие проекты, за которые брались делать, но не заканчивали в силу определенных причин. Проекты, здесь, имею в виду - не свои личные, а заказчика.
Я - нет, не бросаю. Так как я умею объяснять заказчику, что проект будет стоить в разы дороже, чем изначально договаривались.
Но некоторые люди, которым я давал работу - сливались тихой сапой, такое было. Причиной была проблема 2 и их стеснительность в объяснении проблемы 1 (что нужно бюджет пересмотреть). Многим проще слиться, их ломает выйти на разговор и все объяснить.
Еще бывает - программист, не говоря тебе ни слово, становится занят на месяц-другой (другой проект), тянет время с "больным хомячком" и т.п. А потом возвращается и таки заканчивает твой проект.
У меня вот такая проблема наблюдается периодически. Например, месяц назад договорился с программистом о проекте по установке новой верстке на сайт с сохранением текущего функционала, который он должен был сделать за неделю. В результате проект был сдан через месяц, а еще куча багов осталась, некоторые он сделал, некоторые очень важные не доделал. Сейчас просто приходится искать другого исполнителя
В низком ценовом сегменте - это обычная ситуация.
Нормальные специалисты таких косяков не допускают. Хотя 1 неделя в 2 превратиться может запросто.
Есть еще особенность фриленса - вы же у него не единственный заказчик. Он не будет от новых заказов отказываться, так как вы ведь тоже можете слиться и он останется на бобах. Поэтому фриленсер берет все интересные заказы, независимо от того, насколько он занят в данный момент.
Чтобы стать у него главным вы должны не один месяц давать крупные заказы, причем без перерывов, стабильно. Или предложить цену заведомо больше рынка.
Так уже не первый, что с программистом сначала общаешься до начала работы, он кажется супер-профи, а затем, какие то отговорки, продление сроков и так далее. Или просто уже не отвечают.
Часто занижают цену и сроки или по ошибке (их очень сложно оценить точно, если речь не идет о примитивном проекте) или по ошибке
Или осознанно, чтобы взять заказ, перебить конкурентов, а потом выставить дополнительный счет.
Здесь цель у меня не пожаловаться, а разобраться почему так происходит, и наладить работу, чтобы такого не повторялось. Конечно, я понимаю, что один из выходов - самостоятельно изучить программирование, чтобы понимать насколько адекватен исполнитель.Но какие еще есть методы, чтобы проект выполнялся точно и без багов, которые уже другой будет делать.
1. Переходить в другой ценовой сегмент. Прекращать работать с самыми дешевыми специалистами. Хорошие специалисты косяков подобных не допускают. Но их цена не на 10% выше. А в 2-3-4 раза. Я серьезно.
2. Переходить на работу с гибкой системой оплаты (регулярно пересматривать сроки и стоимость, делить проект на мелкие части).
3. Или вообще на почасовку перейти (есть такие программы, которые делают скриншоты и показывают чем занимался работник и вы можете проверить, что вас не обманывают).
4. Контролировать результат, например, раз в 2 дня.