Наивное программирование
14 subscribers
9 photos
1 file
16 links
как жить, когда ты маленький храбрый тостер
Download Telegram
Заехали на машине к маме, чтобы кое-что забрать: она спустилась к подъезду, всех действий - буквально вот открыть дверь, кинуть пакет на заднее сиденье, закрыть дверь. Мама, конечно, не удержалась от выдачи ценных указаний. Выезжаем со двора, я с обалдевшими глазами:
- Слушай, 30 секунд времени, а она успела выдать нам данных, как... как...
- Как Apache Kafka.
- Точно!
У нас новости: Артём начал работать в yad2. Для тех, кто не в теме, - это типа Авито, барахолка, снять-сдать-продать квартиру, вот это вот все. Ходит теперь, не отлепляя ладонь от лица, говорит, такого дремучего неэффективного плохо написанного кода еще не видел. Он, мол, настолько легаси, что из него скоро динозавры зарычат.

А у меня вчера был очень непродуктивный день. Майя проснулась в 5.40, после обеда меня свалила дикая головная боль, и я выпала из жизни на пару часов - короче, вечером жалуюсь Артёму: представляешь, сегодня удалось поработать всего три часа (за это время я успела написать нехилый кусок кода и сделать пару коммитов). Он ржет и зовет меня к компу: смотри, говорит, я работал полный день, а вот результат - и показывает ровно одну измененную строчку в гите.
Залипаю в интернете, открыт Хром, куча вкладок, одна из них имеет заглавие "Elastic..." Elastic search! - радостно достраивает мозг. Сознание сонно возражает: да ну, почему ты про него читаешь, мы же в итоге не используем его в проекте, значит, таб уже можно закрыть.
Тыкаю на него. Shein.com, Elastic wide belt, профессиональная деформация, мать ее...
У меня есть детская травма - терпеть не могу одежду на вырост. Мама постоянно покупала что-то на пару размеров больше, напяливала на меня, я, не особо понимая, это носила... короче, я долго и с боем отвоевывала право надевать только то, что хорошо на мне сидит, а не просто "ну такая симпатичная кофточка, ну и что, что большая, тут подоткнуть, там подшить".

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

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

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

Я же прихожу к Артёму: эээ, братан, я слышала, там такая-то технология есть, а че, вот под мою задачу подходит? А че еще есть? А если найду? Короче, я использую накопленные знания Артёма как инструмент, чтобы выбрать примерный стэк технологий, а потом начинаю писать говнокод. Так у меня было со связкой Адониса 5 и Монго - тогда официального коннектора не было, нашлось что-то, написанное на коленке, и пришлось это допиливать до внятного состояния (я при этом не знала ни Адониса, ни Монго). Ага, отлично, получается создать модель, записать данные в базу и прочитать их. Зашибись, сейчас надо проверить авторизацию пользователей. Так, удалось создать юзера и потом его через токен подцепить. Теперь базовые действия доступны, сделаем seeder для базы данных с fake data, чтобы было, что отображать. Прекрасно, коллекции есть, давай возьмем их и отдадим на фронтэнд. И вот такими маленькими итерациями, когда первым делом пытаешься заставить эту хуйню работать, а потом рефакторишь говнокод до более-менее пристойного состояния (и тут тоже важно вовремя остановиться) - прямо мое все.

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

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

Ну ладно, хотя бы попробовала найти свое решение задачи CRUD для nested JSON objects.
Из переписки с синьором
Артём:
- Программирование - это дженга наоборот. Ты добавляешь к проекту фичи, пока он не обваливается нахуй.
Степень моей рабочей заебанности: запушила коммит с сообщением “At least this shit doesn’t crash”.
Вот интересно, что во мне победит - жадность или лень?

Монго - нереляционная база данных, с которой я работаю в последнее время, - в отличие от SQL, достаточно энтерпрайзна и недешева. У них есть очень-очень базовый клиент Robo 3T, которым я пока пользуюсь - не слишком удобный, но бесплатный. Однако сделать дамп базы данных (экспорт-импорт коллекций, иначе говоря) - это не к нему, это уже через консоль (вот та черная херь, в которой киношные хакеры пишут буквы, а там потом мигает “Access granted”). Я консоль не то чтобы не люблю - просто влом вспоминать все команды и синтаксис. Короче говоря, смотрю на цены платной версии - а они начинаются от 200 баксов за год. Смотрю на другой клиент (DataGrip от JetBrains), лицензия на который у меня пока есть - а он на моем ноуте адски тормозит и, кажется, все-таки не имеет нужного функционала. Вздыхаю, открываю Гугл…

В сегодняшнем раунде, в общем, победила жадность - я обошлась консолькой. Вопрос - это разработчики Монго охуели, или я зажралась, что хочу всего и бесплатно?
С правого на левый.
Спасибо, чувак. Ты мне почти 7 лет прослужил, не жалея своих электронных мозгов.
За всю войну я не закончила ни одной книги. Беллетристика, нонфикшн, даже любимая фантастика - не лезло. Я читала только новости и слушала только их. Я перестала заходить на свой guilty pleasure - Пикабу, - потому что там слишком много ватников. Я листала новости, находила еще новости и полировала это новостями. Да, у меня хорошие антидепрессанты, они вывезли.

Морок разбила книга моей подруги. Собственно, это не первый случай, когда коммуницирующий со мной живой человек говорит: вот текст, я его сотворил (Поляринов, привет!). В данном случае я начала читать книгу Веры, потому что это было “надо”. Во-первых, подруга, во-вторых, я несколько причастна к ее становлению как писателя, в-третьих, было, наконец-таки, любопытно - мы дружим уже 10 лет, практически с наших первых дней в Израиле, я была уверена, что довольно хорошо Веру знаю.

Оказалось, нет.

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

Вспоминая ее тексты пару лет назад, я постоянно ловила себя на мысли, что не узнаю ту Веру в этой книге. Качественный скачок языка, построения сюжета, описания героев через поступки. Работа, которую моя подруга проделала над писательскими навыками, достойна восхищения. Да и вообще, чтобы сотворить достаточно рассказов для издания сборника - пусть пока и в электронном виде, - нужны железная воля, терпение и любовь к слову. Все это у Веры есть. У Веры нет только веры - в себя, - но это тоже приходит со временем и числом написанных текстов. По моим прогнозам, через пару лет такого темпа она заматереет, перестанет здороваться со старыми подругами и будет вспоминать их только по праздникам, да и то не всем. 🙂

Рассказы можно прочитать здесь: https://ridero.ru/books/nedelya_zhizni/
И еще здесь: https://esquire.ru/letters/246693-chtenie-vyhodnogo-dnya-5-korotkih-rasskazov-very-soroki-o-poteryannoy-lyubvi-manyake-zhizni-posle-smerti-i-ne-tolko/

P. S. Вот же ж - была уверена, что больше в жизни рецензий не напишу, да и сейчас начала всего лишь обычную заметку - а она вдруг превратилась в полноценный отзыв.
Мы тут смотались на Кипр с Майкой (3,5 года, 15 кило капризов с косичками), и это была, конечно, определенного рода авантюра. Открытием поездки для меня оказалось то, что меня перестали идентифицировать как русскоязычную. Прожженные продавцы сувениров обращались ко мне по-английски и переходили на русский (очень много русскоязычных на Кипре), только услышав, как я разговариваю с Майей. То ли лицо подрасслабилось (мы ходили без масок практически везде), то ли пластика изменилась, но не распознали ни разу. Пребываю в некотором удивлении от этого.
Текущая версия Майи
Меж тем прошел почти год.

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

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

Что еще... Майя с сентября, то есть примерно с 4 лет, ходит к юнгианскому песочному терапевту. Работаем с ее страхами и тревожностью, которой у нее очень, очень много (что неудивительно, с такими-то родителями). Я не знаю, как эта девушка ее направляет (на занятиях мы не присутствуем, только родительские сессии раз в месяц), но Майка делает фантастический прогресс, заметный прямо невооруженным взглядом. Перестала бояться темноты, перестала бояться болячек и грязи, стала гораздо уравновешенней. Сейчас, впрочем, у нее ожидаемый регресс - потому что я на 21 неделе беременности, тут уже ревность проявляется. В этот раз нам обещают мальчика - короче, собрали фулл сет. Развлекаемся, как можем!
Главный месседж начальника за сегодня - Евгения, перестань думать, как программист!

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

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

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

...Пока ем, прилетает квест из реального мира. Типа, ты не в рабочем настроении - ну тогда порешай нерабочие проблемы. Мироздание по-своему логично, не так ли?
Собрала ниибический шкаф для деткиных одежек в икеевском конструкторе. И ящички как нужно, и полочка для обуви, и подсветка для висящей одежды. Двери-купе, одна зеркальная, хуё-моё. Все проверила 2 раза, полочку на ящичек заменила. Почти под 1000 баксов вышел - ну, не на пару же лет покупаю, Майка та еще шмоточница, пусть уж все сложит.
...Ни в одном магазине Израиля нет обычной белой рамы для дверей. Когда будет - неизвестно. Но вряд ли до Песаха завезут.
СУКА НЕНАВИЖУ
Мама звонит мне в самый неудобный момент - когда я в полном людей коридоре пытаюсь нацепить на Майку ботинки и вывалиться с ней в дождь. Вокруг еще примерно 10 детей с танцевального кружка, 10 родителей, тоже их одевающих, гвалт, галдеж, а на мне теплая куртка и восьмимесячный живот. "Мама, - рявкаю я в трубку, - я перезвоню тебе через 10 минут!". Сражение с ребенком заканчивается моей победой, мы вываливаемся, садимся в заботливо поданную Артёмом машину - и я перезваниваю. Необходимое замечание здесь в том, что с мамой я рассталась совсем недавно - она как раз привела Майку на танцы и ровно полчаса компостировала мне мозги своими проблемами.

- Да, мам, что такое?
- Ты знаешь, я забыла тебе совсем сказать, мы вот с Аней и Геной прошлись, я там видела объявление, какого-то там мая концерт какого-то там артиста в Хайфе, но я не знаю, сколько там билеты стоят и где это будет...
- Ты сфоткала объявление? (Мама умеет пользоваться Вотсапом, фоткать и присылать мне.)
- Нет, я не догадалась, но посмотри, пожалуйста...
- Мама, блин, нафига ты мне звонишь и говоришь, я же все забуду, ты бы хотя бы написала кто-что-когда, я потом дома посмотрю и куплю, зачем ты мне звонишь???
- Ой, ну извини, я что-то не подумала... (Кстати, хороший вариант, обычно она отвечает "У тебя никогда на мать нет времени, а вот у меня для тебя время всегда находится".)

Потом я еще минут 10 рассказываю Артёму, как меня заебало такое поведение, как я от него устала и как меня бесит, что обязательно надо рассказать предысторию. Он предлагает вариант решения проблемы:

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

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

П - программисты.