Пытаюсь отдать на аутсорс задачи, которые требуют знания языка программирования, платформы и кое-какие справочные знания. Откликаюется много людей, суть cover letter которых в следующем: "Я знаю нужный язык программирования, а ещё у меня куча нерелевантного опыта, про который я всё равно расскажу, как делать задачу я не знаю, но зато я целеустремлённый и пунктуальный". Я думал, что на такое только Кумары и Ашиши способны, но я стараюсь выбирать ребят по всему миру, в том числе СНГ и Европа. На чёткий вопрос о том, как они собираются решать конкретную задачу, отвечают: "Тут нужно разбираться". То есть, как они себе это представляют — я буду платить за то, чтобы они разбирались в том, чего не знают? Пожет я чего-то не понимаю? Я и сам могу разобраться, но я хочу заплатить тому, кто уже разобрался, чтобы сэкономить время. И что будет, если они не найдут решения — вернут мне деньги? Я готов платить по рынку и даже выше, сам был фрилансером, и нисколько не считаю их второсортными, даже наоборот, но только где качественные специалисты? Может что-то изменилось на Upwork, и нормальные контракторы не видят мои посты? Я пытался искать вручную, но почти все отклоняли моё предложение. Может я что-то отталвивающие пишу в постановке задачи? Или русские не хотят работать с человеком с русской фамилией, albeit the location is USA? Вобщем, хотел бы узнать ваши мысли на этот счёт.
Вот пример задачи
A Windows desktop application is required that would be capable to emulate user text input as if it comes from keyboard. The input is a Unicode text string and the output is a series of key-press or other system events similar to that would be fired in case of typing the same text on keyboard. The key feature here is to be able to handle Unicode text **regardless** of the currently active keyboard layout, so it will not work by simply sending keyboard scan codes to the target window, because if the layout is non-English the target window receives wrong input. Text source character set is limited only by printable characters only + the backspace key (sending which, obviously, should lead to clearing previously typed character). There can or cannot be delay between printings of each consequent character. If the Windows API renders the above task infeasible, then an alternative approach is to store the text in the system clipboard and send the scan code for pasting from buffer (Ctrl+V), sending backspace codes should work as well. Additional "points" are for implementing "window lock" mode, where the text can be sent to a particular window only (previously saved), regardless of the current input focus. The solution should be compatible with as much Windows versions and configurations as possible, though the priority is with more recent ones. Lastly, the solution should not employ third-party libraries or external code, except those shipped with the operating system by default.
Если кратко — нужно уметь притворяться клавиатурой и посылать текст окнам. Суть в том, что нужно работать с UTF-8, поэтому скан-коды отправлять неполучится, нужно что-то уровнем выше. Если сам дизайн ОС это позволяет, то работы на пол часа, а если нет — то ничего не получится, как ни крути — только хаки. Ничего изобретать тут не нужно, просто нужно знать возможности системного API. Собственно, за эти самые знания я и готов платить.
И это не единственный пример. Была похожая по типу задача для Android, но там вообще мрак. Видимо, каждый второй, который сейчас "входит вайти" выбирает Андроид для старта.
Здравствуйте, cppguard, Вы писали:
C>Я пытался искать вручную, но почти все отклоняли моё предложение. Может я что-то отталвивающие пишу в постановке задачи?
Здравствуйте, cppguard, Вы писали:
C>И это не единственный пример. Была похожая по типу задача для Android, но там вообще мрак. Видимо, каждый второй, который сейчас "входит вайти" выбирает Андроид для старта.
Так пусть разбираются за свой счёт? В первые недели контролировать деятельность по комитам, и если она слабая — выставлять претензию. Нормальный чел сам скажет, что: два часа разбирался, один делал.
По мне так совершенно нормальное явление, в программировании столько нюансов, что всё запомнить и усвоить нельзя, а разобраться по контексту — очень даже. Ты же не рокет-сайнс просишь, не то, что годами вкуривать нужно.
Денег мало? Если задача "на полчаса", то я бы даже глядеть не стал. Заплатят за полчаса, а переписок, перезвонов и прочей муды будет на две недели.
Почему шлют типовые письма.. Денег мало? Там у всех задачи "на полчаса", за эти две копейки тратить свое время, вчитываться в десятки малопонятных задач (каждый второй еще десять раз все поменяет или в процессе окажется что сама постановка задачи не верна)? Лучше просто спамить, кто ответит — с тем говорить. Т.е. я поспамлю, а заказчик пусть сам там вчитывается в мой опыт и решает нужен я ему или нет, а я не буду тратить на это время.
Вообще, фриланс на мелких задачах, особенно на русскоязычный рынок, — полное днище Собственно, вот там и выживают как могут.
Как выглядят "денег достаточно"? Например, стучаться США и предлагают "короткую задачу" на 3 месяца по 250$ _в день_. Извиняются что такая короткая, поэтому вот рейт побольше.. Там на частичную занятость, т.е. 4-5 часов в день. Да и то, это невысокий рейт. Но у нас обычно вообще слезы.
Как-то не подумал насчёт связи между простой задачей и почасовой оплатой. Вообще, когда я сам фрилансил, я не любил fixed price, потому что наперёд не знаешь, сколько поддержки потом нужно будет оказывать. Исключения были, когда бюджет в расчёте на временную оценку ну очень сильно превышал мой рейт. Поэтому сам я выбираю почасовую оплату для своих проектов, чтобы контракторы были уверены, кто я заплачу за каждый час их работы, и сосредотачивались на задаче, а не на времени, которое они уже потратили на неё. Возможно, действительно, стоит предлагать фиксированную оплату за маленькие проекты.
Здравствуйте, turbocode, Вы писали:
T>Здравствуйте, cppguard, Вы писали:
T>Ваша задача попадает в категорию: продайте мне сорцы готового решения (на которое вы потратили месяцы работы) за $100.
Вы про стиль постановки задачи или про эту конкретную задачу? Реализация этой конкретной задачи под Linux у меня заняла пол часа. И что плохого в том, чтобы продать готовые исходники за разумную цену? Оплату я поставил почасовую, так что никаких ограничений вроде $100 не было, контракторы вольны предлагать fixed price.
Здравствуйте, cppguard, Вы писали:
C>То есть, как они себе это представляют — я буду платить за то, чтобы они разбирались в том, чего не знают? Пожет я чего-то не понимаю?
А что здесь крамольного? Конечно, платить деньги за то что человек разбирается. По итогам недели он пишет отчет: рассмотрел такие и такие библиотеки, посмотрел как сделали там и там. Есть такие и такие варианты, описать в табличке плюсы и минусы.
Если не смог разобраться -- то писать сколько, по его мнению, еще нужно времени.
C>И что будет, если они не найдут решения — вернут мне деньги?
Есть 2 схемы работы:
1. На результат.
2. На время.
Если работа на результат, то ценник за час умножается на 1/вероятность успеха. К примеру, если я вижу что вероятность успеха 20%, то за час буду брать не $20 а $100, в случае успеха. На одном проекте 0 заработаешь, на другом покроешь убытки. Но соглашаюсь на такие авантюры в редких случаях -- лишь когда денег на жизнь есть на 1 год вперед и задача мне интересна.
C>Я и сам могу разобраться, но я хочу заплатить тому, кто уже разобрался, чтобы сэкономить время.
Такое тоже бывает, но маловероятно. Если задача распространенная -- то легче найти опенсорсные реализации. Если редкая -- то вероятность что кто-то из фрилансеров в закромах имеет готовое решение очень мала.
C>И это не единственный пример. Была похожая по типу задача для Android, но там вообще мрак. Видимо, каждый второй, который сейчас "входит вайти" выбирает Андроид для старта.
Да, у меня тоже поубавилось оптимизма, когда пытался делегировать часть работы или принимал участие в поиске исполнителей.
Если человек умный -- он не будет работать по найму. У него будет свой бизнес и уже он будет нанимать вас, а не вы его. Смысл ему тратить свой умище, работая не дебилов (да хоть и не на дебилов)?
Здравствуйте, cppguard, Вы писали:
C>Вы про стиль постановки задачи или про эту конкретную задачу? Реализация этой конкретной задачи под Linux у меня заняла пол часа. И что плохого в том, чтобы продать готовые исходники за разумную цену? Оплату я поставил почасовую, так что никаких ограничений вроде $100 не было, контракторы вольны предлагать fixed price.
"Полчаса", "мне нужен релевантный опыт решения редкой сомнительной задачи", "разумная цена", "почасовая оплата".
Что-то здесь лишнее в ожиданиях.
Ориентировочный срок выполнения стоит минимальный, да? Овчинка выделки не стоит — в лучшем случае за копейки потратишь, как уже сказали, несколько
дней на переписку, а выставишь часов 6 работы на оплату. В худшем — переругаешься с заказчиком, который "сделал для линукса за полчаса, что ты там
делаешь неделю". А результат, которым можно похвастаться — "смотрите, я для подозрительного типа сделал программу, которая зачем-то заменяет
собой клавиатуру, наверняка это в хороших целях, не в целях мошенничества".
Ну вот как-то так это всё выглядит со стороны — подозрительно, муторно и дешево. Попробуй поставить фикс-прайс с интересным бюджетом, может быть кто-то
заинтересуется.
Здравствуйте, cppguard, Вы писали:
C>Пытаюсь отдать на аутсорс задачи, которые требуют знания языка программирования, платформы и кое-какие справочные знания. Откликаюется много людей, суть cover letter которых в следующем: "Я знаю нужный язык программирования, а ещё у меня куча нерелевантного опыта, про который я всё равно расскажу, как делать задачу я не знаю, но зато я целеустремлённый и пунктуальный". Я думал, что на такое только Кумары и Ашиши способны, но я стараюсь выбирать ребят по всему миру, в том числе СНГ и Европа. На чёткий вопрос о том, как они собираются решать конкретную задачу, отвечают: "Тут нужно разбираться". То есть, как они себе это представляют — я буду платить за то, чтобы они разбирались в том, чего не знают? Пожет я чего-то не понимаю?
просто у фрилансера дофига свободного времени, так что он не прочь покорпеть над решением вашей задачи до того, как вы кого-то наняли. за идею и за бесплатно. а если повезёт, то ты наймёшь его.
а если нет -- даже не сочтёшь за честь ответить ему, молча наймёшь другого. ну что — бывает, этот фрилансер потратил время зря. равно, как и все остальные. кроме одного, которого которого ты нанял.
ты сам бы стал работать за такую сумму, которую ты предлагаешь, учитывая все эти риски?
C>Вы про стиль постановки задачи или про эту конкретную задачу? Реализация этой конкретной задачи под Linux у меня заняла пол часа. И что плохого в том, чтобы продать готовые исходники за разумную цену? Оплату я поставил почасовую, так что никаких ограничений вроде $100 не было, контракторы вольны предлагать fixed price.
если у проститутки ценник $100/час, то значит ли это, я просто могу, если мне больше не нужно, снять её на 5 минут? а что, если мне больше не надо. $10, она должна быть довольна. ещё и домой ко мне приехать должна и поулыбаться в течение этих 5ти минут. короче, всё точно также, как и съёме на 1 час. только это на 5 минут.
Здравствуйте, pira, Вы писали:
P>Здравствуйте, cppguard, Вы писали:
C>>Пытаюсь отдать на аутсорс задачи, которые требуют знания языка программирования, платформы и кое-какие справочные знания. Откликаюется много людей, суть cover letter которых в следующем: "Я знаю нужный язык программирования, а ещё у меня куча нерелевантного опыта, про который я всё равно расскажу, как делать задачу я не знаю, но зато я целеустремлённый и пунктуальный". Я думал, что на такое только Кумары и Ашиши способны, но я стараюсь выбирать ребят по всему миру, в том числе СНГ и Европа. На чёткий вопрос о том, как они собираются решать конкретную задачу, отвечают: "Тут нужно разбираться". То есть, как они себе это представляют — я буду платить за то, чтобы они разбирались в том, чего не знают? Пожет я чего-то не понимаю?
P>просто у фрилансера дофига свободного времени, так что он не прочь покорпеть над решением вашей задачи до того, как вы кого-то наняли. за идею и за бесплатно. P>а если повезёт, то ты наймёшь его. P>а если нет -- даже не сочтёшь за честь ответить ему, молча наймёшь другого. ну что — бывает, этот фрилансер потратил время зря. равно, как и все остальные. кроме одного, которого которого ты нанял.
P>ты сам бы стал работать за такую сумму, которую ты предлагаешь, учитывая все эти риски?
P>>просто у фрилансера дофига свободного времени, так что он не прочь покорпеть над решением вашей задачи до того, как вы кого-то наняли. за идею и за бесплатно. P>>а если повезёт, то ты наймёшь его. P>>а если нет -- даже не сочтёшь за честь ответить ему, молча наймёшь другого. ну что — бывает, этот фрилансер потратил время зря. равно, как и все остальные. кроме одного, которого которого ты нанял.
P>>ты сам бы стал работать за такую сумму, которую ты предлагаешь, учитывая все эти риски?
C>А какую сумму я предлагаю?
Это не важно какую конкретно. Я спросил -- ты бы стал? С учётом всех рисков, что я описал.
+ учитывая то, что нужно ещё время на переговоры и задача разовая.
Здравствуйте, cppguard, Вы писали:
C>На чёткий вопрос о том, как они собираются решать конкретную задачу, отвечают: "Тут нужно разбираться". То есть, как они себе это представляют — я буду платить за то, чтобы они разбирались в том, чего не знают?
А как ты себе это представляешь? 95% действительно будут разбираться. Так, как это делал бы ты сам. Потому что задача специфическая.
5% спецов которые уже разобрались, вот так возьмут и четко расскажут тебе, как она решается? Чтобы ты сам взял и решил за полчаса? Или, если ты — честный заказчик, заплатил бы им за полчаса работы?
Здравствуйте, cppguard, Вы писали:
C>Откликаюется много людей, суть cover letter которых в следующем: "Я знаю нужный язык программирования, а ещё у меня куча нерелевантного опыта, про который я всё равно расскажу, как делать задачу я не знаю, но зато я целеустремлённый и пунктуальный". Я думал, что на такое только Кумары и Ашиши способны, но я стараюсь выбирать ребят по всему миру, в том числе СНГ и Европа.
А это не может быть автоматическим ответом, который рассылает робот, если распознал ключевые слова в задании?
C>Вот пример задачи C>Если кратко — нужно уметь притворяться клавиатурой и посылать текст окнам. Суть в том, что нужно работать с UTF-8, поэтому скан-коды отправлять неполучится, нужно что-то уровнем выше. Если сам дизайн ОС это позволяет, то работы на пол часа, а если нет — то ничего не получится, как ни крути — только хаки.
Судя по задаче, это нужно для автоматического тестирования GUI.
ИМХО времени надо побольше. Нужно парсить файл настроек, в котором будет задано, в какое окно и что писать. Потом найти нужное окно. Затем сменить раскладку, конвертировать из UTF-8 в локаль или UTF-16 (в зависимости от того Unicode или нет приложение) и послать WM_CHAR (если бы не нужно было обрабатывать BackSpace, то можно было WM_SETTEXT использовать). Но я очень давно на WinAPI не писал, возможно, есть способ проще.
Затем — всё это протестировать и на это времени уйдёт немало.
C>И это не единственный пример. Была похожая по типу задача для Android, но там вообще мрак.
Думаю это происходит из-за того, что сейчас в основном все пишут с использованием 100500 библиотек и фреймворков (и для большинства задач это правильно). Поэтому — для подобных задач, думаю, рассуждения следующие: — "Помнится, что то такое в API есть. Сейчас загуглю."
AN>Судя по задаче, это нужно для автоматического тестирования GUI. AN>ИМХО времени надо побольше. Нужно парсить файл настроек, в котором будет задано, в какое окно и что писать. Потом найти нужное окно.
Поиск окна тривиален, но если оно нативное. А вот если оно какое-то кроссплатформенное, то начинаются бубны. Я имею ввиду, дочернее окно (контрол). Какой-нить ГуглоХром именно такой. Ну не получится у него вытащить HWND дочернего контрола. Ибо его нет. Это его — гуглохрома — начинки и он там сам рулит. Для винды оно не-окно.
Например: имеем мы HWND какого-то верхнего уровня того же гуглохрома, хотим пошариться по дочерним элементам (контролам). Дык вот всякие там стандартные WinAPI вроде GetWindow(GW_CHILD) и прочия, ответят "а нету-ти, ну ничего дочернего нету-ти". В этом смысле эти самые контролы для винды не-окна.
AN>Затем сменить раскладку,
Это как раз таки просто. Пляски начинаются когда там языков два(Икс), а раскладок больше (Икс+игрек). Например, аглицкий язык + раскладка США, аглицкий язык + раскладка Великобритании, ну и до кучи русский язык + к нему две раскладки стандартная и qwerty.
AN>конвертировать из UTF-8 в локаль или UTF-16 (в зависимости от того Unicode или нет приложение) и послать WM_CHAR (если бы не нужно было обрабатывать BackSpace, то можно было WM_SETTEXT использовать). Но я очень давно на WinAPI не писал, возможно, есть способ проще. AN>Затем — всё это протестировать и на это времени уйдёт немало.
Не стоит баловаться с WM_TEXT,WM_CHAR и прочия. Если уровень привилегий отсылающего приложения меньше, то фига с два винда разрешит такому приложению стучать сообщениями в конечное приложение, у которого уровень привилегий выше.
В общем там есть пути. Но есть и масса нюансов. И довести код до идеала весьма непросто. Наковырялся я с этим…
Это я всё к тому, что да — "на полчаса задачка". Но вот чтобы довести это до продакшена, чтобы работало стабильно и везде, вот эти тонкости там весьма неслабые.
Здравствуйте, cppguard, Вы писали:
C> Вобщем, хотел бы узнать ваши мысли на этот счёт.
Фрилансер удочки закидывает во много много мест сразу и ковер леттер типовое.
Ну напишите у себя "в ковер леттере укажите как будете решать задачу, иначе не рассматриваю".
В вас отталкивать могут три вещи в порядке убывания 1) нулевая репутация/история 2) по описанию непонятно что надо делать и сколько это займет 3) бюджет
опа опа мы воюем с нато
любит хавать этот кал
путинская вата
Здравствуйте, cppguard, Вы писали:
C>Вобщем, хотел бы узнать ваши мысли на этот счёт.
Сколько денег предлагал? В курсе что биржа обычно забирает 30%? C>Если кратко — нужно уметь притворяться клавиатурой и посылать текст окнам. Суть в том, что нужно работать с UTF-8, поэтому скан-коды отправлять неполучится, нужно что-то уровнем выше. Если сам дизайн ОС это позволяет, то работы на пол часа, а если нет — то ничего не получится, как ни крути — только хаки.
Ну так сделай сам, правда мне что-то говорит что не на пол часа там работы. C>Ничего изобретать тут не нужно, просто нужно знать возможности системного API. Собственно, за эти самые знания я и готов платить.
Возможности, pitfalls и т.п. Сомневаюсь, что рядовой программист винодовз знает это. У тебя даже версия виндовс не обозначена и само приложение, а как тут выше сказали UI решения есть разные.
C>Если кратко — нужно уметь притворяться клавиатурой и посылать текст окнам.
Делал похожее, когда студентом был. Здесь может быть засада с окнами, а только не с кодировками. В простое текстовое поле ввода — не вопрос. Но другие типы — неизвестно, нужно разбираться. А в какие-то вообще не будет возможности.
Может быть, вам нужно готовое работающее решение с максимальным покрытием типов приложений и полей ввода.
Найти человека, который бы это уже делал — маловероятно.
Лично я бы за это взялся(если бы был свободен):
— только если бы сразу увидел список приложений, куда нужно делать вставку текста,
— срок от недели, меньше нет смысла в деньгах.
Здравствуйте, namespace, Вы писали:
C>>Если кратко — нужно уметь притворяться клавиатурой и посылать текст окнам. N>Делал похожее, когда студентом был. Здесь может быть засада с окнами, а только не с кодировками. В простое текстовое поле ввода — не вопрос. Но другие типы — неизвестно, нужно разбираться. А в какие-то вообще не будет возможности.
Не будет там засады с окнами.
Ибо с окнами там и вовсе общаться без надобности. А вот когда начинаем с окнами шаманить, вот тогда и получается "нет возможности". Вот эта моя штука совсем не работает с окнами при печати, хотя и это умеет.