робота

робота

Про роботу

Senior No-Code Developer

Поки весь світ захоплено пише промпти до ChatGPT, 🍦 опановує інструменти що були в тренді 5 років тому. Знадобилося по роботі зробити нагадування про апгрейд продакшену. Апрув на це в нас робиться вручну, видається реліз, розкатується на стейджинг, якщо все ок, то потім розкатують на продакшн. «Розкатати» значить замерджити автоматично створений під час релізу мердж реквест де апгрейдяться куберівські дефінішени, які далі зааплаїть ArgoCD. Мене попросили зробити...

„Подивись плз мердж реквест“

— пишу я колезі у слак. — „Можеш дати контекст?“, — відповідає той. Я зазвичай прискіпливо ставлюся до коміт меседжів [https://www.rozhkov.me/why-comment-commits/] та всього де є букви й намагаюсь спростити рев'юеру роботу, тому мій MR вже містить всі необхідні пояснення. Подумки зітхаю, копіюю текст звідти у слак. Через годинку приходить на пошту нотифікація — рев'юер написав що можна додати перевірку на null. Перевірки...

Власні хмари: Kubernetes

Цей пост мав бути опублікованим 24-го лютого, але так і провисів у чернетках аж до сьогодні. Подальшу роботу я не проводив, бо перевіз все на fly.io [https://www.rozhkov.me/friendship-ended-with-heroku-now-fly-io-is-my-best-friend/] . На вихідних я вирішив поекспериментувати зі своїми проєктами та зробити прототип маленької хмарки на кубері. Раніше я прикидував ціни [https://www.rozhkov.me/kubernetes-pet-projects-cost-estimation/] на менеджед кубери й вибрав Scaleway [https://www.scaleway.com/...

Busywork

У великих корпораціях через низьку ефективність комунікації багато часу марнується. Якщо хтось розглядає це як привід, щоб знайти інше місце [https://www.rozhkov.me/struggles-in-a-corporate-environment/], то дехто — як можливість не надто перейматися роботою та отримувати непогані гроші. Типова ситуація — вам потрібно бути присутнім на якійсь нараді, ви підключаєтесь, але поки до вас не має питань, то вимикаєте камеру й мікрофон та займаєтесь своїми справами. Якщо ви...

Корпоративні гасла

Коли працював у ентерпрайзі то в нас з різною періодичністю змінювалися гасла. Типу спочатку було одне щось, потім стало «Transforming the *** layer», а через пару років «Bringing the *** Experience». З цього приводу всім розіслали листи з поясненням, що воно таке, та звідки взялося. На нашу роботу звичайно воно ніяк не впливало. Уже в іншій конторі ми теж обирали гасло для компанії, «цінності». Максимально крінжово — менеджмент написав...

Марнославство та мікросервіси

Якось (років 6 тому) ходив на мітап, де архітектор лун.уа розповідав про те як в них влаштована внутрішня кухня. Тоді якраз в тренді були мікросервіси, от і в них були мікросервіси. Я тоді теж працював якраз над такою архітектурою, тому мені було цікаво, як це роблять інші. Виявилося, що лунівські мікросервіси то були несправжні мікросервіси. То були просто окремі пайтон модулі, які комунікували один з...

Труднощі корпоративної боротьби

Кілька років тому я писав про роботу у великій корпорації з точки зору постійної внутрішньої боротьби [https://www.rozhkov.me/politics-inner/]. Чим більша компанія та чим більші там потоки грошей, тим більшим виростає прошарок різних менеджерів та координаторів, які намагаються тримати все під контролем. З часом, кількість людей, які мають дати дозвіл на якісь зміни, виростає так сильно, що робити будь-що стає неможливим. Врешті я чудово...

Як 🍦 функціональне програмування не хотів вчити

Після першої своєї роботи — кривавого ентерпрайзу, я влаштувався у стартап. Там ми взяли нову тоді 8-у джаву та мікросервіси, все як має бути. В мене був колега, який вже працював з 8-ою версією та вмів писати лямбди. Я ж зупинився на 6-ій і лямбди не вмів. Для тих хто не з Java світу, лямбди та стріми це такі шматочки функціонального програмування які додали якраз у 8-ій...

Дармоїди

Останні N місяців я займаюсь майже виключно навоколо-інфраструктурною роботою. Ця діяльність не має прямого бенефіту у вигляді прогрітого ліда, фічі за яку заплатить клієнт чи підписаного контракту. Я працюю там, що на мові бізнесу називається cost center: центр витрат, дармоїди які марнують важко зароблені іншими гроші. Робота над такими задачами не дає зростання та взагалі не створює видимості. Коли потік грошей знаходиться десь далеко, то урвати...

Життя поза світом клієнта

Я стежу за замагальною сценою Counter Strike, там скоро найголовніший чемпіонат року, Major. Для гравців компанія-розробник, Valve, робить беттінг прямо в грі. Працює це так: ти купуєш “квиток” а далі робиш ставки на ті команди які пройдуть до наступного етапу турніру. Всього 24 команди та три етапи. Задача гравця—вгадати максимальну кількість переможців. Винагорода—віртуальна монетка. Зветься забава «Pick'Em Challenge [https://counterstrike.fandom.com/...

Нема сенсу старанно працювати

Це негативний пост, що написав два місяці тому коли мене різко зачепила тема мотивації. Врешті я так і не захотів його публікувати, бо зрікся фонтанувати негативом. Пост так і висів у чернетках, тому що містить цікаві ідеї. Прийшов і його час. Вітаю, корпоративний кріпаче! Чи ти вже прокинувся, випив для бадьорості кави? Чи ти вже відбув цирк що зветься «дейлі стендап»? Чи ти вже перечитав куди...

Проста оптимізація використання пам'яті з jemalloc

Один з найпростіших способів оптимізувати використання пам'яті програмою є використання jemalloc [http://jemalloc.net/]—альтернативної імплементації malloc . malloc—це стандартна функція виділення пам'яті в С. Вона використовується всередині MRI [https://en.wikipedia.org/wiki/Ruby_MRI] та інтерпретаторів інших мов. Використання jemalloc прозоре—підміняється імплементація функції і програми працюють як і раніше, не підозрюючи що пам'ять тепер використовується більш ефективно....

Страх

Є у мене один давній страх: що код який безспосередньо взаємодіє з користувачем, наприклад відправлення повідомлення через бот, зациклиться і почне надсилати тисячі однакових повідомлень. Тому у всіх таких місцях я обкладаюсь транзакціями, локами, роблю так щоб результат виконання операції зберігався та гаратовано виконувався не більше 1 разу і так далі. Вчора писав код який відправляє щодня подяки користувачам @Donate1024Bot [https://t.me/Donate1024Bot]: def perform...

Лояльність × Зона комфорту

Днями зустрів у їдальні БЦ екс-колегу з першої роботи. Я подумав що з дуже високою ймовірністю вона досі працює в тій самій конторі, бо їх офіс теж знаходиться в цьому БЦ. Після обіду перевірив по лінкедіну, так і є—пані працює там само з 2008. Тобто вже 14 років. Я чомусь думав що вона давно релокувалась, бо релокація це стандартний етап еволюції весларя в тій компанії....

Мікрооптимізації vs читаємість

Бот для управління чатом [https://www.rozhkov.me/telegram-status-bot/] зроблений на Ruby on Rails. Для визначення команди використовується наступна конструкція: if command.downcase == "!ban" .downcase тому що раніше на телефоні мав клавіатуру яка після знаку оклика піднімала регістр. Зараз вже не така, але регістро-незалежний код залишився. У всіх Rails проектах для підтримання порядку використовую лінтер Rubocop [https://rubocop.org/]. Крім форматування він ще підказуває...

Щурячі перегони

Нещодавно один з активних учасників нашої пиріжок.спільноти висловив таку думку: “Не хочу слухати про технікал рев'ю, грейди і тд, хочу таски робити і щоб зп піднімали регулярно”. Непогане бажання. Замість того щоб думати що там треба зробити щоб якось просунути кар'єру вперед, людина просто хоче займатися тим що їй подобається або добре виходить—програмувати. Але реальний світ працює не так. Яким...