Евгений Александрович
Евгений Александрович личный блог
29 сентября 2015, 23:41

<< Интересная история>>

День добрый Уважаемые господа

Хочу рассказать небольшую историю про то как мы писали софт для сферы трейдинга.

Это история покажет какие ошибки могут возникнуть.

Уверен кому-то будет полезно!  

Я не писатель и не могу описать все детали по, этому буду предельно краток

Мы небольшой компанией решили как- то написать софт, для торговли на рынке американских фьючерсов. Дело было где-то в начале 2013 года, в тот момент уже была куча решений по типу TS-Lab и прочей лабуды, но если подумать, то приходит понимание того, что ты зависишь от компании, которая написала платформу для алготрейдинга и их техподдержки, которая нех…я не хочет работать.

И от тех идей, которые в принципе эта платформа позволит реализовать, ведь сначала кажется, что можно все, но наделе серьезную вещь там не реализуешь.

 

Поэтому, на ум приходит только нанимать программиста и писать свой софт с нуля. Только так ты будешь уверен в софте и безотказной работе, и если будут ошибки, то в этом виноват будешь ты сам.

Вопрос, но где искать программистов?! Да еще тех, которые понимают в торговле, ведь это важно! Чел должен быть в теме, хотя бы на уровне базиса, иначе все это просто будет писаться годами!

Поискав, ты натыкаешься сначала на компании, которые торгуют и предоставляют софт для клиентов, и ты понимаешь: «Да, вроде софт писать умеют, где-то криво, но, да бог с ним! Все решаемо!»

Ты пробуешь обратиться к таким компаниям и понимаешь, что ценник просто заоблачный!!! Сам понимая, что подобные вещи не стоят того, а дело все в том, что компания тебе ставить ценник как за грааль, который отработает еще 100500 раз, хотя тех задание простое и это всего лишь идея, которую надо протестировать, а не полноценный софт, который будет качать дату, анализировать котировку и выставлять ордера.

Дело вот в чем, все компании, которые пишут софт, уже в начале дерут с тебя последнее, по той причине, что ты пишешь софт для рынка, значит ты будешь грести лопатой бабло ну так плати)))

Хотя, по сложности этот софт на уровне калькулятора! Тут вспоминаешь хуелиус с их торговыми роботами для NinjaTrader или MetaTrader, то есть робот, написанный в самой платформе, где есть массу ограничений по коду и библиотекам которые просто не позволяют написать серьезную вещь, а дерут как за супер-пупер мега ахтунг робот! ну хз друзья!

При этом, каждая компания обещает все сделать по золотому стандарту (написать и протестить)

В реальности, все получается по -другому, те вещи, которые ты описывал в тех задании, они выполняют, но как только касается таких вещей как качество этого софта — не кто не ручается!!!

К примеру, мы написали софт, он постоянно вылетал из-за плохого интернета, так как тестировали в свободное время- на ходу). Так у разработчика просто не хватило ума сделать авто пере-подключение, этого же не-было в тех задании!? И тут просто матом его хочется крыть. (да ты мудила делаешь софт, который работает с передачей пакетов данных, и ты не понимаешь, что такие вещи сами по себе разумеющиеся, они должны быть по умолчанию), Работа переходит из стадии заплатил — получил в стадию заплатил и контролируй каждый шаг!!!! Забегая в перед, так и будет в любом случае иначе не как! В итоге, доходят случаи, когда софт работает, но по каким-либо причинам не работает на другом компе или на другой Windows! И ты, обратившись с проблемой, послан на…й, а ведь ты заплатил бабки и думал, что ты все учел в тех задании, попадаешь в хитрую ловушку все то, что ты не смог предусмотреть в тз, программист предлагает тебе доделать уже на половине сделанной работы, причем это сущая мелочь без, которой тебе не как, будет уже стоить втрое дороже, чем если бы ты описал ее заранее в тз они любят этот прием!!! Программист всегда знает на чем он высушит твой карман до конца, как с моментом срочности они всегда свободны, но будут утверждать, что заняты и смогут приступить только через недельку, но за срочность могут все подвинуть на второй план! Иногда бывает так что, именно тебя двигают на второй план, когда появился новый заказ!

Ты лезешь на форум программистов и узнаешь, что сейчас, твой программист занимается поиском ошибок и просит помощи у сообщества не по твоему проекту)). А ты ждешь!!! И тебе уже не важно, был у вас в договоре указан срок или нет, потому что по сути это херня, а не договор! Подтереться и выкинуть! Ну не поедешь же ты судиться в другой город из-за копеек с программистом!?

В итоге, получаешь не рабочий софт, и идешь с этим софтом к другому программисту, который тебе с 100% УВЕРЕНОСТЬЮ СКАЖИТ НЕТ!!! «Я не буду ковыряться в чужом коде, это просто долго и дорого, легче написать новый и ты заново пишешь тех задание пытаешься учесть прошлый опыт….

Встречаются случаи, когда реализуешь простой индикатор, тебе программист пообещал, что все будет сделано, но индюк работает не корректно. Программист тебе говорит, что проблема в софте и нечего не поделать!!! Вот снова выкинутые деньги и нет продукта…

Бывают случаи, когда некоторые программисты подрабатывают после основной работы, вечером или даже ночами, иногда это хорошо так как он ночью пишет, а днем ты тестируешь, но сложно списаться и обсудить детали и недочеты.

В итоге, очень сложно найти программиста, который будет честен и будет действительно разбираться, и не бросать до последнего конца разработку, даже если он не может найти сразу причину.

Я всегда велся на репутацию программистов, думая «- ну этот точно не обманет, он дорожит своей репутацией! В итоге, всем плевать, потому, что индикаторы, которые писал этот программист будет иметь кучу положительных отзывов, которые с лихвой перекроют мой отрицательный. 

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

В Итоге, мы написали свою разработку спустя два года, когда работы было максимум на пару месяцев!  Помимо денег, ушло очень много нервов, бессонных ночей на бектесты и массу негатива и не доверия к программистам! За этот срок мы умудрились перелопатить десяток программистов и несколько компаний, которые предлагали нам свои услуги. Мучения закончились! Ура!!!!

Будьте внимательны пишете тз очень обдуманно думайте долго пока всех мелочей не учтете

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

На ранних стадиях нужно что бы программист выяснил все подводные камни такого проекта (иногда они сами не знают, что невозможно реализовать ту или иную часть кода а уже обещают тебе сто процентное решение твоей проблемы)

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

Я на sMart-Lab давно писал о недобросовестных людях, которые разводят людей на деньги, и вот мой первый положительный опыт работы с человеком, который сделал свою работу до конца, и я получил то, что я хочу в полной мере и даже больше!

Именно его старанья заставили меня сесть и написать этот пост хотя я не писал на sMart-Lab очень давно

В начале разработки он рассказал обо всех подводных камнях, с которыми мы столкнемся!

Искал решения у сторонних техподдержек, когда столкнулись с трудностями, он не бросил, а искал причину и решение!

По его стараниям видно, что он любит работать и не боится проблем!

Человек может писать сложные продукты а не херачить на TS-lab из готовых блоков и брать за это большое бабло как многие сейчас делают!  

Человек берется за работу с нормальным ценником при том, что ценник не меняется по каким- либо выдуманным причинам !!!

Я с честной душой могу рекомендовать такого человека и знаю мне не будет стыдно за мой отзыв

Для меня важно, чтобы люди в нашей сфере знали кому можно обратиться за помощью и не будут бояться, что их кинут на бабки

Прошу подержать это пост плюсами стариков и новеньких так как добросовестных людей очень мало в нашей сфере

Ниже оставляю контакты для связи с Дмитрием

www.StratoZoo.com

http://smart-lab.ru/profile/Dzam/

plus.google.com/+DmitryMineev/posts

Кому-то пригодиться 


Берегите себя и своих близких
55 Комментариев
  • Дар Ветер
    29 сентября 2015, 23:47
    Какой то поток сознания
    • Лучший Трейдер Смартлаба
      30 сентября 2015, 00:30
      Дар Ветер, Ты просто не представляешь, чтобы найти нормального программиста для написания, чего бы то ни было для рынка-это очень сложно
  • bstone
    30 сентября 2015, 00:18
    Почасовая оплата решает 90% описанных проблем. Попробуйте в следующий раз.
      • bstone
        30 сентября 2015, 08:28
        Евгений Александрович, я не думаю, а делюсь опытом.

        Вы сначала приходите к опытному спецу и даете свое ТЗ — он видит сколько там всего не учтено, понимает, что без дополнительной работы продукт использовать будет невозможно, добавляет в расчеты соответствующую работу и озвучивает вам смету. Вы в ужасе идете на форум и пишете, ничего себе, за два месяца работы столько заломил.

        Потом вы находите какого-то недопрограммиста, который берется за ТЗ лишь потому, что ему никто ничего сложного в жизни не доверял, без анализа, на обум. В итоге вы в шоке — на выходе продукт полная лажа, программист сам не доделывает то, что вы не указали в ТЗ и т.п. Вы мечетесь от одного такого «спеца» к другому 1.5 года и наконец случайно находите опытного альтруиста, который за оставшиеся пол года делает вам то, что изначально вы рассчитывали получить за 2 месяца, по бросовым ценам.

        Как делают опытные разработчики — они озвучат вам свою почасовую ставку и она будет не маленькой. Чтобы вам было проще прикинуть затраты на проект, они озвучат ориентировочные сроки работ. При этом вас предупредят, что фактические сроки могут плавать в определенных пределах, т.к. это не стройка, а интеллектуальная работа, в которой многие факторы сразу учесть невозможно, а в своей оценке они полагаются на свой многолетний опыт. Более того, вас предупредят, что сроки однозначно сдвинутся, если вы что-то не учли в своем ТЗ и потребуете доп. функционал или изменения ТЗ уже в процессе работы (а это происходит в 80% случаев). При этом почасовая оплата гарантирует вам, что разработчик будет также заинтересован в реализации любых дополнений как и основного ТЗ, т.к. он не теряет деньги, реализуя ваши новые требования (как это было в описанном вами варианте), поэтому он не будет тянуть или встречать ваши дополнительные пожелания в штыки.
          • bstone
            30 сентября 2015, 10:38
            Евгений Александрович, ну вот и подумайте, в какой ситуации вы в лучшем положении: когда вы заказали ТЗ с полной или частичной предоплатой и теперь терпите, пока кто-то тянет, или когда вы оплачиваете почасовую ставку и можете в любой момент сказать: «нет, товарищ, с такой производительностью, которую ты показал за последние два-три дня, мы с тобой далеко не уедем!» и попрощаться. Лосей надо резать в зародыше :)
              • bstone
                30 сентября 2015, 11:00
                Евгений Александрович, так это ж характерный признак «спеца» :) Лечится просто — требуете отчет о проделанной работе и далее по окончанию каждого рабочего дня, и если есть сомнения в искренности уже написанного — просите сделать простейшую оболочку, которая позволит вам пощупать некоторые места этого «чистого кода» на уровне вход-выход. Да хоть в командной строке, если реально что-то есть, то там работы на 10 минут. А иначе — лось.

                Например «спец» отчитался в отчете: «Проделал невероятно сложную работу по расчету линии тренда, но это чистый код конечно, который не увидеть пока весь торговый робот не будет в работе». А вы ему: «Пришли мне завтра утилитку test-trend <время1> <цена1> <время2> <цена2> <время3>, которая выдает значение цены на линии тренда в момент „время3“, я проверю, сходится ли с моими расчетами.» И завтра все станет ясно. Я конечно утрирую, но принцип должен быть понятен.
  • Алексей Пуассон
    30 сентября 2015, 00:19
    Согласен на 100%.Я даже еще не дочитав пост подумал о Дмитрии(StratoZoo), а когда дочитал и понял, что речь идет о нем, то даже как то за него порадовался.Мне он писал индикатор и кстати все проблему с которыми пришлось столкнуться(в процессе написания) он исправлял без всяких проблем.
  • dagh
    30 сентября 2015, 00:39
    подтверждаю, в компании толкового программера для написания софта также искали долго.
  • Egorax
    30 сентября 2015, 01:34
    Если вы изначально в ТЗ не указали какие то нюансы, то почему программист должен о них догадываться сам?
    Меня удивляют такие товарищи!!!
    Вам никто не запрещал указать что бы был учтен разрыв связи, или плавающий интернет, или еще что то.
    По сути как в любом ТЗ на разработку робота, крана, машины, электроплиты и т.д. исполнитель читает ТЗ и выполняет условия которые там прописаны и не более.
    Но если в вашем терминале(регионе, районе, городе, области, государстве) бывают проблемы с интернетом(электричеством, компьютерами, рабочими, дорогами и т.д.) то почему исполнитель должен догадываться о ваших возможных проблемах? Если данные проблемы есть то о них необходимо объявлять сразу, а не требовать выяснения этих проблем от исполнителя.
  • MaKKeNi
    30 сентября 2015, 02:04
    Я присоеденяюсь к статье! Описана чистая правда о программисте! Он мего-ответственный и честный.
  • nbvehrfr
    30 сентября 2015, 02:31
    Можно написать зеркальный пост о заказчика с постановкой задачи — сделай то не знаю что.
  • mr.Potter
    30 сентября 2015, 03:27
    Если хотите хорошо торговать учите языки программирования даже основы архитектуры, что бы с программистами общаться), мне пришлось не только трейдинг изучать с 98г. но и бог дал, знаком с пятью основными языками программирования.

    И я вам скажу одно, сделанное своими руками работает на 99% и даже в этом случаи встречаются ситуации которые отгибают убытки, пример недавний сбой на бирже! Поэтому с косячными программистами в России проблемы будут всегда, если даже крупные компании такое рукоблудие в программировании позволяют.
    • Кухонный трейдер
      30 сентября 2015, 04:50
      WildTraider, ИМХО, пять основных языков программирования: Фортран, алгол, лисп, кобол, бэйсик. Не считая ассемблера и программирования в кодах, конечно.
      • Алексей Каленкович
        30 сентября 2015, 10:15
        Анатолий Иванов, фортран, алгол, бейсик? Не смешно. В начале 90-х писал на фортране по работе одну прожку, слава богу подвернулся объектный паскаль и тогда все резко улучшилось. Самый правильный язык -смолток, имхо.
      • mr.Potter
        30 сентября 2015, 23:24
        Анатолий Иванов, да и сколько программ вы на этих языках написал? :) Ну ассемблера для некоторых извращении я ещё пойму.
        Сейчас в основном все С++ Cи (win & lunix), C#, Java используют, исключая прочие интерпритаторы.
        И я не о том, просто программной архитектуру не кто не берёт во внимание при общении с программистами, поэтому так просто тяп-лят соплями под текущее Т.З. сделали и всё, нужно дожимать этот момент. Хороших программистов очень мало у нас иногда просто диву даёшься как вообще они работают.
        • Dzam
          01 октября 2015, 00:03
          WildTraider, В красную книгу хороших программеров!
  • Шура Балаганов
    30 сентября 2015, 04:06
    был на ресурсе, количество проголосовавших за качество исполнения заказа — 7. Это много или мало, хорошо или плохо?
  • Translator
    30 сентября 2015, 04:46
    Евгений Александрович: В Итоге, мы написали свою разработку спустя два года, когда работы было максимум на пару месяцев!
    -----
    Выход из ситуации простой — изучить программирование и писать самому.
    Пригодится на будущее и съэкономит кучу денег и нервов.
  • Кухонный трейдер
    30 сентября 2015, 05:01
    Существуют стадии и этапы создания программного продукта. Как правило, пропуск или нечеткое выполнение начальных этапов приводят к необходимости к ним возвращаться с этапов кодирования или отладки. Что существенно увеличивает сроки выполнения задачи в целом.
    К индусам не пробовали обращаться?
    ИМХО, при планировании работы следовало выделить премиальную морковку для зайца-программиста (что-то типа участия в прибылях или что-нибудь еще), а потом махать ею перед его носом, не давая съесть.
    Не забываем, что отладка программы занимает до половины всего времени разработки.
  • Павел
    30 сентября 2015, 06:47
    Полностью подтверждаю все слова Евгения Александровича. Дело даже не в подробном описании ТЗ и не в каждом чихе, который ты должен учесть в нем. Дело в том, что программист должен быть адекватным человеком и полностью заинтересованным в своей работе. Дмитрий соответствует этому критерию на все 200%. Я тоже много трачу времени на поиск адекватных людей в программировании, обязательно всегда стараюсь встречаться лично с ними, чтобы понимать сможем ли мы вообще вместе работать. Как правило товарищи, которые начинают говорить, что не видят в этом необходимости, что они заняты или что трейдинг любит тишину, сразу же идут лесом ). Дмитрий, всегда готов помочь или просто даже ответить на вопросы по программированию, без всякого высокомерия и заносчивости! Так что очень рекомендую
  • Александр
    30 сентября 2015, 07:35
    даже если напишите «свой» софт, будете зависеть от программиста который написал «ваш» софт.
  • AA
    30 сентября 2015, 07:56
    Очень похоже на хитрую рекламу
  • Spekyl
    30 сентября 2015, 08:51
    Если прогер хороший — поддержу пост.

    Но это Вам просто повезло, как кошелек найти.

    1. Помимо программиста обязательно нужен тестировщик, который примет участие в написании ТЗ и по завершении этапа будет тестировать программу, и просто не перешлет дальше заказчику глючный софт.
    2. Также нужен консультант, который не даст программисту вешать вам лапшу про «недостатки фреймворка» или «отсутствующие биты у вашего процессора».

    Но большая часть программерской шушеры откажется работать при таких условиях, потому что хорошо работать они не обучены и в книжках про «с# за 2 недели» такого нет.

    А поэтому, фундаментально обученный программист стоит не дорого, а очень дорого. Иначе он самому себе не сможет объяснить, почему он тратит свою жизнь на нищебродов-заказчиков, которые сами не знают, чего хотят — а не на работу в центре разработки дойчебанка с прикидкой уйти в сеньоры в блекрок. Когда у тех деньги появятся...
    • Михаил Иванов
      30 сентября 2015, 09:41
      Spekyl, очень с вами согласен. самому тестировать особо нету ни времени, ни желания. также тут работает минус мораль — видеть ошибки в своей «гениальной» программе не хочется :). а пытаться объяснить начальнику/заказчику, почему эта штука именно такая, а вот эта другая — я давно бросил, бесполезно.
  • Михаил Иванов
    30 сентября 2015, 09:35
    я работаю программистом и могу сказать, что любым тз смело подтираются обе стороны, оно лишь служит стартом работ и оплаты. все зависит от одного основополагающего принципа: «в любой ситуации сильнее тот, кому партнер нужен меньше» в своих проектах приходится по несколько раз ездить к заказчику для согласования и отдавать ему продукт для тестирования и выявления новых багов и пожеланий — после этого любое тз можно переписывать практически с нуля.
  • Alex Hazar
    30 сентября 2015, 09:49
    А иногда адекватные программисты просто не связываются с такими клиентами. Хочу то не знаю что за 3 копейки. Клиент пытаясь сэкономить в итоге тратит больше денег сил времени и иногда становится «нормальным» заказчиком с которым можно работать. Я думаю стиль вашего взаимодействия с первым и крайним программистом крайне различался.
  • usertrader
    30 сентября 2015, 10:16
    «и идешь с этим софтом к другому программисту, который тебе с 100% УВЕРЕНОСТЬЮ СКАЖИТ НЕТ!!! «Я не буду ковыряться в чужом коде, это просто долго и дорого, легче написать новый и ты заново пишешь тех задание пытаешься учесть прошлый опыт….» — это неверный программист, то есть непрофик — профику как раз легче взять чужой код и выпилить и допилить его. если вы работаете как хакер- вам одназначно надо уметь разбирать чужой код!
    А так если смотреть по трудоемкости и как все считать то надо смотреть вот этого товарища -> www.twirpx.com/file/298643/ есть более свежая метода с новыми цифрами от 2000 года — можно по гуглить.
      • usertrader
        30 сентября 2015, 15:36
        Евгений Александрович, в СССР всякую хрень не переводили — единственный косяк название на русском не соответсвуют названию на английском, но это видимо издержки издательства. А так фолиант отменный. Сам по этим методикам считал свой диплом еще в СССР. По методике там ничего не устарело — устарели только коэффициенты — но есть новая более свежая модель Боэма. Если бы новые программисты его читали проблем с заказчиками было бы меньше.
  • Lazz
    30 сентября 2015, 10:53
    На программистких форумах ровно такой же плачь но со стороны программистов.

    Все дело в недопонимании.
    Поэтому и существуют такая профессия как постановщик задач. А еще есть бета-тестер и руководитель проекта.

    Предполагаю что Вам в фирмах говорил как раз правильную цену.
    Просто вместо того чтобы заплатить сразу вы заплатили временем.

      • bstone
        30 сентября 2015, 11:05
        Евгений Александрович, и что вы будете делать, когда Дмитрию предложат постоянную работу за нормальные деньги? :)
        • Dzam
          30 сентября 2015, 11:35
          bstone, У меня была такая работа и я с нее ушел. Я хочу делать то, что мне нравится — программировать. И делать это так, как хочу я. А не как меня заставляет начальник, который, иногда даже не понимает того, что просит. :) Конечно сейчас случаев с непониманием еще больше. Но я свободен в выборе с кем работать, а с кем нет. Какие задачи решать а какие нет.
  • MaKKeNi
    14 июня 2016, 00:59
    Почти год назад оставил отзыв. Работал с этим программистом. Могу сказать одно! он делает игрушки для дэмо. Детище не работает с реальными счетами — из-за ошибки слило сразу 15к вражеских. (Повелся на хорошие отзывы демо-мастеров.) На просьбу исправить ошибку — находит +100500 причин, чтоб ему доплатили. Итог — оплачена не одна тысяча за робота, а результата 0. Создам статью опровержения к данной с историей переписки — и скринами со счета. Жаль времени и денег. Подумайте лишний раз, стоит ли овчинка выделки.
  • Кирилл
    03 октября 2016, 16:41
    Допишу и свой опыт общения с этим программистом. К сожалению на его сайте все отзывы под цензурой.

    Из плюсов: он очень хорошо общается и располагает к себе, довольно быстро вникает в задачу, что-то умеет программировать. 

    Из минусов: не смог выполнить задание и отказался вернуть 100% предоплату (да, я лоханулся и все оплатил повевшись на его адекватное общение). 

    Детальнее. Сделал советник, который у меня на компьютере просто не работал. На его компьютере работает (с его слов). Переделать не отказывался, но пропадал неделями на протяжении 2-х месяцев ссылаясь на другие заказы и то, что ему нужно подумать. Б… ть, ты взял работу и получил 100% оплату, какие другие заказы??? Сиди доделывай мой. Потом начал рассказывать, что дистанционно ему сложно понять в чем проблема и я должен дать ему доступ к своему ПК. Э… я торгую, у меня там пароли и явки, давай уж как-нибудь по скайп с демонстрацией я тебе понажимаю все что нужно. Не подходит ему. В конце концов нашел другого программиста, который все сделал. прошу этого Дмитрия вернуть деньги за невыполненную работу. Отказался, оказывается то, что у меня на ПК не работает его программа не является ошибкой. Предлагаю проверить на стороннем оборудовании. Ожидаемо пропал из скайп. Вот такой классный и честный программист:)

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн