робота

робота

Про роботу

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

Кілька років тому я писав про роботу у великій корпорації з точки зору постійної внутрішньої боротьби [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/]. Крім форматування він ще підказуває...

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

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

Перенесли засідання

Бувало у вас таке коли на день призначений якийсь мітинг, обговорення, зустріч. Ти вже собі все запланував, чекаєш. Аж раптом за 5 хвилин до початку зустріч переносять. Одна справа коли ти в офісний щур та сидиш собі спокійно цілий день. А інша—коли ремоут і міг би на цей час щось запланувати. Або не зробив чогось бо була запланована зустріч, а вже пізно починати. Дратує страшно....

Вимірюємо ефективність програмістів

Минуле оповідання про настільний теніс [https://www.rozhkov.me/office-games/] добряче підсмажило дупки програмістів. Воно і логічно—ніхто не любить, коли його стереотипно заганяють у якісь рамки. Особливо ті, хто непродуктивно проводять час на роботі. Як тільки люди дізнаються що їх вимірюють за якимись показниками, то вони миттєво придумають як обіграти систему [https://www.rozhkov.me/daily/game-the-system/]. Якщо взнають що ігри в офісі якимось чином...

Апач томкат сервер

Був якось дуже давно я на співбесіді в конторі 4shared. Щойно прочекав, виявляється вони ще працюють. Якщо хочете пригадати вайби часів Windows Vista, зайдіть на їх блог. Я тоді подавався на джава програміста і проміж інших стандартних питань, інтерв'юер вирішив трохи напрягти мене по сисадмінським справам і запитав "ось в тебе задача з нуля сконфігурувати та підняти апач томкат на чистому сервері, скільки...

Ігри в офісі

Популярна тема—розважати дітей настільним тенісом, плейстейшеном, кікером. Дорослі дітлахи з задоволенням стукають м'ячиком, мучають нещасний стіл, вовтузяться у мортал комбат. Всім весело. А мені ці ігри чомусь ніколи не були цікавими. Навіть жодного разу в голову не прийшла думка сісти грати в плейстейшен, вже не кажу про теніс. Єдине що на одному з офісів де я працював той теніс досить заважав бо в...

Личные облака: Nomad

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

Оплата за результат

Пять лет назад я был сильно увлечён идеями Егора Бугаенко о по-задачной оплате программисту. Закрыл тикет—получил деньги. Есть целая методология, с ролями, процессом, поощрениями и наказаниями. Всё тщательно продумано. Подробнее почитайте на странице проекта [https://www.zerocracy.com/toc.html] который это всё реализует. На бумаге звучит это всё как мечта менеджера и заказчика—оплата идёт только за закрытые задачи а не за жопочасы, за...