https://toster.ru/q/423194
Вот моё мнение по поводу оплаты труда программиста:
1. Количество написанных строк обязательно должно оплачиваться деньгами, либо как основная оплата ("сколько написал -- столько получил, например 35 руб./строка"), либо в качестве поощрения ("фикса 20 тыс. руб./месяц + 25 руб./строка").
2. Новые строки кода должны разделяться на разные виды и оплачиваться по-разному:
1) абстракции (описание классов, структур, заголовки модулей, названия методов) и пустые строки -- 0 руб. (т.е. не учитываются в оплате за строки кода)
2) рабочий код (тело методов, тело функций, тело процедур и т.п.) -- 70 руб./строка*
3) определение констант, массивов, переменных вне тела методов -- 10 руб./строка
4) комментарии (не более 10% от всего числа строк) и todo -- 5 руб./строка
5) документация, changelog, bugfix-файлы -- 20 руб./строка.
*Цена за рабочий код зависит от языка программирования, для низкоуровневых языков она должна быть меньше, для высокоуровневых -- больше, например:
- Си -- 50 руб.
- С++, Pascal, PHP -- 60 руб.
- Ruby и Python -- 70 руб.
Ну и так далее.
3. Измененные строки (не новые) должны оплачиваться в 30%-50% от новых.
4. Перенесенные строки (не изменялись, просто перенесены) - не оплачиваются.
Учёт строк должен проводиться по распечатанному "git diff" или специально написанными для этого утилитами.
Помимо оплаты за строки кода желательно оплачивать:
1) фикса в месяц -- например, минимум 15 тыс. руб./мес. включающие оплату первых строк кода (т.е. напишет или не напишет на 15 тыщ, но всё равно получит, даже если весь месяц ни строчки не написал, или писал, но на 15 тыщ не написал). Это что-то типа подушки безопасности для новичков.
2) время, проведенное в офисе -- например, 50 руб./час. Это не должно быть много, но должно стимулировать писать в офисе, а не из дома. Для работодателя, пишущий в офисе эффективнее, чем пишущий дома, т.к. он вживую общается с коллегами и больше пишет кода. К тому же присутствующий в офисе участвует в мозговых штурмах, совещаниях и тому подобном, что тоже положительно скажется на процессе. Чтобы не просыпали, первый утренний час сделать дороже, например 100 руб./час. Учёт входов и выходов вести турникетом по электронной карте или паролю номеронаберателя. Бюджетно - положить самозаполняемый журнал на тумбочку или бумажки, ручку и ящик с прорезью. Можно рядом повесть веб-камеру.
3) бонус за выполнение поставленной задачи. Работодатель перед раздачей заданий сотрудникам может оценить каждое из них, например:
- Написание GUI для ввода формы "Счета на оплату" - 3200 руб.
- Реализация сетевого обмена записями по подпискам - 7500 руб.
- Сохранение сообщений об ошибках в лог-файл - 1000 руб.
Ну и так далее. Бонус учитывает сложность и срочность выполнения с точки зрения работодателя.
При описанной мной системе программист будет мотивирован:
1) больше писать рабочего кода, меньше плодить абстракции и витать в облаках
2) стараться проводить больше времени в офисе
3) брать "горячие" задания и выполнять их как можно быстрее
4) не бояться остаться без денег (актуально для новичков).
Все цифры приведены примерно и должны подбираться экспериментально конкретно для вашей ситуации.
1. Количество написанных строк обязательно должно оплачиваться деньгами, либо как основная оплата ("сколько написал -- столько получил, например 35 руб./строка"), либо в качестве поощрения ("фикса 20 тыс. руб./месяц + 25 руб./строка").
2. Новые строки кода должны разделяться на разные виды и оплачиваться по-разному:
1) абстракции (описание классов, структур, заголовки модулей, названия методов) и пустые строки -- 0 руб. (т.е. не учитываются в оплате за строки кода)
2) рабочий код (тело методов, тело функций, тело процедур и т.п.) -- 70 руб./строка*
3) определение констант, массивов, переменных вне тела методов -- 10 руб./строка
4) комментарии (не более 10% от всего числа строк) и todo -- 5 руб./строка
5) документация, changelog, bugfix-файлы -- 20 руб./строка.
*Цена за рабочий код зависит от языка программирования, для низкоуровневых языков она должна быть меньше, для высокоуровневых -- больше, например:
- Си -- 50 руб.
- С++, Pascal, PHP -- 60 руб.
- Ruby и Python -- 70 руб.
Ну и так далее.
3. Измененные строки (не новые) должны оплачиваться в 30%-50% от новых.
4. Перенесенные строки (не изменялись, просто перенесены) - не оплачиваются.
Учёт строк должен проводиться по распечатанному "git diff" или специально написанными для этого утилитами.
Помимо оплаты за строки кода желательно оплачивать:
1) фикса в месяц -- например, минимум 15 тыс. руб./мес. включающие оплату первых строк кода (т.е. напишет или не напишет на 15 тыщ, но всё равно получит, даже если весь месяц ни строчки не написал, или писал, но на 15 тыщ не написал). Это что-то типа подушки безопасности для новичков.
2) время, проведенное в офисе -- например, 50 руб./час. Это не должно быть много, но должно стимулировать писать в офисе, а не из дома. Для работодателя, пишущий в офисе эффективнее, чем пишущий дома, т.к. он вживую общается с коллегами и больше пишет кода. К тому же присутствующий в офисе участвует в мозговых штурмах, совещаниях и тому подобном, что тоже положительно скажется на процессе. Чтобы не просыпали, первый утренний час сделать дороже, например 100 руб./час. Учёт входов и выходов вести турникетом по электронной карте или паролю номеронаберателя. Бюджетно - положить самозаполняемый журнал на тумбочку или бумажки, ручку и ящик с прорезью. Можно рядом повесть веб-камеру.
3) бонус за выполнение поставленной задачи. Работодатель перед раздачей заданий сотрудникам может оценить каждое из них, например:
- Написание GUI для ввода формы "Счета на оплату" - 3200 руб.
- Реализация сетевого обмена записями по подпискам - 7500 руб.
- Сохранение сообщений об ошибках в лог-файл - 1000 руб.
Ну и так далее. Бонус учитывает сложность и срочность выполнения с точки зрения работодателя.
При описанной мной системе программист будет мотивирован:
1) больше писать рабочего кода, меньше плодить абстракции и витать в облаках
2) стараться проводить больше времени в офисе
3) брать "горячие" задания и выполнять их как можно быстрее
4) не бояться остаться без денег (актуально для новичков).
Все цифры приведены примерно и должны подбираться экспериментально конкретно для вашей ситуации.
Вроде здравые мысли, но что-то непонятно как к Хиасму применить. Можно конечно написать парсер подсчитывающий функции.
Глянул исходники проекта, там 890 + 523 + 400 строк в основных pas файлах. А клиент готов платить 500 руб / 100 строк кода.. Итого округленно 1813 строк. Но сдается мне, что не совсем будет честно мне ему предъявлять сумму в 9000 руб за программку которую написал дня за два и с помощью Nesco)) Как быть? Может, по числу соединенных точек, а не строчек считать?)
Думаю, с Хиасмом лучше по другому считать. Основная работа там помимо мышления еще и точки соединять руками, мышкой. И есть у него функция статистики. Можно количество соединенных точек приравнять к строкам кода - ведь когда их соединяешь то ты должен знать что делаешь, то есть думать)
Итого там 2 контейнера и основная схема, считающаяся тоже контейнером. В основной 314 точек. В общем, вот что я насчитал, вроде несмертельно))
All: 113, sdk: 51, MultiElements: 3, Core: 15, links: 0, points: 314
All: 28, sdk: 27, MultiElements: 1, Core: 0, links: 0, points: 92
All: 34, sdk: 34, MultiElements: 0, Core: 10, links: 0, points: 88
Итого: 314+92+88 = 494 / 100 = 4,94 * 500 = 2470 руб
Итого: 328+100+88 = 516 / 100 = 5,16 * 500 = 2580 руб
Редактировалось 6 раз(а), последний 2019-02-09 12:40:35