Сеньоры, самосовершенствование и почасовой рейт

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

Понятно, что существует удовольствие от работы.
Но достаточно ли этого, чтобы стремиться находить лучшие и оптимальные решения, делать работу максимально эффективно?

Допустим, путем некоторого интеллектуального усилия вы найдете способ сделать за 1 час работу, на которую запланировано 100 часов.
Возможно, бывают исключения, но в большинстве случаев никаких существенных поощрений не последует. Зарплату, если даже если вдруг и повысят, то не в 100 раз и даже не в 2 раза, )) , оставшиеся 99 часов гулять не отпустят. Скорее всего, просто будут планировать дальшие задачи с учетом вашей продуктивности.

Так вот, стремитесь ли вы найти то самое решение, которое позволит сэкономить n-ное количество времени, и если находите, то сообщаете ли вы о сэкономленном заказчику/менеджеру?

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Мотивация — это джуны могут на пятки наступать, и технологии могут сниматься с производства. Например, гадский Микрософт уже не поддерживает Compact Framework. Вот нету уже в 2010 студии поддержки CF, и нет эмуляторов соответственно. Как дальше жить? Козлы.

Зачем использовать сиюминутное, если есть вечное?

Тогда это мотивация к изучению новых технологий, а не выполнению текущей работы

Солдат спит — служба идет.
Нет никакой мотивации в помесячной/почасовой оплате, но пока разумную и мотивирующую систему оплаты даже так называемые развитые страны не могут придумать.

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

Солдат спит — служба идет

Сеньер спит — а жизнь идет. А не больно будет потом за проспанные годы?

Так вот, стремитесь ли вы найти то самое решение, которое позволит сэкономить n-ное количество времени

Несомненно, но не в ущерб качеству

сообщаете ли вы о сэкономленном заказчику/менеджеру

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

зы. Соотношение 100:1 бредовое конечно.

А если не переживает — то он и не синьор :).

новое определение сеньора, однако

Это было скорее определение «не синьора». Переживать за проект могут, а по мне и должны, все в тиме.

И ещё хочу несколько прояснить свой ответ на вопрос «сообщаете ли вы о сэкономленном заказчику/менеджеру», так как писал поздно и спать уже хотелось...

Нет, если не дедлайн не близится.
а) На статус-митинге ОБЯЗАТЕЛЬНО сообщу тиму о завершении работы;
б) Если от исполнения моей задачи зависит старт другой работы — СРАЗУ сообщу ответственным за зависимые задачи.
в) Если мы на данном этапе тесно работаем с удалённой командой — СРАЗУ сообщу. Мало ли как там у их дела;
г) Напряжённый график — само собой.
Если а) — г) не сработали — то по плану предыдущего поста :)

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

Всякую работу нужно делать имаксимально оптимально. Хотя пример с оптимизацией в х100 раз трудно представить.

Но качество это не всегда скорость. Веренее скорость это как правило не качество. Так как нужно писать еще и моного рутинного кода как проверка на ошибки. А это строки и время. Банальтный пример из С++:

код А:
void myClass::AllocData()
{
m_f = (float*)malloc(m_N*sizeof(float));
}
где-нибудь вызов:

myClassVar->AllocData();

код Б:
bool myClass::AllocData()
{
float* m_f = (float*)malloc(m_N*sizeof(float));
if(!m_f) return false;
}
где-нибудь вызов:
if(!myClassVar->AllocData())
{
MsgBox("Не достаточно памяти. Завершение работы приложения«);
return;

}

код В:
void MyClass::AllocData()
{
float* m_f = (float*)malloc(m_N*sizeof(float));
if(!m_f) throw myException(eErrOutOfMemory, GetStirng(IDS_NULL_POINTER_ALLOC));
}
где-нибудь вызов:
try
{
.....
myClassVar->AllocData();
.....
}
catch(MyException& e)
{
e.MsgBox();
e.LogError();

}

какой код написать быстре? — А
какой код качественне — В ( или Б на худой конец )
но 90% программеров не делаю проверку malloc на NULL ( а в реальной жизни такое случается)

и доки пишут — «всегда проверяйте» :)

Так что свою оптимизацию не стоит пероценивать.

Программирование — как раз та область, где возможности оптимизации безграничны.
А всевозможные проверки как раз отлично автоматизируются.
В веб-разработке есть такое понятие как валидаторы, в С++, наверняка, это тоже возможно.

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

Проверка кода возврата — это несущественно в контексте «сделать в 100500 раз быстрее». Если подобные вещи позволяют значительно ускорять разработку — то значит основная работа делается пальцами. Скорее, дело в неправильных эстимейтах или забивании на юнит тестинг и т.п.
Кстати, почему Б на худой конец? Кидать ексепшн не всегда круче, чем if-else.

в некотрых ситуциях может быть более выгодным — так как
1) ексепшин ты можешь отловить в любом месте «выше» вы коде.
2) в одним catch можно отловить ексершин откинутые в нескольких местах подлежашего кода

3) обратывать непредвиденные ситуации, например деление на нуль ( а вдуг случится )

If/else тоже работет так как в этом случае прога не крешнется :)

я не всегда «тыкаю» аксершинс, но предпочитаю их отлавливать прогах с сокетами и стримами.

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

ну и я про то, иногда выгодно, иногда нет. но ошибки бывают разные и обрабатывать нужно далеко не все :) например, семейство printf имеет код возврата, указывающий на ошибку, кто-то проверяет?

вывод на консоль я не проверяю, вывод в файл — да

malloc/realloc в начале карьеры не проверял, сейчас проверяю :)

а как определить на консоль или в файл? например fprintf(stderr, ...); проверять или нет? :)

проверять все, что может привести к нестабильной, или не коррекной работе :)

Например, на форуме нужно проверять тему топика и подумать, насколько прямое отношение имеет твой пост к теме.

И дальше что?

У меня принты — единственное исключение. Надо честно кастить к void каждый вызов функции, результат которого не используется, подчеркивая тем самым сознательное игнорирование результата, и ворнинг включать соответствующий.

На эксепшен у вас памяти может не хватить если у вас Out of Memory и тогда приложение тихо ляжет, эксепшен обьект тоже память кушает

Зависит от платформы, насколько я знаю некоторые платформы(особенно встраиваемые) выделяют эксепшны на стеке в специально заготовленном месте.

Относительно поста выше: а чего нью не использовать? Оно само выкинет эксепшн вроде?

я раз всретил одного «програмиста», котрый сказал «а что код еще и руками писать нада», а я всегда делал в делфи drag-n-drop :)

код не руками писать надо, а мозгами )))

Работа с оплатой по времени ведет к внутреннему конфликту — ведь в такой системе больше поощряется тот, кто потратил больше часов, а не тот, кто создал больше ценности.

Я бы не ставил людей в условия, поощряющие плохое поведение.

достаточно ли этого, чтобы стремиться находить лучшие и оптимальные решения, делать работу максимально эффективно?

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

вы найдете способ сделать за 1 час работу, на которую запланировано 100 часов.

стремитесь ли вы найти то самое решение, которое позволит сэкономить n-ное количество времени

После достижения определенного уровня знаний, «сделать быстрее» = больше времени работать, например 10 часов вместо восьми, оно мне надо?

По этому, быстрее — нет. Качественный, производительный код — другое дело.

если находите, то сообщаете ли вы о сэкономленном заказчику/менеджеру?

Если я решил сложную задачу, конечно я скажу об этом менеджеру: сам себя не похвалишь — никто не похвалит.

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

Билл Гейтс зарабатывал свое состояние со скоростью 159 долларов в секунду. Так что повышение интеллектуального усилия может принести свои плоды.

A какое отношение это имеет к сеньорам?

Думаю, самое непосредственное. Ну или я неправильно прочел вопрос топика. Мой ответ был в том, что «объяснять» менеджеру свою растущую эффективность действительно очень сложно, проще — «объяснить» ее рынку и конечному потребителю продукта, который ты создаешь.

Сеньёр (настоящий) — это не стаж работы, это состояние души.

Сеньёру просто западло будет делать 100 часов то, что можно сделать за час. Сделать за час то, что другие сделают за сто — это просто банальное удовольствие для хорошего специалиста.

Работодатель (настоящий) — это не стаж, это состояние души

Работодателю просто западло будет платить 1 доллар за то, за что можно заплатить 100 долларов. Заплатить 100 баксов за то, за что другие платят 1 доллар — это просто удовольствие для хорошего работодателя.

хм, какое-то сомнительное удовольствие, если это необходимо для «сеньора», лучше я буду просто программистом, без сомнительного удовольствия в забегах на износ с секундомером. Вот настоящее удовольствие приносит красивое решение.

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

Речь не об участии в забегах с секундомером. Речь об отношении к своему ремеслу.
Сделать работу качественно, но с минимальными затратами времени, при этом не прилагая сверхусилий, а находясь в гармонии с собой и общим графиком — это и есть стиль работы сеньёра, о какой гонке с секундомером вы вообще говорите?
С секундомером как раз бегают гуанокодеры, которые стараются набить себе часов на элементарных задачах, «побольше срубить». Но, что характерно — такие программисты как правило работают больше, а все равно получают меньше. Догадайтесь почему ;)

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

Где ставка высокая? Моя весело смеецца. Украинский синиор ифонер получает около 3к. в Украние. Джуны нормальные по европейским/амерским стандартам получают порядка 3.5 тысяч (20 — 25 баксов в час), миддлы от 50 баксов получают, синиоры — от 100. Так что, ставка у украинскогно синиора не просто низкая, она нищенская, но, она вполне соответствует квалификации синиора, который, собсно, по меркам развитых стран, в основном ,тянет только на стронг джуниора.

и что же ты до их пор тут делаешь, о гуру?

ДЫк я обычный стронг джуниор (судя по результатам нескольких собеседований). Получаю свои 22 бакса в час, вот и сижу здесь, на дутых формошлепов с высоким ЧСВ смотрю, которым лычки важнее, чем ехать.

Так у нас налогов 60 долларов в месяц, а у них сколько? Все ставки, которые указывают в Европе и штатах — это ж gross. А у контракторов — это вообще cost, там еще могут какие угодно быть отчисления.

Прости, но после 30% налогов 100 долларов в час сиравно больше, чем у нас у синиоров в месяц, если разбить на часы. К тому же, где-то ниже я уже говорил, что названные мною ставки до обложения налогами.

22 бакса в час? это в месяц — больше 4000? ну ты и мажор :)

Если считать рабочий график, как 40 часов в неделю, то меньше(~3.5к). И еще, учитывай, что тоже говорю грязную. Чистая — на 5-20% меньше в зависимостти от способа получения денег, того, с кем и через что работаю и схем.

Хотя да, не знаю почти контракторов/фрилансеров, которые бы ограничивались 40 часами в неделю.

от 100 в час говоришь?:) то-есть от 18К в месяц? нуну

уточняю, именно «от»

Ну не от 18, а от 16 (160+ часов)

И это фантазии, посмотрите на глассдор: от 100 (120) Кбагзов в год (+ бонус до 15% для людей не связанных в менеджментом)

давайте не путать фул-тайм и контракторов.

Ну тада все равно не сходитсо: синьор-контрактор за 100 багзов/час — это смешно (суммы в разы больше).

Я же говорил «от», не так ли? Я специально не закидывал до, т.к. 23х летние синиоры таких сумм себе и представить не могут.

на фул тайм не платят 100 в час ( если те не руководящий), контрактору может быть — я знаю человека, котрому плятят 95

на фул тайм начинается от 35 в час и растет с опытом ( и стем как себя подашь )

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

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

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

Это зависит только от контрактора. Я работаю как удаленщик, фрилансер, а иногда и он-сайт контрактор и мне вполне неплохо живецца. Сравнивая с украинскими синиорами, дык вообще божественно (сам я далеко не синиор по еуропейским меркам). В то же время, наемник не может сам себе выбрать нагрузку и будет всегда работать на фиксированную ставку ,которая уныла.

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

Я не говорю, что все такие, но их реально таки много, скорей всего даже большинство.

Меня это всегда шокировало, если честно.

stackoverflow.com/...one-application

Именно от. Естессно, до обложения налогами.

"

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

уже почти не осталось вещей, которые стоят «у них» дороже чем у нас.

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

Так чтоб к ней присматриваться — нужно на самолете летать туда-сюда :) $500 билет в один конец

Но откуда-то все знают и про зарплаты, и про цены.

Скажем, я там жил. Некоторые, из отписавшихся тут, там и живут. Также, можно взглянуть на рейты, предлагаемые на жобсайтах, если лень ехать туда. Глассдор тот же, линкедин.

Рейты-то можно посмотреть, но где это «там»? Страну хоть скажите, или штат.

ДЫк я же написал, тут много народу из разных стран. ЛИчно я жил в Германии, если мне память не изменяет, как минимум один из отписавшихся здесь живет в штатах.

Насчет Германии — согласен. Но со штатами все же другая ситуация, цены на недвижку там очень от штата зависят, поэтом я бы не сравнивал их с Украиной. Еще интересно, что там в Австралии :)

Вам по какому вопросу в Австралии интересует? У меня там товарищ живет. Если по недвижке, то я уже не помню, что он рассказывал. Могу унзать. Цены дешевле, чем в УКраине. Он, когда приехал, начал охреневать, т.к. там он питался очень хорошо, а здесь той суммы, которую он тратил там, не хватало нифига.

Ну как вам сказать ,в Украине тоже цены разняцца. Если сравнивать равные инфраструктурные показатели для тех же штатов и нас, то в штатах при равном качестве инфраструктуры жилье дешевле. В то время, там есть дорогое жилье, но в Украине просто нет аналогов такого класса жилья, хотя, мне почему-то кажецца, что у нас оно сиравно было бы дороже.

Раз уж сравниваем европу и штаты, то интересно почем снять/купить дом/квартиру в Австралии и как это соотносится с доходом программиста. Если там программируют :)

Австралия — она большая. Знаю одно, сиськоадмин — джун поулчает там 30 баксов австралийских в час. На квартиру в неделю тратит 300. Сидней. Квартира двухкомнатная, меблированная.

У них стоит дороже жилье и сервисы ( медицина это отдельная тема )

У нас стоит дороже все остальное — от еды (мясо 6дол у них єто «дорого» у нас 7.6 это норма) до машин. ( С клас, что у нас стоит 22уе — у них 16куе !!!)

сравния цены на жилье и медицину, надо еще учитывать их качество.

Жилье дороже? Мусье давно смотрел на цены за украинскую недвижку?

Я сегодня видел объяву — 4к квартира в центре города за 15 к.у.е. Украинская != киевская. Точно так же — американское != город_про_который_вы_пишете. Такие обобщения не имеют смысла.

Вполне имеют. В захолустном Магдебурге цена на этаж хорошего дома была 10к евро. Так что все сходицца. У нас недвижка либо такая же, либо дороже.

Согласен, за бугром дешевле.

Здаетсо мне что это фантазии, особенно если помнить про налоги.

stackoverflow.com/...one-application

Я понял твою идею, не стоит рушить мир украинских синиор формошлепов, да? Безусловно фантазии.

Пусть 1 час девелопмента приносит кастомеру в среднем 100$, реально ли что вы находите решение при котором за 1 час работы создается ценность 100*100=10 000$.
Таким образом за месяц вы хотите создать ценность на 160*10к = 1,6 млн у.е.?? — слабо верится.
Скорее 159 часов обычной работы + 1 час суперпродуктивности, таким образом вы создаете ценность на 100*159+10к = 25900у.е., вместо предполагаемых 16к. — что вполне реально, поэтому можете попросить прибавку к зп на 50%.

Если каждый месяц у вас будет этот сверхпродуктивный час.

Какая однако вера в мифический человекомесяц.

По-моему, в современном IT уже почти пропали заказчики, которым можно продать 1 час за 100. И даже 50 часов за 100. Более-того, при больших проектах очень часто заказывают внешнюю экспертизу общей адекватности ваших эстимейтов или вообще выбирают партнёров на тендерной основе.

Разброс ±20% от эстимейтов в любую сторону без изменений в требованиях — это плохо, потому что показывает некачественное планирование.

Мне просто интересен процесс нахождения красивых решений.

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

конечно, если это не компромисное решение между скоростью и качеством.
1) сидеть и ничего не делать 99 часов — очень нудно и утомительно
2) более того — я скорее всего потрачу несколько часов на поиски такого решения, если подозреваю, что оно там есть
3) одно удачное озарение не дает повода расчитывать на такую же продуктивность в дальнейшем, так что бояться, что «будут планировать дальшие задачи с учетом вашей продуктивности» нецелесообразно. Это как ожидать от ученого по открытию в месяц строго по графику :))

4) потом я это (и другие удачи) припомню на ревью и буду расчитывать на адекватную оценку

1-й пункт чистая правда

Подписаться на комментарии