робота

робота

Про роботу

Дармоїди

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

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

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

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

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

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

Один з найпростіших способів оптимізувати використання пам'яті програмою є використання jemalloc—альтернативної імплементації malloc. malloc—це стандартна функція виділення пам'яті в С. Вона використовується всередині MRI та інтерпретаторів інших мов. Використання jemalloc прозоре—підміняється імплементація функції і програми працюють як і раніше, не підозрюючи що пам'ять тепер використовується більш ефективно. Поверхневі деталі імплементації ви можете почитати на StackOverflow, там ж є посилання на більш детальні пояснення....

Страх

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

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

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

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

Бот для управління чатом зроблений на Ruby on Rails. Для визначення команди використовується наступна конструкція: if command.downcase == "!ban" .downcase тому що раніше на телефоні мав клавіатуру яка після знаку оклика піднімала регістр. Зараз вже не така, але регістро-незалежний код залишився. У всіх Rails проектах для підтримання порядку використовую лінтер Rubocop. Крім форматування він ще підказуває ідіоматичні речі та перформенс проблеми. І от після чергового регулярного...

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

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

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

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

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

Минуле оповідання про настільний теніс добряче підсмажило дупки програмістів. Воно і логічно—ніхто не любить, коли його стереотипно заганяють у якісь рамки. Особливо ті, хто непродуктивно проводять час на роботі. Як тільки люди дізнаються що їх вимірюють за якимись показниками, то вони миттєво придумають як обіграти систему. Якщо взнають що ігри в офісі якимось чином дійсно суттєво впливають на кар'єру—ніхто не буде грати. Якщо взнають...

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

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

Ігри в офісі

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

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

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

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

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

Отпуск за свой счёт

Интересно как работает логика отпусков в наёмной работе. Большинство людей из моего окружения принмают лимиты, навязанные нанимателями. Если тебе выдали 20 дней — вот эти 20 дней и планируются, не больше. Очень нечасто я слышу чтобы люди превышали установленные лимиты, наоборот, почти всегда отпуск "экономят" и стараются уместить между праздниками, таким образом пополняя толпы одинаково мыслящих туристов. Вместо того, чтобы отдыхать в те дни, когда все работают....

Рабочая почта

Когда я работал в большом энтерпрайзе, то основным средством коммуникации у нас была электронная почта. У меня в аутлуке были настроены десятки папочек, специальные фильтры и метки. Администраторы создавали группы по интересам, у всех были красивые корпоративные подписи, "Доброго времени суток коллеги" и так далее. В день могло приходить по пятдесят-сто писем и все они аккуратно разгребались и складывались. Особенно мне нравилась древовидное преставление переписки—сразу...