Pull to refresh

Comments 47

Звучит как «в нашем продукте куча нетривиального кода написанного творческими узбеками, баги в котором никто не правит». На месте заказчика я бы напрягся.
Идеальные советы для фирмы, чья цель обучение сотрудников, а не выпуск продукта :) На мой взгляд срок в три месяца сильно занижен, это время чтобы нахвататься по верхам, а не изучить технологию. Мы, например, сотрудникам просто выдаем более сложные задачи, но время, через которое они их получают, сильно зависит от их обучаемости и желания.
Всё это мне очень близко, отличная статья, спасибо!
Когда к нам приходят новые сотрудники — обычно это студенты. По факту, такого человека можно лишь оценить «примерно» пригоден он к работе программистом или не очень за первые два месяца. Но опыта у них почти нет, и пройдут годы, лет 5, пока они выйдут на уровень «Получил автономную задачу, сделал качественно и не налажал в коде». Человек, который чуток поучится и потом «свалит» на большую зп — да, удержать нельзя, но выглядит это не совсем честно. Прыгунов я бы не любил, и зная, что за плечами у него УЖЕ несколько фирм, где он работал всего по пару лет… да я бы его не взял, странный парень, конфликтер вероятно, или денег кучу требует. Пусть идет и сделает себе свой бизнес, свою фирму, и зарабатывает.
Человек, который чуток поучится и потом «свалит» на большую зп — да, удержать нельзя, но выглядит это не совсем честно.

Нанять бы новичка, научить его и продолжать платить так, как будто он ничего не умеет — вот было бы честно и справедливо.
А в чем собственно проблема? Оплати своему разработчику ипотеку, раз уж он так сильно тебе требуется, и он лет 10 никуда от тебя не денется с минимальной зарплатой.
Все проще: хочешь чтобы тебя учили — будь готов отработать. Может не 10 лет, но 5 точно. Или ходи говори «я быстро учусь». А вообще программисты и так зажрались по самое не хочу, скучно им работать, ага. Конечно это черта характера. Кто-то любит «начинать все новое и новое», не всегда доводя до ума — для бизнеса это вредно. Другие наоборот — не любят начинать новое, а привыкли к привычному проекту и задачам «около него». Любой более-менее серьезный проект скорее всего очень скоро перестает быть «веселым для души», потому что есть требования, есть рутина (но за нее платят), есть отладка сложных случаев когда даже не ты писал, а разгребать тебе. Это называется «работа». Не скучно — это для себя небольшую программку для души набросать, быстро получилось, ура, можно новую начинать.
Я вас категорически поддерживаю, но не могу плюсануть из-за кармы)) Вообще не понимаю этой волны статей и комментариев про скуку за последние 2 недели. Откуда… нет, скорее как такие вечноскучающие персонажи попадают в ИТ? В ИТ Карл!!! Наверное единственную сферу деятельности где даже в рутинных задачах ты то и дело ощущаешь себя всесоздателем!

Одно дело — когда ты десяток лет занимался разработкой интернет-магазинов и видеть их уже не можешь. Но учитывая опыт, который ты за эти 10 лет накопил и навыки, которые получил — смело уходи куда душа лежит! И совсем другое, когда ты за какие то жалкие 3 месяца теряешь интерес к проекту. А чем ты думал, когда брался за него? Разумеется, такое случается у всех. Но это не тенденция, это случайность! А в статье это расписано чуть ли не как норма. Я абсолютно не согласен с такой интерпретацией, это лишь оправдания недостойные профессионала.

https://habrastorage.org/files/fa2/836/16e/fa283616edfa4a5d8a6ab59336965fab.jpg
А чем ты думал, когда брался за него?
А есть выбор? На собеседовании говорят об одном, а потом дают совсем другое.
Нет, это вы позволяете им так поступать. Кто вам запрещает задавать вопросы? Расспрашивайте работодателя, уточняйте все детали, записывайте наконец в блокнот! Неужели так трудно скачать из PlayMarket или AppStore диктофон?! Работодатель прекрасно понимает все свои риски, поэтому на собеседованиях докапывается до самых бессмысленных деталей. Так чего вы то вдруг засмущались? Докапывайтесь до него!

Что за проект? Какая точная зарплата? Белая ли зарплата? На каких условиях стоит ожидать роста зарплаты? Есть ли перспективы для роста карьерного? Стабильные ли инвестиции в проект (не обанкротится ли фирма завтра)? Сколько уже сделано и сколько предстоит сделать? Есть ли утвержденный план работ? Определены ли точные роли в команде? Кто руководит, какой у него стаж руководства, есть ли успешные завершенные проекты? А у команды? А кто в команде, сколько их, давно ли они работают в команде, чем занимались? Кому вы непосредственно будете подчиняться и какие границы у этого подчинения? Каковы корпоративные правила в этом месте? Есть ли гарантии оплаты сверхурочных? Заинтересована ли компания в вашем обучении? Оплачивает ли она курсы/сертификаты? И т.д. думаю вы уловили мысль.

В конце-концов, это вам в этом месте и над этим проектом работать (не)определенное время. Ну так выясните на берегу во что вы собираетесь ввязаться, чтобы потом не скулить на хабре, не приходя в сознание, о том как вам скучно и что все плохо!

А толку от диктофона? Вот и остается только менять работу.

Толку от диктофона — записать собеседование (если разрешат, бывает до собеса подписываешь соглашение о коммерческой тайне и неразглашении), чтобы самому потом в спокойной обстановке еще раз прослушать все, если не получается запомнить. Некоторые вещи не сразу принимаются во внимание, даже если они сказаны прямым текстом.
Рынок диктует свои законы. Когда программисты станут не нужны — они станут трудолюбивыми. А пока имеем то, что имеем.
И да, 5 лет — это очень много. А 10 лет — это путь от школьника до кандидата наук.
Не берите новичков, берите готовых. Берешь необученных по двум причинам а) посчитали, что все равно выгодно б) толку от готового опыта для тебя мало, все равно все специфичное. Если же обсчитался при рассчете, то кто же тебе виноват.
И вот в обратную сторону так же будет по вашему предложению — компания будет обязана не увольнять в течении 5 лет за то, что работник облагодетельствовал компанию своим присутствием и своими знаниями?

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

То есть я правильно понимаю, что вы предлагаете разработчику не максимизировать свою выгоду из гуманистических побуждений? Просто заниматься обучением имеет смысл, когда нет свободных специалистов на рынке. Если обучением считать выполнение детских/рутинных задач, то это тоже стоит денег и человек по факту их отработал. А я полагаю, что при разнице предложений в 10-15%, если на работе нет никаких серьёзных проблем, человек вряд ли перейдёт в другую компанию. А если уровень специалиста вырос, то смысл ему сидеть в компании, если ему в другой предлагают на 100-200% больше? Ведь в долгосрочной перспективе он теряет не эти 100%, а значительно большие суммы денег. Я не говорю про скуку, этот вопрос другой и тут айти специалисты может быть действительно зажрались, но я в мало каких компаниях видел нормальную систему обучения. Обычно тебя бросают на задачи, и ты должен с ними разобраться. Иногда можешь спросить совета у старших коллег (хотя чаще быстрее помогают гугл и StackOverflow). Это не совсем обучение.
Про обучение: это когда человеку говоришь «Ты строки сообщений пользователям не в коде пиши, а в ресурсы помещай, для локализации поможет». Или «Ты поток создал, а про блокировки не подумал, надо вот так». Или «У тебя кнопки ОК и Отмена наоборот, в винде не так». «А табуляции порядок проверил? Что будет когда человек на форме прожмет таб?». Я уже не говорю про случаи как проектируется набор классов, что надо пихать в члены класса, что не надо, как там с наследованием и т.п. Обычно человек-вчерашний студент он вот знает вроде много, но начнет делать — там всякие вещи бывают. И только корпоративная культура его обучает, как правильно программировать. Поэтому в моей практике новый сотрудник-студент учится, но учится работая. На него тратят время, по факту, инвестируют. И нормальные люди это оценят и работают, хотя бы некоторое время. Ну конечно кто-то и уходит. Удержать нельзя, в любом случае. Кстати студентов набрать лучше, у них еще «прет энтузиазм». А купить крутого парня можно, но экономически не всегда выгодно — он ленив будет, ему что-попало не поручить, деньги давай.
Ну просто, на мой взгляд, должен быть адекватный рост соразмерно скиллам. Да, можно платить меньше рыночной цены, но не в 2 раза же. 5 лет срока — это очень много. Год-два возможно. Просто чтобы проектирование доверяли студентам, я такого не видел, наверное зависит от компаний. Хотя, я и сам то, по сути, выпустившийся студент, некоторое время работал на разных проектах, в разных фирмах и на фрилансе.

А всё, кроме пожалуй примера с потоками, это я бы всё-таки не назвал обучением. Обучение, это когда студент не имеет представления о паттернах, о адекватном применении наследования, о том какие существую приёмы, чтобы избежать дублирования и т. п. и ему объясняется «как надо». Просто то, что описано звучит, как код ревью вне зависимости от уровня специалиста. («У тебя кнопки ОК и Отмена наоборот, в винде не так» это вообще скорее к проектированию UI, а не к разработке)

Но в случае, когда у человека реально вырос уровень, вы, как компания, получаете хорошего специалиста, которого плюс ко всему не надо вводить в проект, который в нём уже +- разбирается и может достаточно хорошо выполнять большой класс задач, так почему ему платить на порядок ниже рыночной цены? Так как он пришёл к вам студентом и якобы он вам «обязан», хотя он так же работал? Это достаточно странное обоснование.
Очень однобокий комментарий. Разработчик не виноват что индустрия так работает и самое большое повышение зарплаты происходит при смене места работы. Он ходит на работу зарабатывать деньги, и осуждать его за то, что он хочет получать больше денег за это, а не готов «за идею» работать на вас, это как-то нелепо, не находите?
Не занимайтесь благотворительностью, считайте деньги, чтобы сотрудник, которого вы взяли «на обучение», всё равно приносил вам прибыль. Вместо того чтобы потом писать обиженные комментарии. И да, это ваше «обучение» обычно сводится к работе над самой «плохой» работой — багфиксингом, написанием тестов, копанием в легаси коде. Словом, всем тем, чем остальные разработчики заниматься не хотят.
Да. разработчик не виноват. Объясню еще проще: идеального решения тут нет. Был человек, поработал несколько лет, напрограммировал много чего. Уходит. Что получает команда? На «старых» сотрудников возрастает нагрузка — теперь надо поддерживать и его код тоже. Новые-молодые не помогут — их еще надо научить. Так что с точки зрения того кто ушел — он молодец, сбросил старье с себя, больше зп, жизнь с чистого листа. На тех кто остался — «ну спасибо, Вася, теперь твой громадный модуль нам досталось вести!». Вот и вся логика, ничего такого — просто стороны РАЗНЫЕ, как на войне. И понимать им друг друга не обязательно.

О как. Получается, что стороны конфликта это не бизнес и программист, а программист, который ушёл и программисты, которые остались. Внезапно.

На тех кто остался — «ну спасибо, Вася, теперь твой громадный модуль нам досталось вести!».

Bus factor? Если да, то руководство виновато, что ничего не делало.

Какие-то коммунисты от бизнеса…
Не занимайтесь благотворительностью, считайте деньги


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

В принципе нам, программистам, в каком-то смысле это выгодно, т.к. новички создают нам конкуренцию.
Но я согласен с darthandrew, с гуманистических позиций это выглядит довольно паршиво.
Человек, который чуток поучится и потом «свалит» на большую зп — да, удержать нельзя, но выглядит это не совсем честно.


Вот этого я в IT-менеджменте совершенно не понимаю. Неужели нельзя заранее посчитать, сколько будет стоить на рынке человек, который получил у нас опыт, и заложить соответствующее повышение зарплаты в расходы сразу? Зачем заставлять человека «скакать»?
Так обычно и закладывают, ес-нно. Начинающий студент может получать одну зп, потом проработал время — пересмотр, как он в деле, и прочее. Однако! Повышение зп зависит не только от человеческих достижений. Есть еще и финансовая обстановка в данном месте работы, и негласная оценка его в сравнении с другими. Т.е. он может быть «просто нормальный», может быть «умный», или какой-нибудь «ну просто обалдеть какой умный». Вариант когда человек «слабоват»… по идее таких не держат, или держат не в программировании. Так что легко сказать — «заложи повышение». А человек вам скажет «Я вот там видел… предлагают в 1,5 раза выше чем у вас». С точки зрения человека получить больше — нормально, молодец. С точки зрения владельца бизнеса — это доп.нагрузка, в сложные времена сложнее будет «пересидеть». А с точки зрения коллег, которые получают вот столько, а работали дольше и ничем его не хуже? Дать ему негласно больше других просто потому что попросил? Поэтому зп в IT строго секретная штука.
Но ведь действительно предлагают. Причем одна и та же компания может нового человека с опытом брать на большую зарплату, чем платит своим сотрудникам с тем же опытом. Возникает подозрение, что текучка на самом деле всем нравится.
Видимо есть разные проекты. В здравом уме любить текучку (или плевать на сотрудников) могут там, где человек по сути не важен. Вот как-то в стиле «Наш дворник уволился, ничего — вон на бирже еще 100 готовы работать за зп еще ниже чем мы ему платили». Может есть такие проекты, я такого не знаю, в нормальном случае программисты важны, каждый в своем роде. Конечно в идеальном мире их заставляют вести проектную документацию, все пишут комментарии, все успели повидать чужие участки работы… В реальном есть заказ на результат, никому юнит-тесты не хочется оплачивать, технический долг это называется. И да — тут вот каждый спец.важен. Хотя бывает — ушел человек, и думаешь — «попутного ветра в спину, вот же… был!»
Прям про мою предыдущую работу. Когда попросил прибавки — сказали что денег мало и добавили 10 000 через 2 месяца. А еще через месяц наняли 4х программистов, 2 из которых не прошли испытательный, на зп +20 000 от моей.
Да все так делают. Это общее место, что если хочешь больше получать — нужно менять работу. Почему — загадка, возможно, работодателям тоже надоедает видеть одни и те же лица в офисе.
А вы продаёте свои товары\услуги по рыночной цене или в 1.5 раза дешевле остальных?
Программиста нанимают решать круг задач за определенную цену. У компании есть процессы по пересмотру зарплат, например, раз в год. Если сотрудник пытается нарушать процессы компании или вредит, то его либо ставят на место, либо увольняют. В вакансии всё описано, что нужно делать. Зарплата либо оговаривается на собеседовании, либо указана в вакансии. У сотрудника есть все карты на руках, прежде чем он согласится работать. Собеседовать наших кандидатов «по-американски» не имеет смысла, завалят. https://habrahabr.ru/post/200190/
Кто-то должен уйти в минус, или начать работать эффективнее.
не понимаю о чем вы, всю жизнь ломал процессы компаний, навязывая свои условия, и никто меня так и не уволил.
и больше трех лет нигде также не работал, потому что и правда начинает съедать рутина, а это негативно сказывается на производительности. и кому было бы хорошо, если бы я остался?
Человек, который чуток поучится и потом «свалит» на большую зп — да, удержать нельзя, но выглядит это не совсем честно.

Ну так платить нужно так, чтобы человека не тянуло в сторону. И это относится ко всем, будь то джуниор или сеньёр и т.д. Но в любом случае человек работает не за идею, а за деньги. И это нужно понимать.
Более демотивирующую статью и захочешь — не напишешь.
На первой фотке: два программиста читают одну цитату на баш.орг с двух мониторов (не работают).
На второй фотке: куча студентов делают лабу, но точно не работают.
На третьей фотке: два студента сидят в метро и хз что делают (не работают).

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

В целом желаю вам успехов. Хорошо когда хорошо платят.

А почему вы не пометили статью, как перевод?

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

Пускай у вас идеальный продукт, пускай поддержка в нём не заключается в борьбе с устаревшей архитектурой. Вы никуда не убежите от поддержки массива крайних случаев, бизнес-ограничений, спец. подходов в сторонних АПИ и сервисах, корректировок ТЗ от клиентов, итд итп. Но это если продукт успешный. Если у продукта нет клиентов (например, только пока) — то вполне можно мечтать об идельной архитектуре в стиле «написал и забыл».
Внутренние инструменты обычно скучны

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

Это то, что на глаза попалось только.
Тут позволю себе не согласится, существуют задачи решения которых достойны обсуждения с коллегами.
Скучно — это не свойство объекта, а восприятие субъекта. Так что это не «программировать» скучно, а конкретный человек «скучает» от программирования. Как только осознает это, поменяет занятие. Или восприятие
Скажу на примере своей работы:

1) Тоталитаризм в отношениях «руководство-программист». У нас такого нет, и слава Богу! С начальником всегда можно нормально пообщаться, в чём-то убедить или переубедить.

2) Общение. Да мы всем коллективом собираемся у начальника, рассказываем, «кактус-пеки» (от «как успехи?»), как закончим, начинаем мозговать и обсуждать идеи. К начальнику всегда можно зайти и рассказать о задумке, поразмыслить о её востребованности.

3) Есть простыня идей — листы бумаги, куда мы пишем идеи. Иногда поднимаем, создаём собственное ТЗ и реализуем в формате «инициативного проекта» (контора у нас — подчинённая).

В принципе, нам не бывает особо скучно. Бывает трудно, долго, сложно, но чтоб скучать? А когда скучать, если задачи разные и никогда не заканчиваются?) Каждый сам выбирает, за какую задачу возьмётся. Но все считаются с очерёдностью.
Статья заставила улыбнуться. Снова эти хипстеры со своими «микросервисами» и инновационными методами разработки. Наверняка делают какие-нибудь бесполезные мобильные приложения и не имеют отношения к реальной индустрии ПО. Если в проекте пара миллионов строк кода, то только как следует въехать в архитектуру и структуру кода займет три месяца, и никакие «микросервисы» не помогут (наоборот, придется еще больше информации в голове держать).
У нас как раз такой проект. Медленно рефакторимся на микросервисы. Коллективный разум решил, что они создают меньше проблем, когда нужно добавить хотелку, идущую вразрез с архитектурой ПО.
Эти хипстеры станут орлами, когда нынешние сеньоры уйдут на пенсию. Да и вообще, работают — не трогайте.

А любой крупный живой (не на искусственной вентиляции) проект рано или поздно расслаивается на набор субкомпонентов. Библиотеки, модули, классы, микросервисы — называйте как хотите.

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

Из статьи:
Мне не удавалось, как разработчику, задерживаться на одной работе больше двух лет.

Из LinkedIn:
Bruno Marnette
Enki.com
January 2015 – Present (1 year 8 months)

Естественно, он пишет, что его «стратегия против скуки» вроде-бы «до сих пор хорошо работает». Два года-то еще не прошло…
Sign up to leave a comment.

Articles