Заметки отпетого разработчика.
Конечно, есть силы молчать, однако в этот четверг мне в стакан "любви" к людям в очередной раз долили через край.
Коротко о себе:
Программист - в настоящий момент Ведуший или Lead*(см. сноска 1). Более 20 лет опыта - С и С++ любимые языки общения с персоналками.
   За последние 3 года из 500 назначенных интервью я провел почти 300 - Я интервьюирую людей для компании-работодателя.
В общем, возможно этот крик души будет полезен кому-то, кто сейчас ищет работу по специальности разработчик программного обеспечения.
Остальным можно смело пролистывать, будет много терминов и даже, вы наверняка сочтете, что я использую ненормативную лексику.
Начнем с теоремы:
    В IT компаниях, при найме, стараются оценивать профессиональные навыки и избегать субъективности.
Доказательство от противного (от меня):
   Я, торжественно клянусь, да отсохнет мой член если я вру, что даже если у Вас пизда поперек и сиськи 5-го размера - мне будет важно только то, как Вы пишете код, а не то что вы кошкодевочка моей мечты.
Перефразирую: положим - Я вас найму, и Вы, чисто случайно, попадете в мою команду
>>>   я вас (с Вашей поперек-пиздой) трахать буду минут, в лучшем случае 30 (в день, и далеко не ежедневно) - с возрастом как известно дойти к финишу все труднее*(см. сноска 2).
А вот меня за сгоревшие сроки и проебанный продакшн (приложение, вебсайт) будут трахать всем колхозом месяца 2/3, это если мне дадут notice period*(см. сноска 3).
А ведь могут и не дать, а кое-что похуже сделать - если прям захотят. Контракт что дышло - как повернешь... *(см. сноска 1 - последнюю часть)
Так что, если вы придете ко мне на интервью, будьте уверены, я попрошу Вас написать код.
- Хоть какой-нибудь!
- Хоть одну строчку.
- Ну хоть что-то.
Так вот дорогие мои читатели этого опуса - вы не поверите! Но в этот четверг... Это таки случилось! В очередной раз!
И нет бы это был какой-нибудь новоиспеченный борец за зарплату IT специалиста, который пришел на собеседование без подготовки, курсов и прочитанных книг. Но с чатом GPT или другом за спиной.
Нет! - резюме этого человека выглядело более чем Великолепно. По всем параметрам выходило, что Рекрутеры не ошиблись направляя этого человека именно ко мне,
а не другому интервьюверу уровня Senior*(см. сноска 4)
В его резюме было образование по специальности и даже несколько компаний в которых он числился как специалист и потом Lead*(см. сноска 1 снова). Весь фарш!
 А вот то, что получилось: Человек говорил предельно гладко, говорил хорошо! Возможно он читал https://cppreference.com/ и программировал, подумал я, но все-равно дал ему задание.
Ведь для меня важно чтобы человек писал код. Чтобы по крайней мере его уважали люди уровня Senior*(можно еще раз глянуть на сноску 4)
Только вот в критический момент написания пары строчек кода кандидатом, я словил себя на мысли, что пациент нихуя не программист даже уровня Junior*(смотри сноску 5).
 -> Если вы хоть немного шарите в программировании (не только С++, но любой язык)
 -> и знаете что такое палиндром. (погуглите если не знаете)
То Вы 100% сможете написать функцию для проверки - является ли строка палиндромом или нет.
После того что я увидел на этот раз, хотелось сказать только одно:
Однако - мне было жалко этого человека. Было видно, что он САМ все понял прямо сейчас. В процессе написания - У него в глазах стояли слезы.
Уже потом, просматривая его резюме еще раз, до меня дошло - в какой-то момент он попал в администраторы. Он перестал писать код. Потому что надо же кому то заниматься улаживанием конфликтов, налаживанием коммуникации, документацией в конце концов...
А Ведь кроме как "пинать хуи" - Ваш Lead* должен уметь писать и код. Этот человек это перестал делать уже года 3 как.
А жаль мне было, что за последние 2 месяца он был единственным человеком с большой буквы.
Без Чата GPT, без друга на заднем плане, без гугла, без пауз в ответах он четко признал, что перестал быть программистом и ему пока нужно учиться заново писать код.
Я дал ему еще кое-что на "написать" и "просмотреть" для проверки. Но это было напрасно.
  Так что основная моя мысль в этом послании - "Пишите код". Даже если ваша задача на проекте править баги. Пишите код!
Даже если вы считаете, что не знаете что бы такое написать - найдите что - и напишите код. Хотя бы потому что чтобы вырасти из специалиста уровня Junior* в специалиста уровня Middle*(см. сноска 6) и выше надо писать код.
 А я, буду откровенен, заебался отсеивать людей, которые не знают даже синтаксис.
И еще - даже не пытайтесь читить с другом или использовать чат GPT. Вы просто получите черную метку в той компании куда хотите попасть.
Напишите ка лучше код. А пинать хуи оставьте тем, кто хочет получить черную метку.
Возьмите задачи например тут https://leetcode.com/
В конце концов - мне в личку черканите.

сноска 1:
Lead* - Ведуший программист - специалист высшей категории (дайте эпичных задач и эпичных людей - и мы все сделаем).
 Бытует мнение, что такой человек - Мастер пинать хуи, и хуеплетов. А имено - многие считают, что Lead ни хрена не работает, а всю работу передает (по научному - делегирует) хуеплетам которых и пинает, чтобы они и делали работу.
Некоторые, все же считают, что когда такой человек все же пишет код, то приложение сбрасывает лишний вес и пару давно зарытых в недрах хворей. (это мое мнение)
 А еще он - Читает документацию и думает.
сноска 2:
  Тут описан медицинский факт и растущий с возрастом спрос на виагру. Например, заниматься спортом или не заниматься - это ваше дело. Так же автору безразличен Ваш персональный способ приходить к финишу. Так что можете выбрать любой из наиболее привлекательных для Вас сексуальный/финансовый/психоделический/иное вариант подкупа интервьювера и смоделировать ситуацию.
сноска 3:
  Описанный в статье случай носит научное название "Пиздец на проде". Или "Ебанный в рот менеджер проекта", который по доброте душевной распространяет новые морально-насильственные практики навязанные заказчиком во вверенном ему продуктовом подразделении.
сноска 4:
Senior* - программист - специалист высшей категории (дайте задачу - я ее заебеню!)
  Бытует мнение, что такие люди могут забацать задачу, возможно, задавая дополнительные вопросы по существу.
 Обыкновенно код написанный такими людьми попадает в продакшн после 2 или максимум трех дополнительных правок. И если продукт после этого ломается, то недолго и в строго отведенных, мало изученных тестировщиками местах. Не верят безоговорочно своему Lead* (см. сноска 1). Если не уважают своего Lead* - то не верят ему вообще - И тогда команда разваливается. А продукту в такое время - мало не кажется.
сноска 5:
Junior* - программист - специалист категории (дайте задачу - я ее ... буду думать!)
  Бытует мнение, что такие люди нихрена не умеют программировать, Но это пиздешь.
Эти люди должны знать как написать цикл, какие есть вообще операции и всякие функции в нашем базовом API (Интерфейс для написания приложений).
 Не прямо "все все" в этом API, но десяток другой функций уже сойдет. И еще они знакомы с синтаксисом языка программирования.
И безоговорочно верят своему Lead* (см. сноска 1)
сноска 6:
Middle* - программист - специалист категории (дайте задачу - я ее в итоге добью!)
  Бытует мнение, что такие люди все-таки умеют программировать. Но это не точно.
Эти люди видели и писали кой-какой код в этой жизни (или в той/или не код). И поэтому любую задачу они будут делать так же как и предыдущую задачу. Вне зависиомости от того похожа предыдущая задача на текущую или нет - они задачу будут делать так же как и задачу до этого. Это беда!
Как следствие продукт ломается от просмотра кода внимательным взглядом Lead* (см. сноска 1). или под воздействием поверхностых проверок тестировщиков. Так что код написанный такими людьми попадает в продакшн после 2 или максимум трех недель ежедневных правок.
 Они безоговорочно должны верить своему Lead* (см. сноска 1) И уже должны знать большинство терминов из явления под названием "документация", но еще не совсем понимают эти самые термины - за что их и пинают как хуи.
А Еще - Таких как они, больше всего на свете, из тех кто пишет код - поэтому в мире так много багов и финансовой несправедливости.
сноска 7:
В предложенном решении задачи использован С++ 17 стандарт. Автор не претендует на идеальность предложенной логики, прежде всего потому, что он Lead* и посему четко знает, что мир С++ (да и любого другого языка) намного сложнее, чем может постигнуть любой программист.