Здравствуйте, vsb, Вы писали:
vsb>450 000 рублей. Вот поставь такой бюджет и, думаю, найдёшь кого ищешь.
Учти, такие зарплаты у программистов только в крупном российском бизнесе или как минимум в распиле денег богатых инвесторов. У обычного бизнеса никогда таких денег не было, как и переманивания специалистов за такие деньги. По сути это стороны одной медали, одни говорят накинь несколько тысяч рублей, другие говорят накинь несколько сотен тысяч рублей. А истина крутится где-то посередине.
Сперва хотел снести тему, но решил, что сделаю общий ответ, чтобы каждый вновь читающий не брызжил слюной по поводу 8000 vs. 10000. Итак, тезисно:
1. Перестаньте писать про 8 000 и 10 000. Я 5 лет проработал на апворке, там очень часто давали бонусы за хорошую работу. Что-то вроде чаевых. Я сам не люблю чаевые, но почему-то применительно к программированию мне это кажется уместным, и я, когда стал нанимать людей, перенял эту практику. Поэтому в голове автоматически прописывается бюджет +20% к числу в описании работы. Я ошибся, я признал это, но почему-то все видят в этом великий обман.
2. Даже 8 000 это много за эту работу. Я это говорю как программист с опытом 17 лет, 5-7 из которых пришлись на фриланс. Моя текущая ставка в России — 3500/час. На эту задачу я потратил чуть более часа — округлите до 1.5. Так что я правильно оценил задачу и вдобавок ещё и сделал бюджет с запасом.
3. Это правда лёгкая задача. Я никогда не писал профессионально на JavaScript, не занимался браузерной графикой. Я просто знаю, кто такие-то и такие-то библиотеки существуют. Дальше я гуглю "web socket javascript client MDN", нахожу пример, вставляю его, проверяю работу через console.log, скачиваю d3.js, открываю первый же hello-world для линейных графиков, гуглю "update chart with new data d3", открываю первую ссылку, копирую пример, вставляю, настраиваю цвета фона и шрифты — работа звершена.
4. Перестаньте писать про "ему же нужно настроить окружение, понять контекст" — это дичь! Вы когда на СТО приезжаете масло менять, вам механик тоже подобную чушь несёт? Или же он знает, что в автомобиле есть двигатель, там есть поддон, в поддоне пробка, ещё есть фильтр и т.д. Бывают, конечно, нюансы. Вот у меня, например, доступ к пробке ограничен пластиковой защитой. С меня молча списали 300 за снятие/установку защиты — всё логично. Если программист скажет: "Вот тут у вас недоработка в ТЗ — игнорировать или сделать по уму?", то я с удовольствием ему доплачу.
5. "Ищешь готовых работать за копейки" — я уже написал, что не считаю данную сумму копейками. Но хорошо, пусть это копейки, но почему бы вчерашним студентам не поработать за копейки? Это абсолютно нормально в любой стране, потому что деньги платят за опыт, который надо как-то получить. Я предлагаю простую задачу, на которой можно набить руку. Почему я должен нанимать на неё сеньора-помидора из Сбербанка? Объясните логику. Допустим, я вижу пустой профиль с нулевыми заказами за 5000/час, почему я должен нанять этого человека? Почему я не должен нанять другого, пусть и за 5000/час, но с опытом? Логика где-то потерялась. Я вот сейчас бегло пролистал профили на прилансе — достаточное количество людей за 5000-10 000 в час, но с околонулевыми заказами. Если они столько стоят, почему их не нанимают?
6. Знание умных слов типа Docker, React, Angular, вёрстка, UX/UI не добавляет специалисту ценности. Ещё раз — подумайте про другие профессии. Вы вызываете электрика, а он такой с порога: "Хей, мэн, я знаю, что такое инструмент для снятия изоляции, поэтому подключение розетки будет стоить 10 000 — не ищи мне тут спеца за копейки". Ну бред же, да? Стоимость подключения розетки на рынке примерна одна и та же, только профессионал знает, как подключить её за 5 минут, а начинающий будет полчаса возиться. Другое дело, когда работа объёмная, оценить сложно — вполне логично брать почасовую оплату.
самому первому что учится фрилансер, это распознавать неадекватных заказчиков. Самый верный признак неадекватного заказчика — его слова о том что это "делать пару часов", "для профессионала минутное дело" и всё в таком духе. Это просто как автоматом лейбл "я заказчик-мудак" себе повесить.
P.S.:
делал подобную задачу десять лет назад примерно за неделю и $2000 баксов. топикстартер лютый балобол. всё что он смог за час это нагуглить ответы на стековерфлоу. кода от него мы, конечно же, не увидим.
Здравствуйте, Codealot, Вы писали:
S>>Разглагольствуют о том, что никто не хочет работать за 10000, когда сами официально указали сумму в 8000.
C>Собственно одного этого факта достаточно, чтобы занести тса в число неадекватов.
Я прям открыл этой темой шкатулку с неадекватами УК>самому первому что учится фрилансер, это распознавать неадекватных заказчиков. Самый верный признак неадекватного заказчика — его слова о том что это "делать пару часов", "для профессионала минутное дело" и всё в таком духе. Это просто как автоматом лейбл "я заказчик-мудак" себе повесить.
Ни в ТЗ, ни в тексте задания про "пару часов" ничего нет. Свои влажные фантазии нужно вытирать салфетками, а то неприлично. Кстати, я очень часто слышал от русских, что с русскими заказчиками работать не надо, потому что "они все жадные и тупые". Но вот странно — у меня такой проблемы никогда не было. УК>делал подобную задачу десять лет назад примерно за неделю и $2000 баксов.
Ну молодец, что сказать. Странно, что выбрал такой сложный путь, чтобы разводить людей, есть ведь способы проще и прибыльнее. УК>всё что он смог за час это нагуглить ответы на стековерфлоу.
Не, ну ты-то не смотришь никогда туда и вообще не гуглишь. Прямиком к ноосфере подключаешься и оттуда черпаешь знания. А вообще, я что-то пропустил — стековерфлоу теперь нельзя использовать? УК> топикстартер лютый балобол. кода от него мы, конечно же, не увидим.
А должен? Ну на, смотри.
Код на $2000
<!DOCTYPE html>
<html>
<head>
<title>D3.js Real-Time Line Chart</title>
<style>
.chart-container {
width: 100%;
height: 300px;
margin-bottom: 20px;
}
.line {
fill: none;
stroke-width: 2px;
}
</style>
<script src="https://d3js.org/d3.v7.min.js"></script>
</head>
<body>
<div id="chart-container">
<svg id="chart"></svg>
</div>
<script>
// Establish a WebSocket connection
const socket = new WebSocket('ws://signal.mmr.systems:8080');
// Set up the D3.js line chart
const container = document.getElementById('chart-container');
const containerWidth = container.clientWidth;
const containerHeight = container.clientHeight;
const svg = d3.select('#chart')
.attr('width', containerWidth)
.attr('height', containerHeight);
const margin = { top: 20, right: 20, bottom: 30, left: 50 };
const width = containerWidth - margin.left - margin.right;
const height = containerHeight - margin.top - margin.bottom;
const g = svg.append('g').attr('transform', `translate(${margin.left}, ${margin.top})`);
const x = d3.scaleTime().range([0, width]);
const y = d3.scaleLinear().range([height, 0]);
const line = d3.line()
.x(d => x(d.time))
.y(d => y(d.value));
g.append('g')
.attr('class', 'x-axis')
.attr('transform', `translate(0, ${height})`)
.call(d3.axisBottom(x));
g.append('g')
.attr('class', 'y-axis')
.call(d3.axisLeft(y));
const data = {}; // Object to store data for each line
// Handle incoming WebSocket data
socket.addEventListener('message', event => {
const message = JSON.parse(event.data);
const time = new Date(message.time * 1000);
const values = message.values;
updateChart(time, values);
});
// Function to update the chart with new data
function updateChart(time, values) {
values.forEach((value, index) => {
const lineName = `line${index + 1}`;
if (!data[lineName]) {
// Initialize data for each line
data[lineName] = {
values: [],
color: d3.schemeCategory10[index], // Use different colors for each line
};
// Add the line path for the new line
g.append('path')
.attr('class', `line ${lineName}`)
.style('stroke', data[lineName].color);
}
// Add the new data point to the line's data
data[lineName].values.push({ time, value });
// Update the chart
updateLine(lineName);
});
}
// Function to update an individual line in the chart
function updateLine(lineName) {
const lineData = data[lineName];
// Update the x-axis and y-axis scales based on the line data
x.domain(d3.extent(lineData.values, d => d.time));
y.domain([d3.min(lineData.values, d => d.value), d3.max(lineData.values, d => d.value)]);
// Select the line path and update its data and attributes
g.select(`.${lineName}`)
.datum(lineData.values)
.attr('d', line);
}
</script>
</body>
</html>
А можно дилетантский вопрос от человека, далекого от JS и Web-фронта-энда?
C>
C> // Establish a WebSocket connection
C> const socket = new WebSocket('ws://signal.mmr.systems:8080');
C> // Handle incoming WebSocket data
C> socket.addEventListener('message', event => {
C> const message = JSON.parse(event.data);
C> const time = new Date(message.time * 1000);
C> const values = message.values;
C> updateChart(time, values);
C> });
C>
А в JS-е на фронте ошибки вообще не принято обрабатывать? Ну там WebSocket не смогли открыть, соединение оборвалось, не удалось разобрать пришедшие из WebSocket-а данные, пришли данные в другом формате (нет там полей time и values)...
Здравствуйте, so5team, Вы писали:
S>А в JS-е на фронте ошибки вообще не принято обрабатывать? Ну там WebSocket не смогли открыть, соединение оборвалось, не удалось разобрать пришедшие из WebSocket-а данные, пришли данные в другом формате (нет там полей time и values)...
Я сам далёк от этих вещей, но судя по тому, как работает большинство сайтов, таки не принято. В моей задаче же это совершенно точно не нужно делать, так как страничка показывает заказчикам, что устройство работает и дальше уже совсем другая история. Но я уверен, что за 450 000 в месяц мне написали бы отличный обработчик ошибок. И на сдачу — полный по Тьюрингу язык описания конфигураций. На React, разумеется. Ибо второе правило фрилансера — если заказчик просит простую веб-страничку с динамическим кодом без React или, на худой конец, Vue.js, то он мудак и кидала, нужно сразу его в игнор.
Это совсем не то, что лично я представлял себе исходя из ТЗ.
Ну и сразу бросается в глаза (и видно на скрине), что при изменении размера окна график не изменяет своей ширины. Я бы подразумевал, что это надо сделать.
Начинаем смотреть по пунктам ТЗ:
Отображать значение “time” в формате “HH:mm”, значение формата должно быть легко заменяемым.
нет
Предусмотреть возможность добавлять вертикальную шкалу одновременно слева и справа.
либо нет, либо неочевидно
Без особых усилий должно быть возможно изменить в коде страницы следующие цвета и стили:
Задний фон
Цвета и прозрачность линий графиков
Параметры шрифта для всех текстовых меток: заголовок, легенда, метки, ...
Цвет сетки
Цвета главных рисок
Цвета цвета дополнительных рисок
нет
При открытии страницы на всю ширину области видимости страницы отображается область графика с теми элементами, которые не требуют значений данных: заголовок (константа), легенда (константа), сетка (шаг сетки — константа).
ничего из этого нет!
Ко всему этому ты мог бы докопаться и попросить доделать. Но для тебя и так пойдет.
И еще раз: я себе по ТЗ представлял совсем иначе. То, что получилось ИМХО не соответствует ТЗ.
Здравствуйте, cppguard, Вы писали:
C>Причём, такая фигня именно в русскоязычном сегменте. Как-то искал себе помощников на Upwork, составил тестовое для Android — была примерно та же картина. Иностранцы выдавали более-менее качество. Бюджет я всегда ставлю выше рынка и с запасом, так что в "ковырянии в говне" меня сложно уличить. Что не так с русскими?
Рейт для русских и нерусских одинаковый?
Здравствуйте, cppguard, Вы писали:
C>В моей задаче же это совершенно точно не нужно делать, так как страничка показывает заказчикам, что устройство работает и дальше уже совсем другая история.
Ну так в ТЗ же ничего не сказано про то, что требуется вообще самый-самый минимум.
C>Но я уверен, что за 450 000 в месяц мне написали бы отличный обработчик ошибок.
Вы сами озвучили свой рейт в 3500, на задачу потратили 1.5 часа. При этом вам не нужно было ни разбираться с постановкой задачи, ни определяться с критериями приемки.
А попробуйте к этим своим полутора часам добавить час на то, чтобы выяснить у заказчика детали и умолчания + разобраться с приемкой. Получается уже 2.5 часа. При вашем рейте оплата в 8000 уже не выгодна.
Здравствуйте, so5team, Вы писали:
S>Ну так в ТЗ же ничего не сказано про то, что требуется вообще самый-самый минимум.
Ага, и не сказано, что IE6 не надо поддерживать. Недоработка, согласен.
S>Вы сами озвучили свой рейт в 3500, на задачу потратили 1.5 часа. При этом вам не нужно было ни разбираться с постановкой задачи, ни определяться с критериями приемки. S>А попробуйте к этим своим полутора часам добавить час на то, чтобы выяснить у заказчика детали и умолчания + разобраться с приемкой. Получается уже 2.5 часа. При вашем рейте оплата в 8000 уже не выгодна.
Я уже всё понял, что был неправ. Ещё ведь нужно прибавить час в счёт отпуска, в офисе же он есть, верно? Ещё один час на отдых после проекта. Ещё час на то, чтобы собраться с силами перед проектом. В следующий раз однозначно увеличу бюджет.
Спасибо за ответ. Вероятно, единственный адекватный в этой ветке. Забавно, что мои опыт и подходы к вопросу очень сильно перекликаются с опытом автора статьи. И, что характерно, реакция аудитории такая же =) А в комментариях, что тут, что там хоть и есть доля правды, но всё же доминирует мнение "обиженок", которых не взяли в FAANG, но большие деньги, про которые трубят из каждого утюга, получать хочется. И вот они сидят и окна и с тоской ждут того самомо щедрого заказчика, который приедет на белом коне и скажет: "А напиши как ты мне, уважаемый, hello-world за большие деньги!". Другой причины во всём том негативе, что льётся, я не вижу. Мне один тут даже анонимно стал что-то писать, я, конечно же, не прочитал. И я ведь тоже работал фрилансером и не один год, и тоже были неадекваты-заказчики, но я просто игнорировал, никому ничего не доказывал. Ни русских, ни индийских заказчиков не отфильтровывал, если видел, что проект нормальный, и в этоге почти всегда было плодотворное сотрудничество.
Здравствуйте, cppguard, Вы писали:
C>Ага, и не сказано, что IE6 не надо поддерживать. Недоработка, согласен. C>Я уже всё понял, что был неправ. Ещё ведь нужно прибавить час в счёт отпуска, в офисе же он есть, верно? Ещё один час на отдых после проекта. Ещё час на то, чтобы собраться с силами перед проектом. В следующий раз однозначно увеличу бюджет.
Сделайте над собой усилие и посмотрите на свое поведение глазами рядового читателя форума, который про вас вообще ничего не знает и никогда с вами не сталкивался. Получится что-то вроде: человек пишет провокационный текст на тему "какие неадекваты эти русскоязычные фрилансеры" с минимумом подтверждающей тезис информации. Причем описанная ситуация выглядит вполне себе рядовой: кто-то выставил объявление, на это объявление быстро среагировали те, кто вам не подходил (такое бывает), вы своего исполнителя тупо не дождались (хотя прошел всего день). Но вы прибежали на форум изливать свою боль, да еще и с воспоминаниями о том, какой вы были Д`Артаньян много лет назад.
Дальше больше, вы пошли рассуждать о том, что народ сейчас зажрался, что 200000 руб. в месяц это очень даже неплохо. Хотя эти 200k вы вывели исходя из озвученной суммы в 10000 за ваш заказ.
Но самая мякотка была дальше, когда выяснилось, что 10000 то и не было, что в заказе вы озвучили 8000. При этом в описании заказа никаких намеков на возможную премию не было от слова совсем.
И тут вы показали себя с интересной стороны еще раз: стали заявлять про то, что всегда платите бонус, что вообще в памяти у вас осталась сумма 10000, т.к. автоматически к 8000 из заказа прибавили этот самый бонус, да и вообще, вы же признали ошибку и извинились. Ага, это же все меняет. И разглагольствования про 200000 остались (хотя применяя вашу же экстраполяцию должно получиться 160k, а не 200k, и 160k в сравнении с исходными 200k выглядит явно поскромнее).
При этом вы не даете себе труда признать, что потенциальный исполнитель видит только 8000 в заказе и ни о каких бонусах даже не подозревает.
Ну а далее вам дают обратную связь как могут (вы же на публичном форуме, здесь разные люди, не все должны вставать на вашу сторону в этой истории). А вы начинаете ерничать и высказываться в духе "да как же они могут-то требовать больше денег, чем я предлагаю, неужели они хотят хорошо жить".
Ну OK, верной дорогой товарищ.
Я не фрилансер, но наша компания заказную разработку выполняет. И вот по опыту никогда еще не бывало так, чтобы согласование с заказчиком проходило быстро и гладко. Всегда какая-то канитель обнаруживается. Даже если получается быстро разобраться с постановкой задачи и требованиями (что не так уж и редко), то потом начинается волокита с оформлением договора, проведением платежей и т.д., и т.п. В большинстве случаев, к счастью, все это происходит без нервов, просто где-то в одном месте задержка, где-то в другом, где-то одного человека на месте не оказалось, где-то что-то не успели. Поэтому на вот такие административные задержки приходится некоторую дельту закладывать. И нет, в стоимость человеко-часа она не входит.
Здравствуйте, so5team, Вы писали:
S>Ну а далее вам дают обратную связь как могут (вы же на публичном форуме, здесь разные люди, не все должны вставать на вашу сторону в этой истории). А вы начинаете ерничать и высказываться в духе "да как же они могут-то требовать больше денег, чем я предлагаю, неужели они хотят хорошо жить".
Обратную связь дали полтора землекопа, все остальные начали наезжать и оскорблять. Мне даже ЛС писали анонимы, чтобы "сказать насколько вы мне безразличны". А когда я выложил свой код, сразу начали доё...ться до орфографии — "тут обработки ошибок нет, тут стили не настроены", хотя я выложил его, чтобы показать, как за 30 минут можно выполнить 90% задания. Я действительно поторопился с постом, потому что в итоге я нашёл программиста за озвученную сумму, который сделал ровно то, что я хотел. И, как я и ожидал, это был начинающий программист, но с опытом работы по теме заказа — ровно тот профиль, который я искал. Возможно, моя поспешность была вызвана тем, что в голодные нулевые такой заказ улетал мигом (это я сейчас говорю со стороны исполнителя), и логично было предположить, что с ростом количества программистов, нужный разработчик должен искаться, как минимум, не дольше. Вот в этом плане для меня написание стало полезным, я выучил ошибки.
S>Я не фрилансер, но наша компания заказную разработку выполняет. И вот по опыту никогда еще не бывало так, чтобы согласование с заказчиком проходило быстро и гладко. Всегда какая-то канитель обнаруживается. Даже если получается быстро разобраться с постановкой задачи и требованиями (что не так уж и редко), то потом начинается волокита с оформлением договора, проведением платежей и т.д., и т.п. В большинстве случаев, к счастью, все это происходит без нервов, просто где-то в одном месте задержка, где-то в другом, где-то одного человека на месте не оказалось, где-то что-то не успели. Поэтому на вот такие административные задержки приходится некоторую дельту закладывать. И нет, в стоимость человеко-часа она не входит.
Если у вас так, то не значит, что у всех так. У меня было иначе.
Когда я писал на форум изначально, то предполагал, что мне ответят в духе "брат, те времена прошли, сейчас нужно поцеловать каждого кандидата в задницу, потому что..." и далее — список причин. И тогда я бы больше рассказал про свой опыт фрилансе, а мне бы в ответ написали про текущие реалии. У меня бы попросили показать, как за час можно сделать эту работу, а я бы в ответ попросил показать примеры подобных заданий, за которые заплатили 20, 30, 40 тысяч. Это называется разговор взрослых людей. Но получилось как получилось.
Здравствуйте, cppguard, Вы писали:
DP>>Получается: DP>>- ты сам себе противоречишь C>Я оценил, а потом и сделал эту работу за час.
Ты изначально придумкл, как оно должно быть, и потратил 1 час на стучание по кнопкам. Мелкую фичу положить на готовый проект с настроенной CI и покрыть тестом- это up to 2 days.
C> Если человеку нужно больше времени, значит его время стоит дешевле.
Время человека стоит столько, сколько он хочет кушать. Вот ты может быть, такое себе постановщик задач, а 70$ в час вынь и положь. https://freelance.habr.com/tasks/513705. Какой будет адекватный бюджет?
Здравствуйте, Артём, Вы писали:
Аё>Ты изначально придумкл, как оно должно быть, и потратил 1 час на стучание по кнопкам. Мелкую фичу положить на готовый проект с настроенной CI и покрыть тестом- это up to 2 days.
Я изначально придумал и всё это тщательно записал в ТЗ.
Аё>Время человека стоит столько, сколько он хочет кушать. Вот ты может быть, такое себе постановщик задач, а 70$ в час вынь и положь. Аё> https://freelance.habr.com/tasks/513705. Какой будет адекватный бюджет?
Аё>40$ * 16 часов.
Допустим это так. Я уже проводил аналогию, но что-то никто не прокомеентировал. Вот ты приезжаешь на СТО, просишь заменить масло. Механик начинает оценивать задачу:
— обсудить задачу: 1 час
— почитать документацию, ознакомиться с понятием замены масла
— почитать документацию на автомобиль заказчика
— потратить время на согласование, потому что всегда есть какие-то нюансы
Итого: 8 часов работы и $500. Но тогда ты плюнешь, поедешь на яму и сам заменишь масло, верно?
Я уже несколько раз писал, но как-то народ только горазд какашками кидаться, а толковых аргументов почти нет: я не спорю, что время стоит столько, сколько оно стоит, рынок диктует свои цены. Вопрос в другом: почему совершенно типичная задача должна занимать так много времени? Я был бы рад увидеть хоть один аргумент.
Я готов прямо здесь и сейчас заплатить $40 * 16 любому с этого форума, если он под камеру запишет выполнение задания. Только есть условие: нельзя тупить, нельзя переспрашивать то, что описано в ТЗ, и нельзя читать про HTML, JavaScript или SVG и прочие базовые вещи. Ибо если нанимать сферического программиста в вакууме, который как бы знает, что такое программирование, но про HTML, JS и SVG слышит впервые, то найм такого человека будет сродни найму профессора механики твёрдого тела для замены масла.
Я могу привести много примеров, когда новый заказчик обращался с типичной задачей, и у меня выходило 1-4 часа. Скажем, пришёл стартап, который делал анимацию персонажей и синтезом речи. Им нужно было оценить, насколько существующие инструменты подходят для их задачи. На вход я получил набор аудиозаписей, задачей было сгенерировать для каждой записи последовательность фонем. Я выполнил задачу за 2 часа. Один час ушёл на написание программы, потому что готовых скриптов для открытых проектов не существовало на то время, и ещё один час ушёл на обработку данных. На обсуждение я потратил ещё около часа, но я всегда первичное знакомство с заказчиком провожу бесплатно, потому что считаю это более выгодным в долгосрочной перспективе.
Здравствуйте, cppguard, Вы писали:
Аё>>Ты изначально придумкл, как оно должно быть, и потратил 1 час на стучание по кнопкам. Мелкую фичу положить на готовый проект с настроенной CI и покрыть тестом- это up to 2 days. C>Я изначально придумал и всё это тщательно записал в ТЗ.
Тщательно написать ТЗ получается дольше, чем скопипастить
C>Допустим это так. Я уже проводил аналогию, но что-то никто не прокомеентировал. Вот ты приезжаешь на СТО, просишь заменить масло. Механик начинает оценивать задачу: C> — обсудить задачу: 1 час C> — почитать документацию, ознакомиться с понятием замены масла C> — почитать документацию на автомобиль заказчика C> — потратить время на согласование, потому что всегда есть какие-то нюансы
C>Итого: 8 часов работы и $500. Но тогда ты плюнешь, поедешь на яму и сам заменишь масло, верно?
Замена масла- типовая задача, там человек уже всё прочитал заранее.
C>Я готов прямо здесь и сейчас заплатить $40 * 16 любому с этого форума, если он под камеру запишет выполнение задания.
Нафига любому с этого форума мудохаться за $40/час 2 дня, если верить "и вы говорите", там за меньше чем 140$/час человек и чихнуть поленится?
C>Я могу привести много примеров, когда новый заказчик обращался с типичной задачей, и у меня выходило 1-4 часа.
Если все новые заказчики приходят с такой же типовой тупой задачей, то конечно, можно просто копи-пастить, а чаржить за 2 дня. Что в этом предосудительного? Но в первый раз тебе всё-таки прийдётся поработать 2 дня.
C>я всегда первичное знакомство с заказчиком провожу бесплатно, потому что считаю это более выгодным в долгосрочной перспективе.
Более выгодно в долгосрочке работать в офисе Можно 2 дня ковыряться в носу, и получать свои стабильные 40/час + пенсионные отчисления, отпускные, и т.д.
Здравствуйте, Артём, Вы писали:
C>>Итого: 8 часов работы и $500. Но тогда ты плюнешь, поедешь на яму и сам заменишь масло, верно? Аё>Замена масла- типовая задача, там человек уже всё прочитал заранее.
Вот и для меня рисование графиков в HTML+JS это типовая задача. Видимо, в этом и фундаментальное разногласие.