Как стать автором
Обновить

Комментарии 361

И, вот чудо, в этом Nest нет никакой документации, она продаётся за деньги.

Вроде как на сайте вся дока открыта https://docs.nestjs.com/

Как бы да, но по факту, если вы её почитаете, вы обнаружите, что она очень урезанная. И когда вам нужно запустить Redis со специальными параметрами вы находите себя посереди их git репозитория, пытаясь разобраться, что и как там делать.

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

Laravel. Документация не содержит API Reference в принципе (если не считать отдельные генерированные доки почти без комментариев, которые ещё найти надо); только мануал, смахивающий по линейности на туториал. За визуальный дизайн страниц документации - бонусные вилы.

Просто ярко помню, как регулярно рылся в коде фреймворка на непривычном мне языке.

https://laravel.com/api/9.x/

Разве это не оно?

winapi в msdn

А это разве открытый сервис?

И без документации зачем пользоваться этим.

Впрочем закат вин приложений это все не отсрочило.

НЛО прилетело и опубликовало эту надпись здесь

Это никак нельзя назвать "нет никакой документации". Документация там очень даже полная, причем в этом может убедится вообще любой человек, перейдя по ссылке, начинать статью с клеветы - очень сомнительно.

Полная? Ну вот смотрите, открываем вот эту страницу — https://docs.nestjs.com/microservices/basics, и видим вызов NestFactory.createMicroservice. Что он вообще делает? Я дочитал эту страницу до конца, но так и не увидел ответа на этот вопрос. Да блин, там нет даже описания возвращаемого значения!


А что делать если мне нужен микросервис с конечными точками HTTP и связью через Redis? Ну вот архитектура такая некузявая вышла, как с ней жить-то? HTTP требует бутстрап строго через NestFactory.create, Redis требует бутстрап строго через NestFactory.createMicroservice, как их совмещать-то?


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

А ведь ответ на ваш вопрос есть по вашей ссылке, посмотрите этот раздел - https://docs.nestjs.com/microservices/basics#client

Собственно вам нужно сделать обычный апп и общаться через клиент с другими микросервисами. Как говорится - мануал ваш лучший друг.

А, так чтобы подключить клиента не требуется выполнять инструкции из секции Getting started? Это было ну вот вообще неочевидно...


PS но мне всё ещё интересно что нужно делать если нужны конечные точки как HTTP, так и Redis, хоть уже и не настолько

Навскидку видится решение создать 2 инстанса МС через разные методы и искуственно синхронизировать медду собой

Да, это возможный вариант. Но тут снова возникает вопрос "а что вообще эти методы делают", потому что, к примеру, в ASP.NET Core метод IHost.Run по умолчанию ожидает консольного ввода чтобы остановить сервер по нажатию Enter, а потому при попытке запустить два хоста в параллель лучше бы подменить им лайфтайм.


А вот какие проблемы возникнут при запуске в параллель двух приложений NestJS, что им нужно подменить и как вообще это делается — из документации вообще не ясно. Нет даже информации о типах!

Информацию о типах предоставляет тайпскрипт с аннотированной документацией кода, IDE подскажет что как. Отдельно лежащей api doc для всех пакетов и методов нет, но так даже и лучше - IDE отобразит прямо фактические данные. А вот если вместо IDE текстовый редактор… за легкость придется заплатить ручным поиском.

IDE и аннотации в коде вещь хорошая, только ведь бывает что даже текстового редактора нет. Вот я прямо сейчас комментирую NestJS на хабре — мне что, IDE ради этого открывать?..

А зачем вам точная детализация какой метод чего вызывает для комментирования на Хабре? Как бы вы это сейчас использовали если бы было? Концепт чего и как описан, примеры есть, кейсы разобраны, а такие детали - похоже на желание таки найти хоть какой изъян и сказать «я же говорил документации нет!» :)

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

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

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

Какая-то логика есть, но она работает только если строить вообще всю систему на NestJS. Обычно же задача получается несколько другая — другой сервис уже написан, и нужен клиент к нему. И вот тут тот момент что половину документации нужно пропустить — вообще не очевиден.


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

Писал на Nest 2 года . За эти 2 года не испытывал проблем с их документацией. Достойный инструмент для разработки в команде с 20 разработчиками. Тут скорее просто вы взяли Джуна, проверив его знание алгоритмов ( имхо абсолютно бесполезный навык , за пять лет разработки в сфере backend ни разу не пригодилось знание даже банальной сортировки , благо современные ЯП предоставляют все из коробки ) и не проверили его главный навык - умение искать необходимую информацию , как еще это называют - умение гуглить.

странно, но почти в 100% случаях я нахожу себя поуши в чужих исходниках, если что-то не работает) Ни разу не видел документации, которая помогла бы решить по-настоящему серьезную проблему просто по результатам ее чтения)

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

Так вообще-то в том и дело, что если по-настоящему серьёзную проблему можно решить почитав документацию, то не такая уж она и серьёзная. А если б ту же самую проблему можно было решить нажатием кнопки "решить проблему", то она и проблемой бы не была и даже документацию читать бы не пришлось.

Отсутствие нормальной доки не дало нормально развиться Dojo Framework.

Я правильно понимаю, что ваша организация наняла молодого программиста, не проверив его компетенции и технологии, которыми он владеет, как и его опыт?

Вы поставили перед ним таску, которую он сделал исходя из своих компетенций и технологий, которыми он владеет?

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

Вопрос - а почему вы взяли вместо миддла или сеньора непонятно кого? Потому что он дешев?

Ну и кто тогда должен оправдываться?

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

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

P. S. и причём здесь платный NestJS?

Да ну ладно. Я специально нанял человека из россии, решил молодому мальчику помочь. Помогал. Но только, поймите меня, всё можно простить до тех пор, как человек сдался. Оправдываться ему не надо было. Надо было просто продолжать работать. Его учили, ему спускали с рук, ему позволяли использовать метод проб и ошибок. А он отказался. И это не то, чтобы ему тут же за это по рукам надавали. Я ему много раз рассказывал, что так делать нельзя. Но, когда к тебе приходят со скандалом, и пытаются убедить тебя в том, что ОН не может что-то сделать - ну, тут уже ничего не поделаешь.

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

Если человек не может - его надо заменять. Это его факап, как программиста, а все остальное - ваш, как руководителя.

Нет, нет. Он — сдался. Это была его единственная роковая ошибка. Хрен бы с ними с требованиями. Он перестал стараться, и начал говорить, что он - всё.

Ну и отлично - он сэкономил вам кучу времени - радуйтесь, что так получилось.
Берите вменяемого программиста и успевайте убрать косяк до того, как топы поймут откуда он.

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

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

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

Из невменяемых плюс мануалы вы получите невменяемого минус мануалы и минус время.

Поставить на ноги? У вас богодельня или бизнес? Если первое - вопросов не имею. Если бизнес - то надо чётко понимать затраты и профиты от такого действа и благодарность тут не причём.

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

можно будет

Можно было. Прошло то время, сейчас все умные.

Можно было недоплачивать конкретно, в разы. Сейчас попросту дисконт уменьшился. Но если десять лет недоплачивать 10% к рынку - получится экономия в год зарплаты, а дёргаться из-за +10% к зарплате как-то не особо...

Но если десять лет недоплачивать 10% к рынку

Не выйдет. Либо 10 лет, либо 10%.

а дёргаться из-за +10% к зарплате как-то не особо...

Смотря, кому. Для джуна любой шаг - шаг вперёд ;)

А можно просто платить по рынку. Найм и онбординг это все-таки дорого, считай, сэкономили несколько зарплат.

Т.е. если взять человека, не умеющего плавать совсем, дать мануал и выкинуть в середине моря, то точно получится супер пловец?

Я не согласен, супер пловцов готовят по другому, хороших программистов тоже.

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

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

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

то работника - удовлетворять свои личные интересы, не смотря ни на что,

Трагедия общин

Так он и без помощи сам встанет на ноги. А тот, кто бежит от трудностей и хнычет того и тащить нет практической пользы.

нет, существуют те, которые без помощи не встанут на ноги, но тащить которых есть практическая польза.

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

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

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

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

блин, это джун, судя по описанию. Его еще учить и учить. Ну и рассказал бы, что нехорошо все валить на посторонних людей, взял бы и помог разобраться. А тут нашел причину и выпнул. [off]Так это наверное потому, что "из жалости взял россиянина"[\off].

Он не на должность супермена шел работать, и не на главного супер-пупер инженера. И для него есть нерешаемые задачи (важно во время сдаться (попросить помощи явно или неявно) ). И для кого угодно есть нерешаемые задачи(!).

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

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

Да, возможно, разбаловали их, но сам-то себя вспомни в детстве?

А где фэйл руководителя? Разве что в том, что немного раньше не уволили.

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

Ну, из меня рукамиводитель так себе, но скажем, если бы мне подкинули джуна, и я решил потренировать его на какой-то задаче, то я бы с ним сначал обсудил ТЗ, пускай бы он набросал примерный план того как будет его выполнять, какими средствами. Обсудили бы плюсы и минусы выбранного им решения (для решения такой простой задачи, микросервисы сильно избыточны, есть проблема с документацией к фреймворку). И только потом бы он начал работу, причем я периодически проверял что он делает и какие сложности в процессе работы.

Понятно что опытного разработчика так опекать не надо, но так он и не опытный. А просто дать ТЗ, и потом посмеиваться над "тупым нубом", что он делает все неправильно и явно зашел в тупик.. ну это такое..

Про смену работы раз в год не соглашусь, учитывая, что процесс индексации ЗП нормально налажен примерно нигде, то вместо того, чтобы терпеть люди часто берут и идут туда, не получают сразу 25-70% к окладу просто за сам факт смены работы. Так что, полгода ещё могут насторожить, но это тоже не редкость, а год это абсолютно нормальная практика, исходя из условий.

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

Вот я сейчас являюсь "Hiring manager" - нанимаю людей в свою команду. Всего для программиста - 5 раундов собесов, из них один - мой, а также само решение в основном будет за мной по итогам всех раундов.

Так вот - на самом деле я ищу "талантливых и трудолюбивых", а также в качестве второго приоритета - в какой-то степени коммуникабельных и более-менее позитивных так как все работают удалённо.

На моём раунде я именно хочу понять насколько у человека был высокий вклад в предыдущие проекты, был ли он там основным контрибьютором либо одним из основных. Является ли он "rock star". Проходит это во время обсуждения последних пунктов в резюме в подробностях, иногда показываю экран, вбиваю туда адрес сайта про который говорит кандидат, и спрашиваю - что конкретно вы тут сделали. И в идеальных случаях - кандидат говорит, давайте лучше я поделюсь экраном - и с залихвой начинает рассказывать что и как он(а) делал(а).

Но есть и другие раунды - (2 из них технические), на которые я также могу немного влиять. Там уже может попадаться что-то алгоритмическое.

И кандидатов очень много, но всех не нанять, т.к. количество мест ограничено. За 5 раундов с разными людьми и складывается общее впечатление, кто такой этот кандидат, что он может, а чего не может.

И если с первых раундов видно, что кандидат крут - то ему включается "fast track" и все раунды завершатся за несколько дней.

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

Для этого у нас считается, чтобы интервью с Hiring Manager было как можно раньше. Т.е. вторым этапом, после раунда с HR. Т.к. именно Hiring manager всё расскажет и покажет и не спугнёт кандидата.

Вы в Faang хайрите? Или зп платите вдвое выше рынка?

Ума не приложу, куда бы я стал проходить пять этапов интервью

Не FAANG. Продукт, пре-IPO (однако в IPO пойдёт только когда рецессия в штатах закончится), ~700 человек работает. Бюджет на Senior developer в Европе 100к евро в год грязными (есть ещё выше синьёра - staff и principle dev). Если хороший девелопер ещё опционов дают (однако в описании вакансии это не указано).

Очень много откликов на вакансии. Самих вакансий не так много.

Даже мидлов практически нет и не набираем их. Заинтересовались бы?

100к в Европе нет, я за газ заплачу больше после налогов. У меня 90 были оферы с двумя раундами собеса, сомневаюсь что лишние 10к стоят 3 раундов нервотреп

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Не думаю что там где что-то доказывают такое требуется 5 раундов. Я вообще за свои 16 лет практики ни разу не видел мест, где действительно требуются 5 раундов собесов.

Даже в гуглах я уверен отбор можно сделать проще.

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

Либо же собесы по 2-3 часа делать. В других компаниях, когда я работал - частенько было именно так. Однако, после первого часа - ваши мыслительные способности начинают падать из-за напряжения.

Если бы из-за 5 раундов действительно откалывалось много кандидатов, то процесс бы поменяли.

Получается вы приходите на 1 раунд к HR (пол часа обычно достаточно), где просто мило беседуете и раз вы на него попали, то ваше резюме прошло отбор, и если подтверждается, что ваша локация и бюджет совпадает, а также вы более-менее адекватный, проходите дальше. Также вам говорят, сколько всего раундов.

Но, получается, первый вы уже прошли. Вероятность прохода 1 раунда очень высока.

С нашей же стороны HR передаёт фидбэк и уже мы видим, это yes или strong yes.

Во первых, чем выше уровень кандидата, тем меньше вероятность того, что он начнет проходить 5 этапов. Обычно к 10 годам опыта накапливается круг знакомств и так найти работу существенно быстрее.

Во-вторых, возможно в фирмах где людей берут "на будущее" такое прокатывает. Мой опыт говорит о том, что в 80% случаев проект горит и тебе тупо нет времени отсеивать сотни кандидатов

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

Еще раз повторюсь, я раньше пушил людей, требовал их саморазвития и держал коллектив в нездоровом состоянии. Теперь я переосмыслил, понял и уже года 4 как считаю, что именно на мне задача подобрать задачи по возможностям на каждого кандидата. Людей нужно уважать и вести диалог.

Сделать проект качественно в срок с самыми крутыми спецами может каждый. Сделать проект в сложных условиях с теми людьми что есть и не допустить выгораний - это как раз суперскил.

Примеры из жизни. Как-то я взял парня олимпиадника очень толкового. Понимал, что через полгода ему скучно будет и он уйдет. Но я все равно взял, так как парень был толковый и он успел много сделать. Или другой случай. Взял в мидла мужика 43 лет. Он не супер был по хард скилам. Но он старался, мог закрвыать несложные таски и мог самостоятельно работать и не просирать сроки. Вот так вот из кирпичиков, постепенно, люди набрались и как-то проект делался. А если бы я искал рокстаров, мы бы еще не начали бы.

Мой опыт говорит о том, что в 80% случаев проект горит и тебе тупо нет времени отсеивать сотни кандидатов

Это сильно зависит от локации и условий. Условно говоря в Германии notice period и три месяцев может быть - толку торопиться, если после найма вы всё равно будете ждать, пока кандидат отработает?

Если нанимаете с релокацией - это отдельное шапито, потому что хрен знает сколько кандидат будет визу получать. Где-то можно только запись в посольство 2-3 месяца ждать.

Итого цена найма очень сильно вырастает: если вы взяли посана, прождали его 4 месяца, а через две недели понимаете, что он вообще не тянет - то вы серьезно обосрались и потеряли 4 месяца и кучу денег (при этом надо понимать, что одним днём вы его не уволите). Зато собесов меньше, ага.

Ну и сразу отвечу

Я вообще за свои 16 лет практики ни разу не видел мест, где действительно требуются 5 раундов собесов.

Как минимум 4 - легко

  1. Первичный с HR'ом/cultural fit

  2. Техника

  3. Для синьоров-помидоров - какой-нибудь system design

  4. Финалка с будущим начальником

Опционально посыпьте сессией с лайвкодингом или парным программированием, алгоритмический собес, или какой-нибудь контрольный собес с чуваком из другого подразделения (некоторые такое практикуют) - и вот вам 5 сессий. Ну и да, где-то они будут короткими, до часа, чтобы и кандидат, и собеседующий не превращались к концу в амёбу (плюс чтоб кандидат мог нормально подготовиться).

И все это лишь подтверждает никчемность такого подбора. Потому что в общем случае достаточно пункта 2-3 вместе с техническим оунером на проекте. Все эти вы*боны с лайвкодингом или парным программированием, алгоритмический собес это не более чем плохой фильтр.

В реультате этого фильтра остаются те, кто сидит на жопе ровно, но никак не рокстары.

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

Нанять абы кого, а потом тянуть его за уши как в примере из статьи.

В статье его не только не тянули, но и даже не тратили время на сформулирование таски нормально

НЛО прилетело и опубликовало эту надпись здесь

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

Согласен, это фейл руководителя, который он переложил на джуна, потому что сдался :)
Прям как в притче про бревно в глазу.

Ты предпочёл бы того кто не сдаётся? Сколько ты готов платить за попытки, а вернее проведение исследований?

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

Ты как управленец мог бы сформулировать задачу - "разберись". Составить список вопросов, желательно с конкретными примерами. И тогда исполнитель занялся бы исследовательской работой, проверяя реализацию различных возможностей в фреймворке.

Заметь, ты сам написал:

я буду сидеть и выяснять, почему это произошло

Как долго ты будешь сидеть и выяснять? В чём между вами разница на самом деле? Ты имеешь уверенность (наглость) сказать - "столько сколько надо", потому что считаешь себя профессионалом и уверен в том что потратишь именно столько сколько надо времени. Если вернее, то уверен что большинство других потратят больше времени чем ты. Молодой же разработчик обычно не уверен в том что потратив месяц на исследование, не обнаружит потом что профессионал потратил на это 1 день. И дело не в том что он не уверен в своих знаниях как таковых или способностях к логическому мышлению. А в том что у него нет опыта решения задач, который бы интуитивно подсказывал среднее ожидаемое время их решения.

Задавая самому себе вопрос. Сколько времени у меня это займёт? Молодой разработчик получает сам от себя ответ - "неопределённо долго". Ты же даёшь сам себе уверенную оценку времени, даже если она ошибочная.

Итог. Когда ты формулируешь бизнес-задачу, нужно её формулировать не "надо вчера и как можно быстрее", а указывать чёткий дедлайн. Отдельно выделять подзадачу "оценка целесообразности". Важно что бы каждый программист помогал другим в этой подзадаче, то есть консультации должны быть записываемыми в вашу учётную систему как продуктивное рабочее время.

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

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

Я сам профессиональным программистом не являюсь. Но много раз столкнувшись с тем как моё руководство нерационально ставит задачи для достижения бесполезных результатов и к тому же срочно. Начал самостоятельно проводить оценку целесообразности и писать замечания. Чем кстати злю подрядчиков-разработчиков когда указываю на то что определённые интеграции не разработаны, а без них сайт "мёртворождённый", так как эффективно обновлять товары на нём вручную не получится. И когда перед мной поставили задачу ручного добавления фотографий к разделам, я честно потратил на это две недели. Это отражено у меня в таблице выполняемых задач и ежедневных отчётах.

Знаю ли я что такое ответственность? На уровне логической концепции понимаю. Но что такое "чувство ответственности" - не знаю. Мне доступны сочувствие, жалость, гордость (собой, за дело...) и многие другие эмоции. Но чувство ответственности не доступно. Будучи школьником я полагал что испытывать ответственность - это значит мысленно бить себя по голове за ошибки и демонстрировать это окружающим. Поскольку люди от меня этого требовали, я их считал идиотами, а общество безумным. Потом я догадался что просто эта эмоция мне не доступна, что у меня частичная эмоциональная дисфункция.

Кому то со стороны возможно может показаться что в продемонстрированной переписке я проявил рвение и не дал исполнителю сдать недоделанный сайт. Но я снимал с себя ответственность. Мне похер на этот сайт, мне похер на эти товары, мне похер на мою бесполезную работу с малой зарплатой которую задерживают. Этой перепиской и дальнейшими двумя неделями работы, я дал ясно понять руководству, что сайт нихрена не готов. И что требовать С МЕНЯ его работоспособности не надо. А точнее ясно показал что в текущем состоянии сайта, на это будет уходить почти всё моё время и я не буду всё успевать.

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

Без обид, но после такого общения я бы вас уволил.

Интересно, что в моём общении неприемлемо с точки зрения вас как "серьёзного бизнеса"?

Вы не "за одно", а противопоставляете себя команде (либо заказчикам - без разницы). Дальше вы употребляете ужасный термин, который, если задуматься несёт бесконечное горе для тех, кто с этим столкнулся, или просто имеет достаточно эмпатии, чтобы понять это. А если, кто-то из тех, кому вы пишете с этим столкнулся, либо тот, кто прочитает этот коммент?

Софт скилы на уровне 0. Также сарказму не место в профессиональном общении. И ещё можно применить модный термин - токсичность.

Софт скилы на уровне 0

токсичность

Как мамкин фалософ, я умею писать тактичные, обходительные и политкорректные формулировки. И поэтому же стараюсь их избегать, потому что они часто препятствуют пониманию.

Также сарказму не место в профессиональном общении.

Вот этого я совсем не понимаю. Это как и для чего? Для того что бы не мешать одним делать вид что они работают, а другим что они платят?

Дальше вы употребляете ужасный термин, который, если задуматься несёт бесконечное горе для тех, кто с этим столкнулся

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

Короче, управленцы, получили, тех кто как и вы пытается знание реальности заменить софт-скилами. Тех кто разрабатывает резюме, а не программы. Вы это заслужили.

Вы не "за одно", а противопоставляете себя

Как потенциальный будущий политик, заявляю вам. Какие же вы мрази... Прям как политики.

Я бы так сказал, сказать подчиненным что они лохи и нифига не умеют не сложно. Более того, это чаще даже правда. А вот доделать проект не посылая никого никуда - сложнее.

Сложно что-то доказать людям с практически противоположным мировоззрением, однако, вот вам к размышлению - страны в которых принято "не оскорблять чувства", где переименовывают black list в block list, и уж тем более не используют мёртвых детей при описании сайтов - более развиты экономически, имеют здоровые правительства, которые меняются, больший человеческий потенциал и больше возможностей для сограждан.

НЛО прилетело и опубликовало эту надпись здесь

Ох как правильно вы сейчас США описали.

Если ты сам стоишь на ногах, то ушат гамна выслушивать тебе. А вот Билли, с другой стороны, он сидит в колясочке, он сам ходить не может. Билли - инвалид.

А кто вам говорит "ушат гамна"? Билли-инвалид, либо такие же здоровые, которые "стоят на ногах"?

НЛО прилетело и опубликовало эту надпись здесь

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

То, что их нынешнее процветание обусловлено совсем не переименованием black list в block list, а предшествующими десятилетиями, а то и столетиями жизни без таких маразмов Вы не рассматриваете? Общества имеют огромную инерцию, которая подчас прощает дичь отдельных времен и персон, и в силу этого способна продолжать обеспечивать процветание, даже если президент немного чудит с речами, трапами и вообще, координацией движений.

столетиями жизни без таких маразмов Вы не рассматриваете

уверен, когда-то говорили - "столетиями жили с рабством, а сейчас что ... должны его отменить???".

То, что их нынешнее процветание обусловлено совсем не переименованием black list в block list

Это правильно сказали - не процветание обусловлено black list в block list, а наоборот - процветание обусловило подобную политкорректность. Вывело людей на следующий этап.

Основа их экономической мощи из времён, когда они наоборот, использовали мертвых детей в описании сайтов. Отказываться от этого они стали спустя много лет после достижения топ-1 в экономической сфере.

НЛО прилетело и опубликовало эту надпись здесь

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

Потом, я уже попытался обосновать почему.

Если в современном развитом мире переименовывают бранчи из мастер в мэйн, то уже упоминание мёртвых детей для "красного словца" - это совсем из рук вон, вызывает отвращение, презрение к человеку, который так может говорить, а также скорбь по всем детям, которые умерли в утробе и исколеченные судьбы их родителей. И да у меня есть знакомые, с которыми случилось это горе.

И сравнивать ваш лёгкий дискомфорт с горем и трагедией - неуместно. Хотя, для вас может быть уместно. Но это значит и мне с вами не работать.

А судя по скриншоту в переписке видно, что разработчик терпит, и его терпят. Была бы возможность - с ним не работали.

НЛО прилетело и опубликовало эту надпись здесь

А, я вспомнил — это мы уже с вами разговаривали на тему того, есть ли в США адский расизм в сторону чёрных, и вы всё верите, что есть. Ну ок.

О неет. счастливо оставаться.

НЛО прилетело и опубликовало эту надпись здесь

У меня есть чуть более базовый вопрос. Почему вы так трясётесь на чувствами? Боитесь спугнуть клиента выбирающего между вами одинаковыми прилизанными продаванами? Ну так то да, это рационально. Однако, почему вы позволяете этому анестетику протекать в команду разработки?

Видите какое у нас огромное недопонимание. Такое же было бы и внутри команды. Я трясусь не над чувствами клиентов, а над своими и чувствами людей команды. В команде все должны быть за одно и конструктивны в общении. И важный показатель - это эмпатия, которая у вас отсутствует. То есть сопереживание, возможность предоставить себя на месте другого человека, что позволит говорить на одном языке.

Вот уже сколько я сообщений написал, а вы меня не поняли.

И важный показатель - это эмпатия, которая у вас отсутствует.

Эмпатия у меня есть и всякие тесты показывают что даже чрезмерная. С моей точки зрения "больно" везде и всегда. Это вы можете морально и эмоционально от чего то полностью отстраниться просто убрав это из внимания. Я этого не могу.

сопереживание, возможность предоставить себя на месте другого человека

Кажись именно это и приводит у меня к эпизодическому перегоранию эмпатии. Полагаю со временем психопатом стану.

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

Почему вы так поступаете? Правда в том что наёмный труд является вынужденно разделённым и порождает отчуждение. Это вводит людей в хронический стресс, создаёт повышенные потребности в комфорте, как физическом, так и психологическом. Многие люди находятся близко к озверению и поэтому их стараются лишний раз не тыкать палкой. Но дело в том что какого то предела этому нет, нет какой то грани. Зато есть идеи о виртуальной реальности и редактировании воспоминаний.

Хамство пораждает хамство, негатив - негатив. Улыбаетесь людям, они вам улыбаются в ответ.

Если вы настроены враждебно к кому-то, думаете, он будет к вам настроен дружелюбно?

Меня бесит эта политкорректность либерального разлива, когда изменяют слова вместо того что бы изменять действительность

Сначала меняете слова, а потом смотрите - и меняется действительность.

 Но мне глубоко противна эта вся половинчатость и лицимерие, закрывание дерьма ширмой и дезедорантом, вместо того что бы его убрать или не гадить по углам

Если вы работаете на проекте - то вы работаете с людьми, такими же как вы (ну только с большей эмпатией, скорее всего). Разберитесь "на позитивчике" вместе, что вам сделать, чтобы проект был конфеткой. Например, я не работаю в "дерьме", и всё ок. Да есть какое-то количество легаси кода, но мы его не называем "дерьмом" )) А постепенно его рефакторим. Даже дезедорантом не нужно нигде пырскать.

Вы бы, может быть, представляю, могли назвать легаси код "дерьмом" - но это не "называние вещей своими именами". Дерьмо - это экскременты, которые выходят из животных. Вы сами задаёте тон вашим митингам, вашему общению, это влияет на реакции в вашем мозгу и как вы будете себя чувствовать завтра.

Улыбаетесь людям, они вам улыбаются в ответ.

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

Сначала меняете слова, а потом смотрите - и меняется действительность.

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

Разберитесь "на позитивчике" вместе, что вам сделать, чтобы проект был конфеткой.

Щас спою. Этот ваш гнилой позитив! Вашу землю украсит, лишь ядерный взрыв!

Да есть какое-то количество легаси кода, но мы его не называем "дерьмом"

Этот ваш "легаси" есть разный. И тот в котором что то прибито гвоздями к специфическому окружению или же привязано к плохой проприетарной технологии, возможно дохлой, без должного слоя абстракции - это дерьмовый код. Как бы ты назвал бы систему разделения "рабочих столов", то есть позволяющую к одному компьютеру подключить множество рабочих мест, в которой всё прибито к GDM определённой версии и при каждом обновлении всё отваливается? А хотя ведь можно было используя штатные средства linux, сделать нормальные драйвера для своих устройств и скрипт запуска X серверов с собственными конфигурационными файлами. И тогда не было бы без разницы какой вообще менеджер графического входа использовать. Всё что нужно было бы поддерживать, это юнит системы инициализации и драйвер для xorg.

А как вы относитесь, например, к фильмам, в которых умирают люди (и дети, в частности)? Ведь они напоминают людям об их собственном горе и при этом давят на эмоции гораздо сильнее, чем мимоходные упоминания. Считаете ли вы, что в современном мире неприемлемо показывать такие фильмы по телевизору, в кинотеатрах, в рекомендациях ютуба etc?

Лично про меня - если это не документальное кино, где действительно описываются факты - то прекращаю смотреть и считаю, что вводя такой "художественный оборот" сценаристы (или кто там ответственен за это) - используют этот приём, чтобы выбить слезу, однако, могли бы больше постараться и обойтись без этого. Считаю, что такое кино не достойно, чтобы его смотреть. Например, из-за этого я не посмотрел ТорЛюбовь и Гром.

Повод ли это введения цензуры - не думаю, скорее внутренняя цензура. Мне это не решать, и цензура - это зло.

Насколько корректно обозвать тебя "неженкой"?

Когда мы на ты перешли?

Я думаю обзывать кого-то - уже некорректно. Не думаю, что я "неженка", вас бы уволил и глазом не моргнул.

Я думаю обзывать кого-то - уже некорректно. Не думаю, что я "неженка", вас бы уволил и глазом не моргнул.

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

А ещё вспомнил. Именно он потребовал в официальных документах не употреблять слово "голод" заменив его на "недород". Так как это плохое слово портило ему аппетит и настроение.

Как звучит - "Крестьяне в этом году не уродились"...

Хорошо перекрутили.

Если в современном развитом мире переименовывают бранчи из мастер в мэйн

Справедливости ради, конкретно это — не от развитости. Так, популистский тренд. Он пройдёт.
то уже упоминание мёртвых детей для «красного словца»

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

это абсолютно обиходное слово, которое касается любой затеи, которая по меркам наблюдателя видится провальной задолго до окончания её реализации

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

Я сторонник подхода, в котором если вы не собирались человека обижать, а он вдруг обиделся, то это проблема на его стороне, а не на вашей, и исправлять её не вам. Потому что в противном случае есть только один способ никого не обижать — вообще ни с кем не общаться.
И уж тем более мне непонятны проблемы со словом «мертворожденный». Мы с женой, к сожалению, тоже потеряли ребёнка восемь лет назад, но я в принципе не могу понять, как к нашей трагедии можно приплетать какие-то термины, которые имеют сугубо бизнесовую коннотацию.

Искренне сочувствую.

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

Заметил что от тебя никто не требует писать про сочувствие и просить прощение. Потому что это не нужно. Но ты почему то уверен что этот ритуал необходимо исполнять? Ты искреннее веришь в его силу? Ты проецируешь на других то как сам легко покупаешься на всякие слова? Или это просто привычка которую в тебе воспитали? В общем вопрос. Осознаёшь ли ты почему на самом деле так пишешь? Почему на этот вопрос важно ответить? Потому что это шаг к возможности изменить выбор, к свободе.

НЛО прилетело и опубликовало эту надпись здесь

А если человек не сомневается в своём абсолютном моральном превосходстве и следовательно не нуждается в демонстрациях?

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

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

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

НЛО прилетело и опубликовало эту надпись здесь

Все смотрят на мир через призму своего восприятия.

Я думал, что вы поймёте без пояснений, однако, видимо вы не поняли. Поясняю:

Если вы не искренны - то вы думаете, что и другие не искренны.

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

Если вы крутите интриги, то думаете, что и другие крутят.

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

Это работает и наоборот, если вы всегда до конца стараетесь быть честными и говорите правду - то думаете, что и другие также.

И вместо третьего коммента, чтобы вам не додумывать, что я имею в виду - вывод из всего этого - на самом деле все люди разные.

Однако, стоит помнить что если у Вас не паранойи, это еще не значит что за Вами не следят. Так что вера в окружающих людей как в розовых пони, какающих фиалками, а тем более, построение своего поведения исключительно на такой вере - ну, такое себе дело, до первого столкновения с реальностью.

вывод из всего этого — на самом деле все люди разные.

Люди не очень разные. Есть некоторое количество стандартных моделей поведения, и все мы им соответствуем, ну или каким-либо их комбинациям.
НЛО прилетело и опубликовало эту надпись здесь

Так что вера в окружающих людей как в розовых пони, какающих фиалками

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

Люди не очень разные. Есть некоторое количество стандартных моделей поведения, и все мы им соответствуем, ну или каким-либо их комбинациям.

Согласен, ну и добавил бы немножко своего Я каждому в качестве небольшой мутации.

Вы же, кстати, описываете человека с околонулевым интеллектом, который не может в обобщения.

Я описал в том числе и себя ) Однако, я могу доказать, что интеллект у меня не "околонулевой", это порождает противоречие и, согласно "научному методу", ваше утверждение неправильное (ну либо интеллект у меня околонулевой всё-таки, но как бы я тогда писал этот коммент?)

У вас вообще когда-либо возникают мысли о том, что вы, ну, можете быть неправы? Пока по наблюдаемым данным похоже, что нет.

Конечно, причём я очень много над этим стараюсь работать, чтоб не быть предвзятым к своей точке зрения. Но там где я прав - не значит, что я буду притворяться, что я не прав и принимать ложную точку зрения ;)

И да, все люди разные, но на фундаментальном уровне мотивы очень похожи.

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

НЛО прилетело и опубликовало эту надпись здесь

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

Из чего вы делаете подобный вывод? Опять же - эмпатия она такая, вы не понимаете своего собеседника (меня). Хотя куда уже прямее вам всё разжовывать.

Наблюдаемых фактов для этого лично я не заметил. Факты против этого — сполна.

Значит мне выборки не достаточно, а вам - достаточно.

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

Так околонулевой либо более слабый? И начнём с того, что вы подразумеваете под "околонулевым".

Судя по этому словосочетанию под него попадают те у кого как минимум нет коры головного мозга. Например, крокодилы.

Очень "интересно" с вами общаться, как и со всеми теми, которым важно доказать свою точку зрения, чем найти истину. У вас такая цель просто отсутствует.

Если вы с гнильцой то думаете, что и вокруг вас люди, как минимум не хуже. А ещё вокруг все тупые, а вы дартаньян.

Но ваша цель сейчас доказать мне что? Что я притворяюсь? А раз я притворяюсь, то значит все люди одинаковые - думают про свои какие-то низменные цели и я типичный представитель.

Но вот вам новая информация - у меня есть дочь, и когда она родилась и была маленькая умела делать только 1 вещь - плакать. Потом научилась делать - 2 вещи - плакать и смеятся. Ей не нужно было ни чьего одобрения, чтобы радоваться. Значит - всё остальное - приобретённое. Как вы воспитаете своих детей - такими они и будут - саркастическими, думать, что все их используют, что все с гнильцой и так далее.

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

Я могу сказать к чему я стремлюсь. Вот у вас уже сложилось впечатление, что этакий менеджер-подделка, но, прикиньте - работа это ооочень маленькая часть моей жизни. И работа остаётся на работе.

Дальше какие стремления (которые вы описали, как фундоментальное для всех) - власть, деньги? Может быть снова это ваши стремления, или думаете у меня также.

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

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

А теперь, расскажите мне про мою "не искренность" и про "Virtue signalling" и заставьте доказать, что не тупой.

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

Поправочка, у крокодилов есть кортекс, а также сложное социальное поведение. Значит, не похоже, что у них "околонулевой" интеллект.

это порождает противоречие и

Вы не посмотрели ещё один вариант. Вы описали не себя. Вам кажется, что вы такой, но в рассуждениях, которые приводят вас к такому выводу может быть ошибка (например, вам просто хочется быть таким)

Вы не посмотрели ещё один вариант. Вы описали не себя. Вам кажется, что вы такой, но в рассуждениях, которые приводят вас к такому выводу может быть ошибка (например, вам просто хочется быть таким)

Не совсем, я это знаю и учитываю это. ИМХО, это не есть качество со знаком +

Наверняка осознает, он же прямо написал, что это связано с экономическим процветанием. И не исключено, что это процветание он ощущает на себе. Так почему бы ему и не выбрать те слова и подходы в речи, которые приняты там, где он зарабатывает?

Примерно об этом же поучительная сказка про "опасное" веретено.

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

Токсичность там двусторонняя (принесу ваш ответ поржём)
"отсутствие преданности" - в ответ на невыполнение ранее достигнутых договорённостей и попытке скинуть сырой проект на поддержку (которым потом отдуваться)
и вся работа, по словам@rezedent12 идёт за небольшую ЗП.

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

Да там обе стороны отличились стилем. В такой кислоте хорошего продукта не получится. Заказчик плюнул в подрядчика, подрядчик обиделся и ответил. Заказчик обиделся ещё больше и написал на хабре.... Для меня этого было бы достаточно, чтобы начать искать новый контракт\заказ\клиент.

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

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

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

Расскажу тебе немного про ответственность. Есть такая контора нехороших людей, называется "бизнес-класс", на одной из моих предыдущих работ мы с ней сотрудничали. И как то эта контора обратилась к нам за технической помощью в проведении мероприятия. Руководитель назвал стандартную цену, 600 рублей в час. Они не согласились. Тогда у него стали спрашивать кого бы другого нанять. Он поспрашивал своих знакомых, там согласных не нашлось и в итоге предложил мне дать отгул на тот день, а я заработаю 3 тысячи рублей (вроде, или 2 тысячи, сумму не помню уже точно). Я согласился, предупредив что никогда раньше этим не занимался.

Пришёл в конференц-зал. На всех рабочих ноутбуках нелицензионная windows напоминающая о своём статусе полупрозрачной надписью. И не офисного пакета даже. В общем, я поставил libreoffice и acrobat, настроил подключение к проектору. Музыки заготовленной заранее нет, сказали "сам скачай динамичную". Выступления долгие без пауз, еды для персонала нет, цены на неё в ресторане гостиницы дорогие, требуется постоянно быть возле ноутбука. Хорошо что с собой немного еды взял. А потом понадобилось в туалет и никого не нашёл кто бы меня подменил, пошёл в перерыв, но перерыв неожиданно решили закончить. Кстати про музыку, я нашёл OST из "c money of soul and possibility control", там есть много хороших композиций.

В конце дня нанявшая меня курица, со словами "ты же мужчина", "чувство ответственности", предлагает оплату в два раза меньше. Угрожая пожаловаться моему начальнику. Я ей говорю "ну звони". Она позвонила, а он ей объясняет, что у меня в этот день отгул. Короче, не купился я на её манипуляции, настаивал на полной оплате и получил. После этого она настояла моему руководителю на том что бы я не занимался технической поддержкой их конторы. Кстати, персонал конторы состоит из молоденьких по впечатлению наивных девочек, которым для работы ничего не выдают. Подозреваю что работают они за слова.

Тогда же я и сформулировал тезис: Настоящий мужик не ведётся на слова "будь мужиком ..."

"На свой account надо принимать только деньги, остальное - spam."

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

Желание исправлять свои ошибки по-хорошему должно быть не из-за гордости за выполняемое дело, а из-за самоуважения. Конечно, в том случае, если вам не совсем уж наплевать на себя как на специалиста.
Я сейчас не говорю про ночные переработки и про бесплатный труд. Конечно же, это всё должно быть в рамках своей обычной работы, но тем не менее, одно и то же дело можно делать либо качественно, либо через задницу. Вот я не сторонник второго подхода, по крайней мере, если про него изначально не договорились :)

Конечно же, это всё должно быть в рамках своей обычной работы

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

на новой работе такое бывает. В какой-то момент внезапно понимаешь, что нихрена не понимаешь. И если на тебя начинают давить (не этот видимо случай), ощущения прямо на уровне "да пошло всё в *, пойду в пятерочку грузчиком". А потом отпускает. А потом - приходит еще несколько раз )

НЛО прилетело и опубликовало эту надпись здесь
я сдался и фу, и надо было продолжать превознемогать?

Вы это сделали, забросив какие-либо задачи, которые вы пообещали другим людям, или просто так?
НЛО прилетело и опубликовало эту надпись здесь

Так его и заменили. Вы же сами признаете факап Василия как программиста.

человека из россии

Названия стран пишутся с большой буквы.

Хочу сразу попросить прощения если чего не понял , пока что я всего начинаю свой путь в айти , а самому мне 20 лет отродясь, но волшебное "OK Google " + правильное формирование вопроса, выдаёт ответ на том как решить эту задачу , какие могут быть нюансы и подводные камни, и так же их решения, да ну блин , тут ведь логически ясна причино следствиная связь , и даже более того можно предложить ещё пару идей по отказоустойчивости и оптимизации, хотя возможно они и так были следующими шагами по ТЗ

Навык английского языка — отдельный навык. Навык гуглить на английском — отдельный навык. Навык смотреть на ситуацию с такой точки зрения, что её можно просто загуглить — отдельный навык. И всему надо учиться. К сожалению, человек так устроен, что пока он учится, он уязвим. А наш мозг не любит быть уязвимым.

Прекращайте оправдываться. :)

Ну вы нашли где публиковать эту статью, в заповеднике этих самых Вась :)

Вопрос - а почему вы взяли вместо мидла непонятно кого?

Просто он на собесе на вопрос "Что вы будете делать, если ваш сервер начал безбожно тормозить" ответил "буду искать и разбираться" и его приняли

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

А то "Я буду сидеть и тупить в логах, пока не найду настоящую причину этой проблемы" может стоить очень дорого

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

Понятно, что "хорошо бы разобраться", но это решение не всегда является лучшим или хотя бы оправдвнным.

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

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

То есть ваш ответ на этот вопрос на собеседовании будет "я перекину все на более мощное железо" ?
Уверены?

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

В реальности также существуют и собеседования.
Да-да, они действительно есть, и на них могут задать вопрос без контекста и доп условий. И именно о них и идет сейчас речь.

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

Ну о чем и я. Ответ кандидата как в статье, гораздо лучше, чем "я переведу все на более мощное железо".

Устраню проблему любым приемлемым способом, в минимальное время, и только после этого начну разбираться в причинах и пытаться устранить ее правильным способом.

Уже бывало такое - когда сервер на проде в одном из проектов начал падать по памяти. Сначала перетащили его на железо с большим количеством памяти, благодаря чему удалось настроить его перезапуск ночью во время минимальной нагрузки, этим занимался девопс, параллельно с этим велся поиск проблемы и попытка ее решения. Благодаря такому подходу у нас клиенты практически не заметили никакой проблемы, хотя она и была.

Я как-то проходил собеседование в один банк, и там правильным ответом было именно то, что вы озвучили. А точнее их комментарий, что если проблему можно быстро решить дополнительным железом - это их устраивает. В некоторых случаях "залить пожар деньгами" для некоторых компаний реально проще и выгоднее, чем потерять время на разборки. Разбираться будут потом, когда вокруг перестанет все гореть.

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

Кроме случаев, когда тормозит не сервис, а, например, сторонняя инфраструктура (разделяемое хранилище) и перенос или масштабирование сервиса не только не решит проблему, но и уложит сторонние сервисы, использующие эту инфраструктуру. А чтобы понять, что тормозит хранилище надо, внезапно, читать логи.

Чет бред какой-то. Обычный программист задачи такого уровня решать в принципе не должен. Так что стоит сперва определиться, какой результат хотим получить. Одно дело любой ценой срочно убрать лаги - тут не до разбирательств, просто вкидываешь гору бабла и арендует дополнительные мощности, чтобы не пошли потери, а все разбирательства уже потом, когда проблема уже не стоит так остро. Другое дело если не срочно но любой ценой требуется найти источник лагов - это профилирование и оптимизация, это долгое исследование логов, тесткейсов, перебор вариантов, и т.п. исследовательско-аналитическая деятельность, поиск причин и путей оптимизации. А вот чтобы так срочно беги исследуй логи и сделай хоть что-нибудь - это уже дурка какая-то: исследования и разбирательства, фиксы и тесты это дело не быстрое, а без понимания источника проблемы ничего сделать впринципе нельзя на уровне программиста, но можно на уровне администратора и управленцев, выделить дополнительные бюджеты, добавить аппаратных мощностей, но зачем тогда ответственность вешать на программиста? Зачем требовать от него "сделай хоть что-нибудь"? Что он может сделать, если ему не дают ни времени, ни возможностей, ни полномочий, ни ресурсов? Только послать такого руководителя подальше.

зачем тогда ответственность вешать на программиста? Зачем требовать от него «сделай хоть что-нибудь»?

Для того, чтобы решить проблему, если нет ни дополнительного бюджета, ни аппаратных мощностей.

Что он может сделать, если ему не дают ни времени, ни возможностей, ни полномочий, ни ресурсов?

У него есть возможности оптимизировать программу.
НЛО прилетело и опубликовало эту надпись здесь

Нет бюджета - до свидания. Пойдет туда, где есть бюджет.

У него есть возможности оптимизировать программу.

Нет бюджета - сами и оптимизируйте :) Решение нестандартных проблем в горящих условиях стоит дорого

Первый уровень - добавить/обновить железо

Второй - выяснить и устранить причину

Третий - узнать, что нужно заказчику и клиентам, может они не хотят причину, а хотят новое железо и побыстрее

Четвёртый - проверить, действительно ли есть проблема, может мониторинг врёт или сисадмины врут

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

...

Да, но часто можно встретить людей, которые хотят свои проблемы на других повесить.

Я правильно понимаю, что ваша организация наняла молодого программиста, не проверив его компетенции и технологии, которыми он владеет, как и его опыт?

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

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

Но вроде как они же не джуна брали

Нигде про это не сказано, но из комментариев автора выходит, что брали вообще чтобы "помочь"...

и у него неплохое резюме

Когда резюме - пусть даже и не плохое - являлось гарантом чего-либо?

но 100% достоверно оценить компетенции специалиста просто по резюме и собеседованиям в принципе нереально

Естественно, но здесь даже попытку не сделали, зато повелись на слова "Я буду копать!"

а про то, что ныть «чужая библиотека виновата» — отстой

Дак это и вытекает из компетенций кандидата - миддл так бы не стал делать, а попытался бы решить проблему или хотя-бы в ней разобраться (на самом деле он бы просто не стал юзать данный стэк и этой конкретной проблемы вообще бы не существовало).

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

здесь даже попытку не сделали, зато повелись на слова «Я буду копать!»

Я не поленился, ещё раз просмотрел статью и комментарии, где вы это увидели? В статье ничего нет про то, как происходило собеседование «Васи», просто упоминание, что у него отличное резюме, и что его «тянули» на работе. Ну, не вытянули, бывает. Я не вижу в этом ничего предосудительного, людей, которые обманывают ожидания по итогам собеседований — легион их (к слову, это работает в обе стороны, компаний тоже). Но Вася этот — просто частный пример, а суть статьи совсем в другой её части, не в той, на которую вы обратили внимание :)

Дак это и вытекает из компетенций кандидата — миддл так бы не стал делать

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

Я специально нанял человека из россии, решил молодому мальчику помочь.

Из начала повествования. А надо было собеседовать и проверять и не надо было тянуть - в этом и была ошибка.

А так да - наняли человека не подходящего под требования.

Еще раз - у миддла или сеньора данной ошибки по просту бы не было.

А "оправдывание" было как раз из-за того, что Василий был не из той категории, которая требовалась.

Он не знал что делать - когда это происходит со зрелым девом - реакция будет абсолютно другая - он будет копать, пока либо совсем не упрется, либо не решит.

Если же юн либо возрастом, либо умом - то будет то, что описано в статье. Т.е. "оправдывание" описанное в статье - просто обычная психологическая защита.

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

Конечно такие есть - но они это делают, четко понимая зачем и почему.

Это - не психологическая защита, а расчет - и это, естественно, совершенно другое и для другого.

Конечно такие есть — но они это делают, четко понимая зачем и почему.

Можно и так сказать, но я не особо ошибусь, если скажу, что примерное распределение причин вот такое:
10% — я уже сейчас вижу, что эта задача не окупит потраченное на неё время, и лучше выбрать другой путь
10% — у меня есть более приоритетные задачи
50% — мне влом заниматься такой рутинной и скучной работой, как раскапывать чужой код
30% — я туда уже заглядывал, и нифига не понял, как оно работает, поэтому боюсь связываться.
Вот последние два пункта, это всё-таки психологическая защита, а не расчёт.

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

Да нет, тут всё выглядит намного проще.

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

  1. проверить состояние соединения к базе

  2. если его нет - переподключиться

Написать блок кода уровня if function1() { function2() } джун должен уметь. Обязан.

Для этого не требуется патчить фреймворк, на котором написан проект.

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

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

Автор, понимаю вашу боль. Вопросы воспитания - самые сложные.

Из моей практики:

джун, матмех. Приходит со скриптом. "у меня тут в батнике что-то не получается". Говорю ему "перепиши свою конструкцию на powershell, делается за 2 строчки, документация лежит там-то. Дальше диалог:

-но я не знаю powershell
-тыжпрограммист, ты напишешь. Микрософт давно и официально рекомендовала всем переезд на PS.

С удовольствием прочитаю комментарий о том, что так нельзя. Ведь он, бедняжка, не умеет то, что от него требуют.

P.S. Он вернулся через 2 часа, всё сделано.

А теперь сделай все тоже самое, но где-то в глубине огромного фреймворка, с которым глубже скудной документации не общался. Задача уже стала сложнее, не так ли? Особенно для джуна. Мы не видели проблемный код и оригинальные требования, чтобы что-то судить. Да и о самой проблеме только с одной стороны слышно, вторая же заочно лишена права голоса - не очень оригинальная попытка набросить на вентилятор.

Если рассматривать проблему как «джуну дали в руки пачку кода на неизвестном ему фреймворке без документации», то задача действительно становится сложнее, а проблема и ответственность за её решение переносится на тех, кто такую убойную комбинацию решений произвёл. Но как бы не так.

Джуну (? парень вроде с вкуснейшим резюме) дали в руки пачку кода (?? человек вроде сам с нуля микросервис и запилил) на неизвестном ему фреймворке (??? он сам этот фреймворк и выбрал, пожелание вообще было на гошке) без документации (???? у NestJS документация не хуже среднего по больнице).

Куча вопросов и слов «вроде». Как раз из-за того, что слышим только одну сторону. Но если рассматривать «абстрактного коня в вакууме» и проблему падения в рантайме из-за отсутствия соединения с Redis, то решение спокойно гуглится за 5 минут и приводится в жизнь. Если же источник проблемы не в этом, то надо дальше смотреть. А как иначе? Бросать всё и говорить «не могу, так как фреймворк плохой»? Ну пусть тогда возьмёт другой, где опыта побольше, если уж изначально хотел поэкспериментировать, что тоже бывает и что, на самом деле, полезно (если простор возможностей такой дали).

Если немного задуматься, то вопрос в какой момент Redis вообще падает и почему есть несколько нод. Т.е. если он падает после подключения, то не каждый фреймворк может такое предусмотреть. В общем могут быть подводные камни не описанные в статье. К тому же есть случаи когда ты просто не можешь заменить поведение фреймворка без его правки, а это ведёт за собой уйму проблем.

 Так что далеко не все так однозначно.

А по-моему, тут всё как раз таки вполне однозначно - некомпетентный начальник пытается свалить свои косяки на линейного инженера. Нанял джуна и доверил ему самостоятельный выбор технологии и архитектуры? Я такого треша давно не слышал.

@Nurked, прекращай оправдываться. Не бывает такой штуки, как "этот сотрудник плохо работает". Бывает только некомпетентные руководители, которые не могут выделить адекватные ресурсы на задачу.

Это всё прекрасно, но не ясно, как же такой человек дошёл до уровня гендиров, что они знают и помнят и хвалят?

Он же сидит и работает, а не бегает и не пиарит себя ( и про него знать не знают)

Или

Бегает и пиарит, а не работает

Есть такие люди. Если вы - зае__сь рабочий, это не значит, что вам надо сидеть в тени и ничего не делать. Вы можете сделать так, чтобы о ваших достижениях знали. Не значит, что вы будете постоянно хвалиться. Но, если вы уже сделали что-то хорошее, то и прятать этого не надо. Доложите начальству "Я уладил Сервер 6, который постоянно падал."

Зависит от размера компании. Думаю топ-менеджеру банка будем параллельно на то что кто-то "уладил Сервер 6" )))

А вообще иногда слегка злит отношение: "Ты же программист !!!"

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

Я думал, что разделение труда это все таки благо и быть профессионалом по железу, по сетям, по администрированию, по БД, по написанию программ... одновременно как то тяжеловато

Я бы сказал программист - пишет программы, системный администратор - занимаются серверами и сетью, девопс - настраивает CI/CD, DBA - думает о репликациях, масштабировании и отказоустойчивости базы...

Ответственность, это когда ты реально знаешь, что запущенно на этих пяти
серваках, ты понимаешь КАК это работает, и ты знаешь, что Василий
Геннадьевич, директор компании, очень радуется, когда серваки работают
без сбоя.

Честно говоря, вообще параллельно от чего там радуется Василий
Геннадьевич и какими способами достигает он удовольствие )))

Он нанял человека программы писать, для остального у него есть жена и секретарша.

Я ему говорил, что его вонючие
микросервисы нафиг никому не сдались. Я не раз показывал Василию
оригинальное ТЗ, в котором значилась одна вещь: REST API сервер, с пятью
endpoints. Всё. Я не просил NestJS, на самом деле я не просил даже
Javascript. Я хотел, чтобы всё было сделано на Golang. Но я знал, что
Василий не силён, и решил, что мне стоило ему помочь.

Дак сказали бы ему что подошло бы лучше или в чем больше экспертизы, наставили бы на путь истинный в начале проекта. И делал бы он вам "невонючий" монолит на чем-нибудь в чем человек силен или на чем у вас принято.

Он прилежно решает задачи на leetcode и всё такое. Он умеет сортировать деревья сбалансировано и несбалансированно. Он научился до такой степени, что может отсортировать строку алгоритмом O(n^-1).

Ну зато вы его стильно,модно протестировали... алгоритмы и все такое.

Уж не раз писали люди, что может это не главное в работе (алгоритмы и решение алгоритмических задачек), может у вас нет необходимости оптимизировать сотни тысяч запросов в секунду, а нужно просто решать стандартные бизнес задачки без нагрузки как у Гугла.

Разумеется, в месячном отчёте будет сказано: «я уладил Сервер 6, который постоянно падал».

Затем в месячном отчёте по отделу будет сказано: «отдел уладил Сервер 6, который падал последние полгода».

Затем руководитель направления отметит: «попутно настроен Сервер 6».

Затем замдиректора отметит: «настроены сервера».

В годовом отчёте эта строка не появится, поэтому топы её не прочтут.

Ваш комментарий как бальзам!

Кто-то же должен фильтровать грамматику вида «уладить <вещь>» (вместо «уладить такие-то проблемы с <вещь>»), и как можно раньше))

Многие так и делают, перестают оправдываться и начинают обвинять, потом становятся высокими специалистами.

Покусал бы таких. Но и на них есть управа.

В зеркало посмотрись, кусатель...

Есть такие, да, но так не все могут, как выясняется.

Бывал в похожей ситуации на месте автора, испытывал похожие эмоции в моменте. Спустя время могу сказать, что вся такая история - это менеджерский косяк. Начиная с желания помочь без запроса на помощь, заканчивая излишним делегированием молодому разработчику. Как результат - обманутые ожидания и страдание

Нанять на работу, уволить - это также работа менеджера. Так получилось, что человек не влился, не подошёл, не нашлось задач под компетенцию. Может где-то он будет отлично контент набивать и шаблоны подправлять.

Если в итоге расстались, то не вижу косяка. Разве что излишняя эмоциональность. Такие вещи также нужно делать профессионально - только уже со стороны менеджера.

Если разобрались в статье с тем, кто такой программист-профессионал, то кто же такой менеджер-профессионал?

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

А на сколько ошибок у человека есть право?

Если каждая ошибка осознанна, оговорена, задокументирована и отработана - то на бесконечное :)

Описана типичная XY проблема, т.е. важен не инструмент, а


оригинальное ТЗ, в котором значилась одна вещь: REST API сервер, с пятью endpoints. Всё.

Т.е. надо тыкать в ТЗ и спрашивать где здесь NestJS


P.S. Впрочем, если бы Василий смог обосновать необходимость использования NestJS для решения этой задачи, речь уже шла бы именно о


Ты, программист, знаешь. Ты можешь

Да хрен бы с ним с обоснованием. Мне был нужен сервер. Хоть на Rust. Проблема в том, что вышло вот что:

Не важно, если это NestJS, pure JS, Rust, Golang, C#, Java или Brainfuck. Важно, что это не могло быть "И так сойдёт". Но, даже важнее этого - это то, что на этом подходе настаивали.

я так понял, что не "и так сойдет", а "stop: я не знаю, что делать дальше"

Если перед вами совсем джун, то крайне неосмотрительно было бы ставить архитектурную задачу, даже настолько простую

А если ты плохой программист, то у тебя в кармане всегда найдётся пара отговорок о том, что в голанге нет дженериков или прочей билеберды

Вот всё было нормально до этой фразы. Не могу представить себе контекста, в котором бы утверждение об отсутствии дженериков было отговоркой.

Написать либу иерархии тайпклассов. Чтобы с higher kinded types и type constructors

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


Хотите сказать, настоящий профессионал, который никогда не оправдывается, и правда способен взять и сделать всё это в голанге первой версии не меняя сам язык, да так чтобы получившийся код можно было использовать для чего-то кроме как поиграться?

Higher kinded types и type constructors - фичи языка. А с помощью них (и еще некоторых языковых конструкций) можно реализовать тайпклассы, как это сделано в Скале. Например, здесь. Но при этом сами HKT требуют(?) наличия параметрического полиморфизма, т.е. дженериков.

Хотите сказать, настоящий профессионал, который никогда не оправдывается, и правда способен взять и сделать всё это в голанге первой версии

Наоборот же :) Задача нереализуема и отговорка об отсутствии в языке дженериков, а тем более их старшего брата HKT, вполне прокатит

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


Рассмотрим теперь утверждение "в языке Go 1.x невозможно написать либу иерархии тайпклассов, чтобы с higher kinded types и type constructors, так как в Go отсутствуют дженерики" — отговоркой оно не является, поскольку эта причина настоящая. Ни один профессионал её не обойдёт не сменив язык.


Вот если представить утверждение "невозможно настроить рестарт сервера, так как в языке Go отсутствуют дженерики" — это уже будет отговорка. И в своём первом комментарии я имел в виду, что подобные отговорки смотрятся крайне странно, и я не представляю чтобы кто-то их реально использовал.




Higher kinded types и type constructors — фичи языка. А с помощью них (и еще некоторых языковых конструкций) можно реализовать тайпклассы, как это сделано в Скале.

Уточнение: с их помощью можно реализовать не тайпклассы, а стандартную иерархию тайпклассов из теорката.Сами по себе тайпклассы — тоже необходимая фича языка.

НЛО прилетело и опубликовало эту надпись здесь

У меня другой случай был. Технически сложное API к одной большой PLM системе. Различные варианты реализации алгоритма. В результате - дикие тормоза при обычной выгрузке данных. На что заказчик сказал "я подожду пару часов, лишь бы не падало". Мои убеждения на ковыряние дальше в целях оптимизации (как раз тот самый лоулевел) отвечал - "не надо". В результате имею неудовлетворённого себя + заказчика, который удовлетворился малым.

Технически - право заказчика. Он платит деньги за то, что его устраивает. И он может сказать "стоп, меня устраивает, работа принята, деньги выплачены".

Вполне возможно этот заказчик попадал несколько раз на случаи, когда оптимизация ломало фатально всё уже работающее, поэтому и так осторожен теперь

И да, и нет. В бюджете были заложены необходимые часы. С заказчиком уже давно работаем над многими проектами. Т.е. это чисто его осторожность, которая косвенно привела к неудовлетворённости обоих. Хотя задача то решаемая. И даже пути решения описал. Начиная работать над конкретным проектом реально не знал никто что будет так ... долго.

А потом к тебе в самую "жару" приходит это тело и говорит: "Ты знаешь, действительно надо оптимизировать и без этой оптимизации жить и работать совершенно невозможно, что вот на сейчас это топ 1 задача". Потому что "пару часов" не в сезон превратились в сутки, после наступления "сезона". И ты выбрасываешь всё, что не из серии "прод прилёг", и начинаешь заниматься этим.

Это твёрдый факт! )))

А ещё бывает так. Руководство говорит: "Пусть работает, как есть, нас всё устраивает, оптимизируем потом". А потом через пару недель: "А почему твоя программа такая медленная? А почему сразу нормально не написал? Ты ж программист, ...", далее по тексту статьи.

Если ваша компания наняла человека, не соответствующего требованиям - это просто повод пересмотреть подход к проведению собесов и всё.

Что-то мне кажется, это из серии где один идиот менеджер, который думает, что он умный, нанял идиота программиста, который так же думал, что он умный, и они по эффекту Даннинга-Крюгера обвиняют друг друга в неудачах

Неа. Никто никого не обвиняет. Вы думаете я не смогу REST сервак поднять за три часа? Оправдывался тут только программист.

Если никто никого не обвиняет, то слово "оправдание" выбрано неверно.

"..я скажу в своё оправдание" в первых строчках поста с названием "Хватит оправдываться". Ценная оговорка.

Похоже этот вирус внедрился гораздо глубже и рано радоваться такому названию статьи.

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

От "безысходности". Но, как правило, из выгоды, если называть своими именами и разбираться в причинах.

Тогда возникает винегрет из противоречивых позиций и попыток удержать это вместе.

В этом ключе, размышления об ответственности не как "о несении наказания", а как о Возможности, - очень верное направление! Однако, замешав эти понимания с "баблом", вы как бы смешиваете всё обратно.

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

Или видеть это не выгодно... Вот тут-то, как вариант, и начинаются оправдания.

Иногда самые запутанные проблемы начинают решаться с простого проговаривания простых очевидностей.

Довольно часто бывает что ошибки вызваны недопониманием сторон. Начальник поставил задачу, эту задачу неправильно поняли. Кто неправ? В большей степени начальник.

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

Автор поста прям мои мысли озвучил. Тоже пришлось расстаться с одним таким программистом, у которого всё были виновато, кроме него самого.

А мысли про ответственность - да он прям взял мои мысли! Я бы точно так ответил бы.

По-научному это называется внутренний локус контроля. Далее - копипаста с одного ресурса:

Когда локус становится внутренним, человек переходит совершенно в другую реальность, и я сейчас не преувеличиваю. Это ощущается именно так.

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

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

Школа не развивает навыки по самостоятельному поиску решения задач со множеством скрытых проблем и не всегда чёткой постановкой проблемы. А такие в жизни в основном и встречаются.

Зато она формирует навыки конформизма и умение быть лояльным к начальству (в лице учителей). Вот и получаются жополизы, которые чуть что пошло не по плану падают на спину и пораженчески задирают лапки :D

такое мнение выглядит как оправдание /s

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

Выглядит как оправдание неэффективности и вредоносности.

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

поймите, не бывает такой штуки, как "это плохо работает". Бывает только "я в этом не до конца разобрался"

В целом, с посылом согласен, но вот с этим - нет. Вполне себе бывают ситуации "я разобрался и теперь понимаю, что это работает плохо". После такого обычно стараешься что-то поменять, чтобы работало хорошо, но способы могут быть разными.

Но лично я давно стараюсь не контактировать с людьми, у которых постоянно какие-то проблемы, в которых виноват кто угодно, но только не они.

Тут вы правы, но есть прикол.

Представьте, вы работаете на предприятии, где всё стоит на air-gapped сети, и вы не можете ничего подключать к интернету. А всё оборудование из прошлого десятилетия. У них стоит один нещастный сервер, на котором крутится PHP4.

Плохо работает? Несомненно. Можно ли на этом писать? Да. Вы бы PHP4 в проде никогда бы не использовали. Но, вот припёрло, а вы не жалуетесь. Вы просто пишите.

Скажите, кто виноват кроме вас, что вы не проверили Васю перед принятием на Professional & Programmer?

А кто запретил Васе им становиться?

Так это дело Васи, кем ему становится.
Ваше дело - чтобы человек, которого вы наняли, сделал проект

Или вы оговаривали, что берете его на стажировку под руководство опытных разработчиков?

Как очевидно из статьи, оговаривал.

Не вижу этого

Зато вижу такое:

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

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

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

Вы, надеюсь, понимаете, что перцы с компьютером на ты, с бизнесом тоже на ты? И штат большинства компаний, не то место куда они стремятся? Человек умеющий что-то делать хорошо сразу перестает это делать и начинает это продавать. Как вы.

У нас и плохо делающие, тоже все продают. На то и щука как говорится. :)

Мне кажется, вопрос неправильно поставлен. На курсах, в университетах, где угодно учат, условно говоря, как решать задачи на leetcode. А вот как решать проблемы - не учат, никто и нигде.

Вот решил Вася стать профессионалом. Что конкретно ему делать? Кроме как внушать себе: "никогда не сдавайся"?

Невозможно научить решать проблемы, можно только научиться самому. Когда у тебя нет альтернатив, кроме как её решить. Мозг начинает работать совсем по-другому. И ты по-любому её решаешь. Жестковато, не спорю, но других способов освоить эту науку просто нет. А когда становишься более опытным в решении проблем, то учишься правильно сопоставлять все контексты, все риски и начинаешь принимать самые оптимальные решения. И да, почаще пересматривать сцену с мистером Вульфом из "Криминального чтива")

Кажется, вы описанием программирования затуманили всем мозги.

У вас ведь не про конкретную работу, а про ответственность. Брать ответственность на себя - это отдельный скилл, который достаточно быстро гарантирует рост и в кареьере, и над собой.

В этом смысле не важно молодой ли мальчик (и мальчик ли он), из какой он страны, откуда вы. Решает вопрос - "отвечаешь за результат или нет?" даже на каком-то малом участке

Брать ответственность на себя - это отдельный скилл, который достаточно быстро гарантирует рост и в кареьере, и над собой

Как правило, если брать слишком много ответственности, то единственное, что этот скилл гарантирует - увольнение по статье "халатность". Сужу по себе, когда я на практике в МинОбрНадзоре начал опекать местный сервер и случайно его завалил из "воздушки"... прям по материнской плате

начал опекать местный сервер и случайно его завалил из "воздушки"... прям по материнской плате

Это как ?

Вы забыли про границы ответственности. Если вы выделяете это в отдельный скилл - это, как правило, подразумевает "отдельный геморрой", а ни разу не рост в карьере. И особенно - над собой - в чем? В том, что ты и так уже делаешь?

ответственность — это когда пахнет деньгами

К сожалению в реальности почему то деньгами пахнет для кого-то другого, а ответственный остается козлом отпущения или ему подмигивают в коридоре гендир со товарищами - Гляди наш терпила идёт...

Я тоже на этом моменте в статье разрыдался. Очень часто ключевых сотрудников не ценят, или ценят, но потому стараются заменить, для снижения bus factor или чтобы снизить позицию на зарплатных переговорах для сотрудника.

Ответственность не равно рабская самоотверженная исполнительность.

Можно ответственно быть раздолбаем. Ключевое в ответственности — принимать последствия своего деяния или недеяния. Осознавать, что ты и есть источник происходящих с тобой событий. (Разумеется, внешние независимые факторы тоже есть).

Этот ответ подразумевает Профессионального Программиста. Этот ответ подразумевает, что человек, который управляет инфраструктурой, несёт за неё реальную ответственность. Он не козёл отпущения, нет. Он — самый обученный, начитанный и осведомлённый инженер в округе. Он знает, что означает быстрое мигание шестого светодиода на восьмой панели. Он может уладить любую проблему. И ему постоянно завидуют. Потому что Гендир в нём души не чает, и он получает неприличную зарплату.

Эх... Знаю многих таких. Вот именно, точь в точь, как описали. Часто это легендарные личности в своей компании, и без них компании и не было бы.

Но есть нюанс. Наличие таких людей, - практически необходимое условие раскрутки продукта с 0 и до условного первого миллиона $ выручки, ибо, подхода с большей эффективностью не существует, и заигрывания в процессы приводят к тому, что конкуренты, у которых такой "главный программист" есть, просто разрывают тебя на старте. И, точно так же, это, практически всегда, попаболь зрелого бизнеса, когда появляются инвесторы, время от времени идут дьюдилы, приходят управленцы с мощным трек-рекордом из корпораций. Они все начинают в один голос петь о басфакторе, масштабировании разработки, риск менеджменте...

Касательно того же гендира, и отношения к этому. Снова таки, из моего опыта, все зависит от амбиций и бекграунда гендира. Если этот человек нацелен на условный свечной заводик, который будет стабильно кормить его семью, и позволять ездить на отдых, когда хочешь, раз в пару лет обновлять машину, и так далее, то да, души не будет чаять. Если же, наоборот, гендир видит себя следующим Джобсом мечтает о том, как продаст свою долю за миллиард на IPO, и целыми днями питчит компанию инвесторам, обещая нового единорога, то, скорее, будет смотреть со скрываемой неприязнью и мыслями вроде "ну когда ж уже так выстрою процесс, что смогу заменить тебя десятком мидлов, и закрыть вопрос навсегда".

Даже, если копнуть в мейнстрим того, чему учат ит специалистов всех уровней, то становится очевидно, что все это идёт в другую сторону. "Нужна команда звезда, а не команда звёзд", структура процессов и артефактов скрама, да, даже, если почитать книги по Domain driven design, то становится понятно, что они оправдывают неимоверное раздувание кода ради предсказуемости и понятности.

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

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

самомнение, категоричность и максимализм намного сильнее влияют на принятие решений

А я увидел Лида, который впервые столкнулся с необучаемым человеком и через чур долго его холил и лелеял.

с необучаемым человеком

Я таких не встречал, хоть и преподавал питон коллегам из Индии.

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

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

причем после первой же проблемы.

Я таких не встречал, хоть и преподавал питон коллегам из Индии.

А встречали вы таких, которые через какое-то время начинают с вами спорить про всё на свете? Ты вроде и хочешь помочь, но тебя не слушают, хотя вроде бы это джун, он у тебя в подчинении, и ещё не очень-то в чём -то разбирается, изводит всю команду.

Либо как-будто опытный разработчик, который, прямо как описано в статье очень хорошо оправдывается, но много спринтов подряд завершает работы значительно меньше, чем все остальные. Например, имеет таску на 3 поинта, которая висит уже 5 спринтов.

А Индусы - они всегда скажут "sure" и спорить не будут. Однако не всегда выполнят этот "sure", скажешь им ещё раз, они скажут "простите" и ещё раз "sure". Будут обучаться в зависимости от способностей. Но иногда может перерости в записывание "макросов" и выполнение ими четких инструкций, не более того.

тыканьем пальцем в сотрудника и инициированием сеанса публичного унижения

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

А встречали вы таких, которые через какое-то время начинают с вами спорить про всё на свете?

В каждой команде должен быть вожак, зануда и дурак - иначе ни чего не работает. Из спорщиков-джунов потом получаются пытливые ребята, кто будет копать и копать, пока не докопается. Главное их не сломать в начале, воспринимая все происходящее на серьезных щщах.

Сейчас у меня в команде все как минимум синьёры и компания нанимает только синьёров, а когда-то долгие годы работал в команде с полным набором всех уровней. Могу сказать - земля и небо. Так что "дураки" совсем не обязательны.

Из спорщиков-джунов потом получаются пытливые ребята

Если вся остальная команда не разбежится до этого времени из-за того, что в коллективе невозможно работать.

компания нанимает только синьёров, а когда-то долгие годы работал в команде с полным набором всех уровней. Могу сказать - земля и небо. Так что "дураки" совсем не обязательны.

Это не про булинг для джунов. Тут смысл немного в другом. Дурак это персонаж у которого кадблаш на глупые вопросы, экстравагантные поступки, над которым можно всей толпой смеяться и которому все сходит с рук. В этой маске может быть и ваш начальник, совсем не обязательно, что глупый. Например, он заставит вас объяснить свои затруднения так, чтобы даже дураку было понятно - и даже вы сами все поймёте. Я пару раз работал с такими, довольно прикольный сетап.

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

НЛО прилетело и опубликовало эту надпись здесь

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

А диверсии Джуна не считаются? И за что, по-вашему, можно уволить Джуна? Только за пьянство на рабочем месте?

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

  1. Я не программист (в серёзном понимании этого слова). 2) Я не оправдвываюсь. 3) Мне точно нельзя доверить критическую инфраструктуру. Мне просто тут интересно. Самореализация и общение.

Статья вызывает смешанные чувства.
Автор статьи говорит про ответственность конкретного человека, забывая про то, что мы социальные существа и всё делаем вместе. Вы вместе нанимали этого человека. Вы вместе согласовывали технологии для решения задачи, ведь так? Вы, судя по статье, вместе решали сложности возникшие при реализации поставленной задачи.
Как так получилось, что в работу был взят NestJS, который, судя по сказанному не имеет адекватной документации. Он единолично принимал решение об использовании технологии? Он, будучи молодым сотрудником, стал руководителем проекта?
Что вообще происходит, кто занимается организацией работы подразделения?
Должен ли он нести полную и единоличную ответственность за всё происходящее? Автор не хочет разделить ответственность с Васей, как его руководитель?
Вася может и не лучший сотрудник, но рабочие процессы тоже не предел мечтаний.

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

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

Имхо: иногда оправдание следует за невозможностью наступить себе на горло и признать, что чего-то не знаешь. К сожалению эти переходы от "бог программирования" до "я ничего не знаю" даются болезненно, если даются вообще.

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

Плюсую господину!

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

Фишка в том, что рынок разработчиков в ит действительно очень донный на текущий момент. Он полон таких вот василиев, которые не хотят копать глубже своего носа и лишний часок потратить на самообразование и развитие и потом вешают лапшу менеджерам, что тут понимаете все техня, все сложно, нет решения)

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

А вы думаете среди юристов или экономистов не так? Любой юрист тоже может полистать учебники права и выиграть любое судебное дело, с вашей стороны?

Проблема компетентности и профессионализма есть, но описанный случай не об этом

Просто хабр больше про технарей, поэтому и в данном контексте дал коммент.

Конечно, это бич нашего времени, непрофессионалов слишком много стало, в каждой сфере, я это ощущаю практически везде)

А к рынку "успешных менеджеров" вы это не относите?

Это вообще отдельная тема) конечно, там точно такая же картина

Публикация вызвала противоречивые чувства, прямо как в хабровском спойлере. Комментарии прочитал как отдельное и захватывающее повествование. ИМХО, главное слово тут не "оправдание", а "ответственность". Если на работе происходит мой косяк, я действую так:

  1. Оповещаю всех связанных коллег, что херня случилась.

  2. Озвучиваю, как все можно поправить и поправляю(ем).

  3. Объясняюсь - из-за чего все случилось и как избежать подобного в будущем.

    В исходной истории, вроде бы, перепутан порядок пунктов, оттого и все плохо.

Хорошие API можно написать и на Visual Basic в Ворде.

Автор, а напишите, плз, триллер пост на эту жуткую тему. Как раз под зимнее настроение, типа страшная история, которую можно рассказать "в кругу друзей у камина, когда стаканы наполнены..." ©

Главное чтоб не гнобили за косяки. Иначе будут скрывать до последнего

Взяли нового работника и он не вывез? Ошибка тимлида. Ну или как у вас он называется. Нет, это не ошибка работника. Он может быть очень плохим, но вы его наняли и с ним работали под свою ответственность.

Именно здесь проходит грань ответственности - ты отвечаешь за других. Именно это настоящая ответственность. Не надо её перекладывать на подчинённых. Если к вам есть претензии с уровня выше, то прикрыться "он не сделал" не выйдет.

Именно это настоящая ответственность. Не надо её перекладывать на подчинённых

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

ответственность руководителя - это не прятать голову в песок, а все-таки искать (и реализовывать) решение. Требовать ее от начинающего - ошибка.

Взяли нового работника и он не вывез? Ошибка тимлида. Ну или как у вас он называется. Нет, это не ошибка работника.

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

если работник какие-то скиллы заявил на собеседовании, вполне логично, что их наличие у него — как раз ответственность работника

Если я заявлю, что я умею пилотировать Боинг - допустят ли меня до штурвала?
Полагаю, нет - максимум для начала дадут порулить кукурузником, чтобы посмотреть на реальные навыки.

Если я заявлю, что я умею пилотировать Боинг — допустят ли меня до штурвала?

Эм… да, допустят. Вы же не думаете, что пилотов авиакомпаний после приёма на работу сразу на кукурузники бросают, а не садят на те лайнеры, для которых их, собственно, и взяли? А если пилот сел в кресло и не знает, что ему делать — ну тогда да, его попросят на выход. Потому что врать не надо.
Точно так же и с программистами. Да, первые задачки даются простые, но это не ради обучения там основам тайпскрипта, а для того, чтобы дать человеку ознакомиться с проектом, к которому он подключается. А сказать на собеседовании, что «вот это я не знаю» — это абсолютно нормально и правильно.

Пилоту недостаточно заявить, что он что-то умеет. Он обложен комиссиями и сертификатами по самые не балуйся. Поэтому его и садят сразу на лайнер, на который он прошёл подготовку (на каждый тип ВС - отдельно), его компетенция многократно проверена и подтверждена. А программисту во многом достаточно просто сказать, или показать пару сомнительных бумажек, которые ничего не подтверждают.

А программисту во многом достаточно просто сказать, или показать пару сомнительных бумажек, которые ничего не подтверждают.

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

но это не ради обучения там основам тайпскрипта

Как мне кажется, еще и для того, что чувак адекватный и понимает, ч