Файл с заданием обновлен. Прошу прощения за неправильный до этого.
Есть у меня одна история, из которой я вынес много полезного опыта. Вот думал, что возможно вам будет интересно послушать. Она о том, как я придумал гениальную программу и нанял программиста-фрилансера, который должен был реализовать мою идею. Если бы реализовал, то вместо этой я бы вам рассказывал о преимуществах этой самой программы и советовал ее использовать =). Так как я ни разу не программист, получилось то, чем я абсолютно недоволен. Теперь вот думаю, что, наверное, нельзя нанимать человека делать работу, в которой ты ничего не понимаешь.
Для начала о самой идее. Как некоторые из вас знают, я стараюсь вести учет расходов и доходов как в общем, так и по проектам отдельно. Обычно я делаю это в Excel и прошлым летом подумал, что много времени отнимает то, что в принципе без проблем могло бы делаться автоматически. Вкратце опишу: это была бы такая же штука с таблицами с доходами и расходами, но при этом сама бы, например, разделяла все по месяцам; добавляла сегодняшнюю дату когда пользователь ввел сумму (а потомможно было бы это изменить, но ведь в 90% случаев это будет именно сегодня); автоматически бы в конце месяца сама брала сумму доходов с разных сервисов типа Sape.ru, Mainlink.ru и т.д. (что не сложно сделать с помощью API); позволяла бы смотреть статистику как по месяцу/году, так и по отдельному проекту за все время; строила бы красивые графики и т.д. Такая программка была бы предназначена именно манимейкерам, которые считают свои траты на несколько проектов. Думаю, они были бы пользовались такой программой, а моему блогу была бы лишняя реклама. Если подумать, то фич, которые бы делали этот процесс удобнее, можно придумать еще много.
Но сейчас не о самой идее. Сейчас о том, как я пытался ее реализовать. Нужно было сделать первую базовую версию, чтобы потом было от чего отталкиваться и пошло развитие. Первым делом я, конечно, написал описание всего этого для самого себя с разными заметками и планами на будущее, чтобы ничего не забыть. Потом написал задание для программиста, где как можно более подробно описал, что именно я хочу видеть и какие штуки должна делать программа. Так как никакого опыта никакого программирования у меня нет, это чисто текстовое описание. Можете посмотреть, если интересно:
Дальше мне нужно было найти программиста, который бы за это взялся. Проблема была в том, что я понятия не имел на чем вообще такое можно писать и на чем делать это лучше всего. Но выхода не было – попросил кандидатов самих предложить вариант, который они считают лучшим. Для поиска исполнителя написал на большой форум программистов своего старого друга. О возможной цене я также понятия не имел, так что я подумал сколько примерно может стоить нормальная работа и выбрал исполнителя, который что-то подобное уже делал. Мы сошлись на 5000 рублей и я сделал предоплату.
И тут уже получилась первая ошибка – исполнитель, как я понял через некоторое время, оказался не очень опытным, хоть и готовым учиться (но мне не это нужно было). Изначально это знать я практически не мог никак – он пытался спрашивать у меня какие-то штуки, мол на этом делать или на этом, но об этих штуках я никакого понятия не имел, поэтому не знал правильно ли он делает.
Тут же ошибка вторая – из-за того, что я соглашался на разные штуки, о которых не имею понятия в конце остался недоволен. Например, оказалось, что нужно будет на компьютер кроме самой это программы еще устанавливать Firebird для базы данных. А это мне не нужно. Также она представляла из себя папку, в которой несколько непонятных файлов. Я как человек, который нихрена не понимает в программировании, но смотрит на это со стороны пользователя не считаю это удобным и более-менее солидным.
Через некоторое время он прислал первую версию. Это было в сто раз менее удобно, чем таблицы в Excel, хотя я именно для того, чтобы оптимизировать процесс и задумывал программу. Нужно было постоянно лишний раз нажимать Enter или подтверждать что-то. Зачем? Таким образом, он, видимо, хотел сделать так, чтобы программа смотрелась презентабельнее и профессиональной. Но лишние клики мне меньше всего были нужны, это только пустая трата времени и энергии.
Из-за той же неопытности программиста, он скорее сделал то, что хотел сделать сам и какой видел программу сам, а не то, что описывал я. Мне были важны именно детали, а он почему-то решил, что главное чтобы считалось. Но считать и Excel отлично считает. Или может он не до конца понял, что я хочу, но в этом случае лучше бы спрашивал еще с самого начала, а не интерпретировал описание по-своему. У меня было такое ощущение, что задание он прочитал один раз и забыл.
Я постарался запросить как можно больше исправлений и штук, которые указывал в своем начальном задании. Благо с заданиями у меня опыт есть и я понимал, что нужно указать хотя бы основные вещи четко, чтобы потом было с чего требовать. Одно дело когда-то это было где-то в ICQ и он может отмазаться, другое дело это файл с четким начальным заданием.
В итоге, конечно, я заплатил оставшуюся часть оплаты, т.к. работа была проделана и конечная программа выполняла все описанное в задании. Да и программиста обвинять не в чем, он свою работу сделал. Виноват я сам, т.к. было у меня идеальное видение того, как это все должно работать, но это не значит, что это было возможно точно передать исполнителю и увидеть точно такое вживую и рабочее. Ограничения не технические, то есть реализовать это все можно без проблем, а скорее в моих знаниях и умениях, чтобы это видение передать.
Если кому интересно, то вот оно, то, что получилось. Как я сказал выше, нужно чтобы был установлен и запущен Firebird и при первом запуске нужно прописать путь к БД, которая в той же папке.
Пользуюсь ли я теперь этой программой? Нет. Мне неудобно. Возможно, если бы я продолжил работу, то можно было бы довести ее до лучшего состояния. Но для этого нужны деньги, а тратить их дальше без уверенности результата все-таки нет смысла, особенно учитывая, что проект делался только ради удовольствия и никаких доходов приносить не был должен. Я определенно получил хороший опыт работы с программистом и об уже потраченном не жалею. Но пока продолжу вести учет в Excel-файлах =).
Что вы об этом думаете? Стоит ли нанимать человека делать работу, в который сам практически ничего не понимаешь? Как надо работать с программистами?