Author Topic: Взаимопомощь  (Read 9914 times)

0 Members and 1 Guest are viewing this topic.

Offline mcgru

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Взаимопомощь
« on: January 04, 2005, 19:49:55 »
После более тщательного обдумывания возможного рабочего места и стиля работы с принимаемым сотрудником (http://www.sysadmin.tomsk.ru/index.php?showtopic=67), родилась идея.

Есть некий социум програмимстов. Часть нас устроена, часть имеет желание и возможность подработать.
Поставленные (собственным интересом, начальником, появившейся проблемой) задачи мы можем: а) решить сами и быстро, б) решить сами но долго, в) вообще не можем или не хотим решать
Случай "а" ясен - появилась задачка, мы тут же сами ее решили.
В случае "в" мы делегируем задачу другим - или своим подчиненным, или покупаем софт, или даем объявление - предлагаем вакансию программиста.
Наше поведение в случае "б" не такое явное, как в пунктах "а" и "в".
Мы рождаем продукт корявым и в муках, долго, а иногд и вовсе по истечению некоторого времени насовсем бросаем задачу.

А что если...

Есть этот форум. Есть программеры, читающие этот форум.
У меня, например, рождается задачка. Я ее описываю здесь (на свой страх и риск я могу полностью описать задачу и "отдать" программную реализацию кому-либо другому, но могу поставить задачу частично). Народ смотрит на нее, у кого-то пробуждается интерес - академический или меркантильный. Оговариваем кто именно будет заниматься решением програмистской задачки, договариваемся о ценах/зарплатах, и выдаем поручения. Исполнитель создает решение задачи, уведомляет заказчика, выдает ему результат в виде урезанного екзешника или в нескольких словах алгоритм решения и тспользуемые средства, и те встречаются друг с другом во время передачи результатов труда и оплаты за труд.

По мере такого сотрудничества можно будет завести черные/серые списки в случае мошенничества заказчика или исполнителя.

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

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

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

Обсудим?

Offline mcgru

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Взаимопомощь
« Reply #1 on: January 05, 2005, 03:20:50 »
извиняюсь, что написал тут, а не в разделе Common:Программирование

Offline ack

  • Jr. Member
  • **
  • Posts: 75
  • Karma: +0/-0
    • http://
Взаимопомощь
« Reply #2 on: January 05, 2005, 22:43:49 »
В теории все логично и красиво, но жизнь - штука сложная.
Сам выполнял несколько коммерческих проектов, а также руководил некоторыми из них. Сложностей гораздо больше, чем описано выше.
Во-первых, есть проекты, которые одному программисту не поднять. Нужна команда, нужны тестеры. Часто в команде уровень программистов разный. Некоторым вообще нельзя доверить даже написание простого модуля - ошибок до хрена - человек пишет программы на уровне студента - главное чтоб работало здесь и сейчас. Второй пишет так, что потом хрен разберешься в его коде, все алгоритмы работают через ж0пу. Просто у этого программиста мышление устроено нестандартно.
Во-вторых, заказчики кидают, к сожалению, достаточно нередко. По крайней мере в моей практике эта ситуация происходила дважды с совершенно разными заказчиками. Даже если есть т.з., договор и т.д. - обязательно найдутся места, которые несогласованы внутри предприятия-заказчика, т.к. часто люди, которые дают задания, по уровню развития недалеко ушли от юзеров-кликеров по кнопкам, и слабо разбираются в тонкостях.
В-третьих, если программа написана случайным программистом-халтурщиком, ни о какой поддержке не может идти речь. Если программа "работает" сейчас и на первый взгляд не содержит ошибок - это еще не значит, что она будет работать завтра или не свалится в какой-нибудь непредусмотренной ситуации. Заказчиков тоже это вряд-ли устроит. Им безопаснее обратиться в хорошо зарекомендовавшую себя софтверную фирму, а не к незнакомому человеку.

Offline netme

  • Newbie
  • *
  • Posts: 15
  • Karma: +0/-0
Взаимопомощь
« Reply #3 on: January 06, 2005, 18:17:11 »
А по моему идея стоит чтобы попробывать.
Я незнаю какого проффесианального уровня люди сюда заходят, но если это заработает, то таким как я проще будет набрать опыт и работать в "... зарекомендовавшую себя софтверную фирму ...". Поскольку мне даже трудно с чего-то начать, так как меня не окружает ни один программист с которым можно было просто пообщатся по поводу программирования, организации кода и подходов, находит и пазрешать вместе реальные коммерческие проекты. Единственный выход это freelance, но это все как-то туманно в одиночку хотя и возможно.

Offline SinClaus

  • Sr. Member
  • ****
  • Posts: 453
  • Karma: +6/-2
Взаимопомощь
« Reply #4 on: January 06, 2005, 21:35:53 »
>mcgru
У тебя неплохо описан алгоритм разработки по GNU-той модели, т.е. тестером является юзер, а деньги берем за поддержку и на развитие. Коммерческий софт вскладчину писать тяжело и малореально.

>netme
Пардон за язвительность, но грамотность для программера - условие необходимое (и внимательность к тому, что написал - тем более)
Самый страшный вирус называется юзер.

Offline netme

  • Newbie
  • *
  • Posts: 15
  • Karma: +0/-0
Взаимопомощь
« Reply #5 on: January 06, 2005, 23:43:27 »
Quote
Пардон за язвительность, но грамотность для программера - условие необходимое (и внимательность к тому, что написал - тем более)

Быть грамотным в чем-то это хорощо, но не каждый программист смог бы учится на филалогическом факультете ТГУ, поверь.

Offline mcgru

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Взаимопомощь
« Reply #6 on: January 07, 2005, 01:29:18 »
Quote
Быть грамотным в чем-то это хорощо, но не каждый программист смог бы учится на филалогическом факультете ТГУ, поверь.
[snapback]387[/snapback]
программер должен уметь многое :) попробуй пропарсить слово "проффесианального" - у тебя, вопреки английского profession, в слове три ошибки :) причем третья - афедронная какая-то :)

Offline mcgru

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Взаимопомощь
« Reply #7 on: January 07, 2005, 02:17:32 »
Quote
Во-первых, есть проекты, которые одному программисту не поднять.
это одна из причин почему я пишу здесь на форуме, а не правлю свой сорец.
Не поднять мне свою задумку. Целый год делаю подходы, но времени (внимания) не хватает.

Quote
Некоторым вообще нельзя доверить даже написание простого модуля - ошибок до хрена - человек пишет программы на уровне студента - главное чтоб работало здесь и сейчас. Второй пишет так, что потом хрен разберешься в его коде, все алгоритмы работают через ж0пу.
В случае, когда программист, взявшийся за работу, делает что-то совсем не так, как задумывает заказчик - можно всегда сказать "пардон, не утруждайте себя помощью нам - в ваших услугах ПОКА не нуждаемся", оплатив некоторую часть его рабочего времени.
Ну и такого (начинающего) программиста всегда можно прописать в "серый список"

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

Quote
Даже если есть т.з., договор и т.д. - обязательно найдутся места, которые несогласованы внутри предприятия-заказчика,
да, именно. Когда появляется бумага, обязывающая кого-то, всегда есть боязнь, что ее неправильно составили, и что можно найти место по которому можно кинуть.

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

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

тут на форуме такие есть? ;)
неправильно поставленная задача не сможет сподвигнуть читателей на немедленную реакцию в виде предложения поработать над ней.

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

я не имел в виду создание некой софтверной фирмы, сотрудниками которой являются читатели этого форма - нет.
Многие из нас не только администрят, но и программируют (клиентские части, серверные). Создают программы не только на продажу, но и решая какие-нибудь академические задачи.

На этом форуме (и не только на этом) неоднокартно кто-нибудь пишет - "помогите разобраться с глюком в программе", "подскажите как в этом месте лучше сделать", "можно ли при помощи того-то сделать то-то". Есть добрые и знающие люди, которые подсказывают ответы.
Но есть люди которые "знают, но молчат" (ибо с какой это стати они за просто-так будут делиться своим опытом?), и есть люди, которые "в курсе как это приблизительно делается" и которые не прочь бы договориться с человеком, который поставил вопрос, о небескорыстной взаимопомощи.

Насколько я помню, основной "валютой", обращающейся в среде линуксоидов при организации взаимопомощи, являетя пыво. Измеряетя в бутылках.
А что если перевести этот принцип оплаты из области взаимопомощи при установке/конфигурирования линукса в область решения программистских задач? Только валюту бы сменить...

и еще обращение к "ack":
На мой взгляд, _рассматривать_ нормально документированный  и более-менее оформленный чужой код - гораздо приятнее и быстрее, чем создавать свой код и проводить над ним серию гамма-тестов.
Выработка норм по объемам документирования, по оформлению тесктов исходного кода, а также по постановке тех.задания на разработку программы/модуля - дело времени.

(продолжение следует)
« Last Edit: January 07, 2005, 02:22:28 by mcgru »

Offline mcgru

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Взаимопомощь
« Reply #8 on: January 07, 2005, 02:34:00 »
Quote
Коммерческий софт вскладчину писать тяжело и малореально.
Как и говорил ack, коммерческий софтверный продукт надо поддерживать. А по устным договоренностям востребовать чего-либо с человека очень сложно - обязательства вполне могут закончиться с оплатой труда и при передаче результатов труда. Сложно, но не невозможно.
Если исполнитель сделал очевидный баг, и даже если "подрядчик" не заметил этого бага при приемке, то почему бы исполнителю не исправить баг за счет своего рабочего времени (хотя бы затем, чтобы не упало мнение об исполнителе как об опытном программисте)? Да и "подрядчик", просматривая чужой код (с нормальным документированием), вполне сможет залатать мелкую дырочку сам.

Ну и вообще, можно небескорыстно помогать в некоммерческих или полукоммерческих проектах.

Основная линия моей мысли:
у меня сейчас нет времени (а может и просто лень) заниматься такой-то задачкой. Я могу описать ее на словах, и мне нужна реализация в коде. ЗаплачУ я столько, насколько договоримся, при условии соответствия решения техническому заданию.
« Last Edit: January 07, 2005, 02:35:28 by mcgru »

Offline SinClaus

  • Sr. Member
  • ****
  • Posts: 453
  • Karma: +6/-2
Взаимопомощь
« Reply #9 on: January 07, 2005, 15:42:46 »
Quote
... Да и "подрядчик", просматривая чужой код (с нормальным документированием), вполне сможет залатать мелкую дырочку сам.

Основная линия моей мысли:
у меня сейчас нет времени (а может и просто лень) заниматься такой-то задачкой. Я могу описать ее на словах, и мне нужна реализация в коде. ЗаплачУ я столько, насколько договоримся, при условии соответствия решения техническому заданию.
[snapback]391[/snapback]

Ну вот и уточнение - GNU/НеGNU, но предполагаются OpenSource проекты!
Самый страшный вирус называется юзер.

Offline ack

  • Jr. Member
  • **
  • Posts: 75
  • Karma: +0/-0
    • http://
Взаимопомощь
« Reply #10 on: January 08, 2005, 14:18:15 »
Quote
В случае, когда программист, взявшийся за работу, делает что-то совсем не так, как задумывает заказчик - можно всегда сказать "пардон, не утруждайте себя помощью нам - в ваших услугах ПОКА не нуждаемся", оплатив некоторую часть его рабочего времени.

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

Quote
Ну и такого (начинающего) программиста всегда можно прописать в "серый список"

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

Quote
Кидалово зачастую связано с обещанием "когда-нибудь" выплатить неплохой бонус. На ежемесячные (или просто периодические) платежи обычно не жалуется никто из исполнителей.
Не только...
Способов кинуть, к сожалению очень много :(

Quote
Кидальщика, опять же, можно занести в "черный список".

Пжалста. Первой строкой можно прописать туда ИЦ ТГУ. Но что толку. Деньги и потраченное время все равно не вернешь.

Quote
я не имел в виду создание некой софтверной фирмы, сотрудниками которой являются читатели этого форма - нет.

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

Quote
Насколько я помню, основной "валютой", обращающейся в среде линуксоидов при организации взаимопомощи, являетя пыво. Измеряетя в бутылках.
А что если перевести этот принцип оплаты из области взаимопомощи при установке/конфигурирования линукса в область решения программистских задач? Только валюту бы сменить...

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

Offline mcgru

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Взаимопомощь
« Reply #11 on: January 09, 2005, 12:58:27 »
ack, судя по твоей речи, ты уже сталкивался с проблемами наёма программистов. Спасибо за дележку опытом тут, буду иметь в виду.
Но все же хотелось бы еще пообщаться на эту тему.
Quote
Как на ранней стадии можно распознать, что программист не справляется с поставленной задачей?
Дать ему пару тестовых задачек? И потратить свое время на "разбор полетов".
Сразу выяснится - или чел совсем не пригоден, или челу надо 2-4 недели приноравливаться (вместе с тобой), или чел все прекрасно сделал и готов к труду.

Quote
С другой стороны зачем вообще ему платить, если все что он написал можно спокойно спихнуть в корзину и начать писать заново.
Другое дело, если кандидат тестовые задачки решил хорошо, но потом дело пошло как-то не так, и программист начал халявить - действительно, понадеявшись на прошлое качество работы, меньше времени уделяешь проверке работоспособности свежесделанной программы/модуля.
Но, на мой взгляд, есть и в этом случае пути наименее убытоточного разрешения проблемки. Если ставить задачу создания модулей, а не какого-нибудь большого участка программы, то, нарвавшись на некачественное написание модуля, можно приостановить работу с программистом, объяснив ему причину и попытавшись с ним на пару объясниться - какое качество работы будет удовлетворять.

Quote
Благо, Томск производит большую кучу дипломированных программистов каждый год.
Так ведь не нужно оценивать человека по бумажке (липовых дипломов пока еще много у нас в городе/стране) - поговорив с только выпущенным специалистом, можно четко определить степень соответствия знаний в его голове с оценкой этих знаний в дипломе. Опять же, постановка тестовой задачки с указание определенных сроков исполнения так же может сказать - липовый ли специалист.

Quote
Опять все сводится к тому, что безопаснее обратиться в софтверную фирму.
200 баксов за написание технического задания... Для больших проектов эта сумма, конечно, небольшая.


Quote
Деньги и потраченное время все равно не вернешь.
Риск, конечно, имеется, как и в любом мероприятии. Но чем мельче мы дробим задачку, тем меньше мы рискуем.

Quote
Вот как раз, если учесть все недостатки твоей модели и постараться предотвратить их злотворное влияние на заказчика и исполнителя, то получится софтверная фирма, внутри которой не будет бумажной волокиты,
но ведь программисты в такой фирме должны будут проводить почти всё свое рабочее время, так?

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

Quote
Серьезные фирмы никогда пивом не платят. А начинающие линуксоиды не могут себе позволить платить деньгами. Надо таки сначала с нишей определиться.
Ниша - небольшие задачки, такие, которые бы я, например, сделал бы за 3-14 дней. Потратить 1 день на постановку задачи и 1 день на прием результатов, остальное время тратит зафрахтованный программист, пусть 6-28 дней.
Можно и по суммам определить нишу. Например, до 500USD - нанимать отдельного программера, выше - обращаться в софтверную фирму.
Кстати, если посоветуешь фирму, у которой накладные не слишком велики - буду рад. Заодно подскажи - насколько требовательна та фирма к точности тех.задания (насколько скурпулезно нужно описывать требования). А то наверняка есть такие фирмы, которые будут только рады тому, что заказчик в письменной форме не может изложить все требования к программе (по-большей части в устной), и сделают программу/модуль таким как описано в несовсем полном тех.задании, возьмут деньги и... а заказчик останется неудовлетворенным. Это я к тому, что фарисейство никуда не делось, а тех.задание в письменной форме еще нужно уметь составлять.

Offline Wut

  • Newbie
  • *
  • Posts: 36
  • Karma: +0/-0
Взаимопомощь
« Reply #12 on: March 15, 2005, 13:53:05 »
Судя по-всему эта идея так и осталась просто идеей, а жаль )-:
Si vis pacem -- para belum