Логотип

"Хорошее" IT

Назад к статьям

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

Автор: EbanoeIT
Image

Пишет Анонимус: «Привет, ебанная редакция, хочу рассказать историю о том, как я пытался быть ментором у одного индивида, а потом и вовсе — пытался с ним работать. Мата в истории будет дохуя, и может быть где-то душно и скучно, но я пишу всю историю целиком.

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

Поначалу договорились, мол я его буду учить пару раз в неделю, он будет делать домашку для закрепления. Первый урок прошёл так себе. Второй — похуже. На третий — я его пытался научить работе с гитом, ибо если он что-то делал — он тупо паковал проект в zip-архив, и целиком его кидал. Через день спрашиваю: как успехи, нужна помощь? (в более мягкой форме, не как сверлящий мозг ПМ).

Он такой — вот смотри: я высрал какой-то проект, который никто не будет доводить до ума, он нахуй никому не нужен, он ничему не учит, а на домашку и попытку создать свою репу в гите — я хуй ложу. Я прихуел от такого расклада, но 4 урок так и не состоялся, я заболел, а после — индивид пропал на дохуя времени, в сети появляется, но не отвечает, и вот спустя недели две — пишет: я болел, теперь у меня нет денег на твоё менторство, хотя, блять, изначально всё было «ахуенно» у него с деньгами… по его словам. Тут у меня уже начали закрадываться сомнения в его адекватности. Блять, ты серьёзно не мог ответить что с тобой и тупо меня игнорил? Что сложного было написать раньше, что ты заболел? Это требует титанических усилий? Почему я смог тебе это сообщить, когда я болел, а ты нет?

Далее — промежуток в 1.5-2 месяца

В это время я сижу без света, ну точнее он есть 24/7 в соседних домах, у других он есть более-менее по графикам днём, а у меня он есть только ночью, спасибо уёбкам из Днепровского ДТЭКа, за то что считают что в моём доме живёт аскот и троглодиты. Благо что сейчас со светом +- норм. Само собой работать в таких обстоятельствах — максимально хуёво, и хорошо что я никого не нанял, ибо контролировать процесс разработки — было бы пиздец как неудобно. Конец января, ситуация улучшилась, но не финансовая. То траты на зарядную станцию, когда они были оверпрайс, то на другую хуйню, и я понимаю что платно на работу — я сейчас хуй кого возьму. Если и возьму — то не останется денег на закупку трафика в игры.

Думаю, возьму этого индивида, он мне показывал свои проекты, если их довести до ума — то монетизировать их будет изи. Он мне в первую очередь нужен был как ГД, но уж очень у него свербила жопа быть прогером. Я ему сказал: мол вот, чтобы время не терять — есть мой прототип с прикрученной аналитикой, рекламой, гугловыми сервисами, надо — довести до ума, как в одном из твоих прототипов (да, он сделал игру максимально похожую на мою, но по визуалу и балансу она была лучше моей). Я в это время — буду заниматься другим его проектом, который он скинул. Спрашиваю о его прототипе, может быть там будет проще его доработать, чем переделывать мой, он такой: я проебал папку/архив с прототипом. Ахуенно, слов не подобрать. Ну да, нахуй изучать гит, и хранить всё на нём.

Открываю скинутый им проект, над которым я буду работать…

Адский сука треш. Кодстайл? Нахуй надо! Архитектура, принципы SOLID? Не, они были придуманы долбоёбами. Ну и вишенка на торте — дохуя static’и и названия на инглише — максимально кривые. На что чел оправдывался, мол это один из его первых проектов, хотя версия Unity проекта — довольно свежая. Договорились что чистую прибыль мы попилим 60 на 40, где 60 — получу я. Таки скажите не выгодно? Таки да, но откуда он будет знать все точные цифры дохода\расхода? 🙂

Ну а чтобы время не терять — дал ему делать всратый проект. Он сказал: у меня свободные выходные, я могу поработать на них. Ок, я потратил время, подумал что надо на этот 2-дневный спринт, и что делать уже потом, чтобы хоть чему-то научиться. Таски были уровня: справится чел уровня интерна + все таски расписал максимально детально. Мы созвонились по планировке спринта вечером в пятницу, я думал, что всё пройдёт оперативно, минут за 20-30 я всё объясню, но… планировка затянулась часа на 2. Я пытаюсь объяснить что ему надо, он пытается показать мне каких врагов и боссов можно добавить. Я ему говорю: нам надо пока что только те, которые были в твоём прототипе, а остальное — будем добавлять потом, нам надо пару новых врагов и переделать кор механики.

Он блять, берёт и начинает предлагать ещё ассеты. Еле смог сьебаться с планировки спринта, объясняя это тем, что свет ща вырубят (бля, я рил никогда не думал, что буду съёбывать с планировки, тем более, где я выступаю в роли управляющего). После спринта он решил не дожидаться утра субботы и приступить к делу.

One hour later

В нашем с ним чате: я всё сделал. Я обрадовался этому, да и в целом — таска была изи: импортировать модельки врагов и ассет для UI, тем более что в мозгоебальне на планировке — он показывал что у него какие-то уже есть. Получаю изменения, смотрю всё в самом эдиторе, так как пул риквест тут сильно не поможет… Что это? Как назвать папку для визуала — я написал в таске, но он все-равно назвал по-своему. Говно из проекта никто не вычистил. Лежит неопознанный ScriptableObject, readme, и прочий мусор. Текстуры — никто не трогал, никак не оптимизировал их размер, формат сжатия и т.п. Хотя как это делать — я подробно описал в таске и объяснил, почему так важно чтобы билд — мало весил. Дал максимально адекватный, нетоксичный фибдек, всё-таки если попрёт — мне с этим челом работать. Написав его, я понял то, что ассет на UI — никто, нахуй, не добавлял. Я спрашиваю, мол, а UI где? Ответил, мол, потом добавит. Ты блять, серьёзно? Ты написал, что всё сделал, но ты нихуя не всё сделал. Нахуй пиздеть? У тебя есть джира, где таска максимально подробно расписанна. Что сложного сделать по ней?

Лёг спать взвинченный от этой ситуации, на утро — пришёл коммит с исправлениями, но не UI, в целом — неплохо, всё сделанно по фидбеку, молодец. А что насчёт ассета для UI? Ну ему надо было отлучиться. Настолько, что он опять надолго пропал. Ок, я понимаю, что он не может работать в будние дни из-за основной работы, хотя изначально он говорил, что ему будет изи работу и учёбу совместить. Оказалось, что он опять заболел… Написать об этом мне — само собой, не надо. Болеет — ок, трогать не буду, сам знаю, каково это больному работать. И вот, вроде ему стало лучше, созвонились (опять на дохуя времени), и подобрали ассет для UI. Сделал он новый, простой UI менюшки (О, чудо, он хоть с вёрсткой работать кое-как умеет) за +- час, кнопки вкл/выкл звука сделал… перекрашиваемыми в красный и зелёный цвет. Выглядело — максимально всрато. Спросил почему не поставил иконки — их нет в ассетах. Ну, тут мой факап, слишком был занят, что не посмотрел, будет тогда показываться текстом. Вроде всё теперь гуд, кроме одного. Индивид хуй ложил на джиру и то что я сказал — проверить всё в Device simulator.

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

Просыпаюсь в субботу как обычно — после 12, спрашиваю: как успехи с отображением на устройствах с чёлкой и сохранением состояний…

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

— Увеличь плашку, чтобы она была по высоте чёлки. А что по сохранению состояний?

— Я не знаю, я не делал.

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

— Вот если ты не читал таску — как бы ты реализовывал сохранение?

Ну и конечно вариант любимый теми кто «типа дохуя знает»: я нахуеверчю систему, в которой чёрт ногу сломит, которой будет неудобно пользоваться, и въебу на это кучу времени. Само собой в проекте меня такой подход не устраивал, я ему сказал — всё хуйня, тут логика UI реализована через MVP, сделай по подобию прочего кода, а чтобы после изменения состояния — вьюха поменяла надпись — добавь колбек. Разжевал максимально таску, чуть ли не сам код написал, и казалось бы, что могло пойти не так. Этот индивид в подписке на события — обоим кнопкам прописал обработчик музыки… СУКА! Я понимаю, что у чела может не сильно клеится с прогой, но это же БЛЯТЬ ЕБУЧАЯ НЕВНИМАТЕЛЬНОСТЬ! Ты сдаёшь таску, в которой косяк твоей невнимательности. Куда, ты, летишь, олень? Ты можешь потратить чуть-чуть времени и глянуть что всё норм?

Ах да, написание логики в презентере было ещё той ебалой. Говорю: пиши состояние в PlayerPrefs как int, в методе гета — по умолчанию ставь значение 1, если прочитана 1 — то true, иначе — false. И как же это правильно реализовать? Верно! через if-else — нужно писать состояние в bool… и также писать в записи состояния… Говорю: в гетере — напиши просто == 1, в сетере — через тернарный оператор. Само собой — использовать тернарный оператор было воспринято как для обоих случаев, и получилось так что в гетере было foo() == 1 ? true : false. Вот если тебе как читателю смешно от этой «крепкой проверки» — то для меня это баян. Такой же треш писали «мидлы» в Ejaw. А ещё то что он изменил — пометил комментариями, я бы даже сказал, что он ими насрал. Пришлось второй раз пояснять нахуй мне пул риквесты, и чтобы он не срал комментами. А то начитается всяких «умных» авторов, и начинают срать повсюду комментами. Почему-то я не путаюсь в том, что я написал, интересно почему-же… Может быть потому что я даю внятные названия всему и поддерживаю архитектуру, а не пытаюсь высрать на мелкую таску — новую систему? Может в своих книгах стоит учить так, чтобы код был самодокументируемым? Таску с горем пополам — сделали, слили в дев, и я его прошу учиться самому делать пул риквесты, так как я ему это уже раза 3 показал.

И тут он опять пропадает

Думаю — как обычно «заболел». Но когда он возвращается — оказывается, что помимо всего он по свободке делал какой-то шутер на UE, который он хочет сделать ещё и мультиплеерным, и скидывает видео. На видео игра фризит, ну а моя жопа раскаляется до бела. ТЫ СУКА, ИМЕЛ ВРЕМЯ, ВЫСРАТЬ ЭТОТ ФРИЗЯЩИЙ ПОНОС НА UE, А СПРИНТ С ТАСКАМИ НА 2 ДНЯ — ТЫ ДРОЧИШЬ УЖЕ 3-Ю НЕДЕЛЮ! ТЫ БЛЯТЬ, ПОПРОСИЛ МЕНЯ НАУЧИТЬ ТЕБЯ ЧЕМУ-ТО, НО ТЫ ХУЙ КЛАДЁШЬ НА УЧЁБУ! Блять, если он с UE такой же про — то нахуй он лезит в мп? Нахуй куда-то лезть, ЕСЛИ ТЫ БЛЯТЬ, ОСНОВ НЕ ЗНАЕШЬ!

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

Далее — таска: добавить врагам в конфигу хп и счёт игрока, после которого они спавниться не будут, если значение указано 0 — то без верхней границы. Показал ему где скрипт конфиги лежит, сказал — перед этим сделай ветку и работай в ней. Он создаёт нужную ветку добавляет 2 поля, спрашивает, мол, показать скрин, нет, нахрен мне его скрин, пусть льёт в свою ветку… Хз что он натворил, но суть в том, что он насрал в дев, а не залил в свою ветку. Почему именно насрал? Я не давал ему чётких названий переменных, в конфиге уже было поле minScoreForSpawn, добавленное им — было тупо score. score БЛЯТЬ ЧЕГО??? ЧТО ЭТО ЗА ЕБУЧИЙ СЧЁТ? ЗА ЧТО ОН ОТВЕЧАЕТ???? ЕСЛИ, ТЫ, СУКА НЕ ЗНАЕШЬ КАК НАЗВАТЬ — СМОТРИ КАК НАЗВАНЫ ДРУГИЕ ПОЛЯ! ИЛИ, БЛЯТЬ, СПРОСИ!!! Ебучий минимализм. Я ему сказал, что название пиздец, чётко сказал как назвать, и чтобы он сгрупировал поля. Поля он в итоге — сгрупировал хуёво. Сначала в конфиге идёт максимальный счёт спавна, потом — минимальный. Пришлось самому это переделывать.

Далее — я ему двухминутным голосовым сообщением говорю: надо реализовать механику максимального счёта, и добавить интерфейсы IHaveHealth и IDamagable, и реализовать их в сущностях монстров. Я ему текстом пишу как должна быть переделана выборка и в какой строке — «если текущий счёт больше нижней границы && (верхняя граница == 0 || верхняя граница меньше текущего счёта)», думаю тут заметно, что я поставил скобки. Он делает, и конечно же — на хую вертел мои скобки. Я просто нах не знаю, как можно пытаться войти в IT, будучи настолько невнимательным! Сказал, чтобы он подумал что не так, он сказал что всё хорошо, пришлось явно ткнуть носом как котёнка, насравшего не туда, в его отсутствие скобок. Смотрю сделанный им пул риквест (да, блять! Ему по-новому пришлось разжёвывать как его делать), и… он в 3-й части условия — сравнивает верхнюю границу не со счётом, о нет! Он её сравнивает с количеством врагов… БЛЯТЬ! КАК НАСТОЛЬКО НЕВНИМАТЕЛЬНЫМ МОЖНО БЫТЬ!!!! Указываю на косяк, он его кое-как исправляет. Далее — говорю, что надо в интерфейсы, и ложусь спать.

Просыпаюсь, спрашиваю статус… ответ убил

А интерфейсы — это графика? ДА НАХУЙ! ЭТО UI ИЛИ GUI! С ПОЛЕМ И МЕТОДОМ! ДА НАХУЙ! Он пытался куда-то лезть в геймдеве, слабо представляя себе что такое интерфейсы… Там я уже подгорел знатно. Он пишет кое-как interface, который был переделан из стандартно генерируемого юнькой файла скрипта. И опять всё херово сделано. Нагажено не используемыми Using’ами, namespace — корневой для проекта (тот что задаётся в параметрах), но это так, мелочи. Он умудрился написать сигнатуру метода с модификатором public. Вот тут я честно говоря ахуел с того, что так можно, но тем не менее — это масло масляное, unity использует стандарт языка C# — 7.0, всё что есть в интерфейсах — не может быть никаким кроме public и не может иметь реализации в интерфейсе как в новых версиях.

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

P.S. если этот ебанный пост привлечёт внимание — будет ещё сказ о том как он работает «типа программистом» оффлайн за чуть менее чем 400$ фул-тайм».

Прислал Анонимус

Комментарии (0)

Пока нет комментариев. Будьте первым!