Ну и насколько его хватит?
Я вот в первые два года тоже только и делал, что фигачил, а еще дома сидел, всякие тех статьи поглощал. А потом ррраз… и че то выгорел. Меня сейчас больше чем на 2 месяца подряд кодинга не хватает — нужен месяц отдыха.
Ну и еще раз: если такого чела Вы нашли, остальные программисты что автоматически приравниваются к раздолбаям, которых надо кнутом погонять?
Я вот знаю чела, который в 20 лет с 1 годом опыта занял позицию тимлида/техлида в команде из ~6 человек. А почему? Потому что реально хорош технически, в переговорах с клиентом и руководстве командой. Ну и что, остальные что теперь идиоты? Нет, просто он один сумел поймать волну и быстро обучиться. Ему повезло, у него есть что-то уникальное, например, соображалка, которая ведет его прямо туда куда надо.
Обычная почасовка никак не оценивает результат и не мотивирует делать что-либо качественно.
А при чем тут почасовка? Вы что, варитесь в этой организации в собственном соку? У Вас нет руководителя (технического), который проводит ревью кода, стендапы? Поздравляю, Вы можете и при использовании этого подхода говнокодить и затягивать сроки, потому что все равно толком никто не просечет.
По поводу мотивации… Тут либо внутренняя мотивация, либо внешняя. Если внешняя мотивация, то подход с КПИ неоправдан, потому что человек привыкнет получать повышенную зп и начнет филонить (мотивирующий эффект снизится). Поэтому при внешней мотивации нужно человека постоянно мониторить, чтобы дать волшебный пендель вовремя. Если мотивация внутренняя, то Ваша фраза вообще смысла не несет — если человек делает некачественно, то скорее по незнанию.
Вообще, а почему бы не платить сразу максимальную зп разработчику? И при систематических грубых нарушениях расставаться? Все равно же при частых снятиях зп, чел вероятно уйдет, а так система проще.
И еще раз по поводу мотивации — если Вы будете платить человеку __максимальную__ зп по рынку, то даже люди с внешней мотивацией автоматически будут держаться за это место — потому что лучше вряд ли найдут с такой же зп.
Это все равно что намусорить на пляже и забросать мусор песочком. Проблемы не решает, а появляется дополнительное недовольство. Оно ведь и так было (почему Вы думаете хамство началось?), а тут еще пощечину начальник дал таким сообщением без какого либо личного обсуждения.
А если Ленский по мозгам ездил? И отстал только после того как его обматерили?
Пояснение из примера вообще ни о чем. Какие выводы чел сделать должен? Вас самих такое входящее сообщение бесить не начало бы? Каждый случай надо разбирать в отдельности. Случай вообще мог произойти условно в начале месяца и в конце успешно забыться, а тут оказывается за него зп сняли.
Как уже сказали, сотрудники только и будут заниматься что жопоприкрывательством и стараться соответствовать кпи вместо того, чтобы делать дело.
Я бы после такого внедрения сразу начал бы искать новую работу.
А почему Вы считаете, что веб-интерфейсы делают b2b софт дороже и сложнее? Какой подход в области интерфейса будет дешевле и оправданнее и почему? Чем Вас не устроили указанные шаблоны проектирования?
Я бы добавил еще один пункт к «Что делать с работником, который постоянно косячит» — «вывести человека на прямой диалог, понять проблемы, договориться о способах их преодоления». Например, забывает тесты гонять и/или писать. Договориться ввести чеклист, с которым разработчик будет сверяться перед каждым коммитом. Если и в этом случае буксует, наверное, стоит расстаться.
Мне кажется, что разработчики, которые готовы задавать себе вопрос «а умеет ли мое приложение работать в кластере и скейлиться горизонтально?» уже давно переросли средний уровень и тупо не по карману бизнесу, описываемому в статье.
Я тоже не могу себе представить, зачем такое может понадобится.
Могу предложить лишь альтернативный вариант, не такой сложный в поддержке: postgres ставит у себя флаг того, что надо сбросить кеш (в крайнем случае в однострочной таблице). Это делается триггером либо через ту же процедуру clear_cache. В php приложении поднимается демон и периодически (пусть в 30 секунд) проверяется значение этого флага. Если флаг взведен — очистить кеш, сбросить флаг.
Почему если говорят о реляционной БД, значит всегда надо использовать джойны? Мы можем ее использовать как NoSQL тоже — то есть не использовать джойны и делать выборки по primary key.
Если надо загрузить связанные сущности после первого запроса — делаем следующий запрос последовательно. Если что-то можно загрузить параллельно — делаем это.
И получается, что такая архитектура очень здорово ложится на кеши, и запросы занимают ооочень малое время — потому что из базы тянется мало данных и очень быстро — запросы элементарные, а потом еще кеш подключается.
Предположу, что интерфейс у Вас очень долго грузится, особенно когда надо загрузить связанные данные после первого-второго запроса.
То же самое можно сделать на сервере — параллельная загрузка несвязанных данных. При этом это будет невероятно быстрее: отсутствуют ожидания на клиенте, страница рисуется разом, кеш будет действовать для всех запросов.
Ну и как то сложно мне видится составление такого кумулятивного запооса, поддержка batch на уровне апи, разбор потом такого запроса.
Я предположу, что Вы считаете синтаксис непонятным только потому, что недостаточно изучили его или работали с ним.
Думаю, когда Вы только начинали программировать, Вы были в ужасе от синтаксиса C#/C или с чего начинали.
Я вот точно помню — был в шоке и ничего не мог понять в C в программе HelloWorld.
Поддержка в IDEA отличная. Работая полгода в режиме фултайм, я замечал только один косяк — в 1% случаев не показывает ошибки несоответствия типов.
Да, и с автоимпортами тупит и ошибается.
Я вот в первые два года тоже только и делал, что фигачил, а еще дома сидел, всякие тех статьи поглощал. А потом ррраз… и че то выгорел. Меня сейчас больше чем на 2 месяца подряд кодинга не хватает — нужен месяц отдыха.
Ну и еще раз: если такого чела Вы нашли, остальные программисты что автоматически приравниваются к раздолбаям, которых надо кнутом погонять?
Я вот знаю чела, который в 20 лет с 1 годом опыта занял позицию тимлида/техлида в команде из ~6 человек. А почему? Потому что реально хорош технически, в переговорах с клиентом и руководстве командой. Ну и что, остальные что теперь идиоты? Нет, просто он один сумел поймать волну и быстро обучиться. Ему повезло, у него есть что-то уникальное, например, соображалка, которая ведет его прямо туда куда надо.
А при чем тут почасовка? Вы что, варитесь в этой организации в собственном соку? У Вас нет руководителя (технического), который проводит ревью кода, стендапы? Поздравляю, Вы можете и при использовании этого подхода говнокодить и затягивать сроки, потому что все равно толком никто не просечет.
По поводу мотивации… Тут либо внутренняя мотивация, либо внешняя. Если внешняя мотивация, то подход с КПИ неоправдан, потому что человек привыкнет получать повышенную зп и начнет филонить (мотивирующий эффект снизится). Поэтому при внешней мотивации нужно человека постоянно мониторить, чтобы дать волшебный пендель вовремя. Если мотивация внутренняя, то Ваша фраза вообще смысла не несет — если человек делает некачественно, то скорее по незнанию.
Вообще, а почему бы не платить сразу максимальную зп разработчику? И при систематических грубых нарушениях расставаться? Все равно же при частых снятиях зп, чел вероятно уйдет, а так система проще.
И еще раз по поводу мотивации — если Вы будете платить человеку __максимальную__ зп по рынку, то даже люди с внешней мотивацией автоматически будут держаться за это место — потому что лучше вряд ли найдут с такой же зп.
Это все равно что намусорить на пляже и забросать мусор песочком. Проблемы не решает, а появляется дополнительное недовольство. Оно ведь и так было (почему Вы думаете хамство началось?), а тут еще пощечину начальник дал таким сообщением без какого либо личного обсуждения.
А если Ленский по мозгам ездил? И отстал только после того как его обматерили?
Пояснение из примера вообще ни о чем. Какие выводы чел сделать должен? Вас самих такое входящее сообщение бесить не начало бы? Каждый случай надо разбирать в отдельности. Случай вообще мог произойти условно в начале месяца и в конце успешно забыться, а тут оказывается за него зп сняли.
Как уже сказали, сотрудники только и будут заниматься что жопоприкрывательством и стараться соответствовать кпи вместо того, чтобы делать дело.
Я бы после такого внедрения сразу начал бы искать новую работу.
Опишите Ваш опыт работы с разными технологиями. Может быть мало опыта работы с веб-технологиями?
Функционал стрелочки кроется через flatMap. Плюс еще куча полезных фич.
Я бы добавил еще один пункт к «Что делать с работником, который постоянно косячит» — «вывести человека на прямой диалог, понять проблемы, договориться о способах их преодоления». Например, забывает тесты гонять и/или писать. Договориться ввести чеклист, с которым разработчик будет сверяться перед каждым коммитом. Если и в этом случае буксует, наверное, стоит расстаться.
А если вдруг команда окажется более 254 символов?
Я вижу огромное количество мест в текущем решении, где можно себе в будущем выстрелить в ногу. Так по-моему делать точно нельзя.
Могу предложить лишь альтернативный вариант, не такой сложный в поддержке: postgres ставит у себя флаг того, что надо сбросить кеш (в крайнем случае в однострочной таблице). Это делается триггером либо через ту же процедуру clear_cache. В php приложении поднимается демон и периодически (пусть в 30 секунд) проверяется значение этого флага. Если флаг взведен — очистить кеш, сбросить флаг.
Если надо загрузить связанные сущности после первого запроса — делаем следующий запрос последовательно. Если что-то можно загрузить параллельно — делаем это.
И получается, что такая архитектура очень здорово ложится на кеши, и запросы занимают ооочень малое время — потому что из базы тянется мало данных и очень быстро — запросы элементарные, а потом еще кеш подключается.
То же самое можно сделать на сервере — параллельная загрузка несвязанных данных. При этом это будет невероятно быстрее: отсутствуют ожидания на клиенте, страница рисуется разом, кеш будет действовать для всех запросов.
Ну и как то сложно мне видится составление такого кумулятивного запооса, поддержка batch на уровне апи, разбор потом такого запроса.
projectlombok.org/features/val.html
github.com/peichhorn/lombok-pg/wiki
Думаю, когда Вы только начинали программировать, Вы были в ужасе от синтаксиса C#/C или с чего начинали.
Я вот точно помню — был в шоке и ничего не мог понять в C в программе HelloWorld.
Да, и с автоимпортами тупит и ошибается.
Даже Хаскель симпатичнее смотрится. :)