робота

робота

Про роботу

Страх

Є у мене один давній страх: що код який безспосередньо взаємодіє з користувачем, наприклад відправлення повідомлення через бот, зациклиться і почне надсилати тисячі однакових повідомлень. Тому у всіх таких місцях я обкладаюсь транзакціями, локами, роблю так щоб результат виконання операції зберігався та гаратовано виконувався не більше 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 дней и планируются, не больше. Очень нечасто я слышу чтобы люди превышали установленные лимиты, наоборот, почти всегда отпуск "экономят" и стараются уместить между праздниками, таким образом пополняя толпы одинаково мыслящих туристов. Вместо того, чтобы отдыхать в те дни, когда все работают....

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

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

Code retreat

Пару недель назад ребята из Databand организовали активность под названием Code Retreat. Я впервые принимал участие в такой движухе. Code retreat — это нечто вроде хакатона. Суть такова: разработчики не занимаются рабочими задачами, вместо этого практикуя программирование в чистом виде. Как это проходило: была выбрана задача—игра "Жизнь" и мы программировали её разными способами: вначале как получится, потом используя только объекты, потом чисто функционально, потом иммутабельно, потом...

Performance-first

В дискусії про телеграм клієнти підняли важливе питання: як вийшло, що Slack пише ціла команда по найкращим практикам і в них виходить глючне гальмівне лайно, а Телеграм зроблений однією людиною і чудово працює? (мається наувазі "один телеграм клієнт—один розробник") Чи вірно те що Телеграм робить геніальний програміст, тому він значно кращий? Що по іншому софту? Майкрософтівські скайп та teams надзвичайно жалюгідні, гальмівні та глючні, хоча...

Навіщо потрібні коментарі до комітів?

Де-факто стандарт в індустрії вимагає писати коментарі до кожного коміту. Часто ще потрібно також вказувати номер тікету, в рамках якого був зроблений цей коміт. В попередньому пості ми обговорили чому потрібно дотримуватися внутрішніх порядків компанії (tl;dr: бо інакше ви станете проблемою та вас позбудуться), але мотивація робити це чисто KPI-на — якщо вас оцінюють за критерієм «пересування тасок», то логічно цей показник тримати високим. А якщо...

Зачем двигать таски в джире

На днях увидел заметку от Ильи Климова как он уволил джунов за то что те "не двигали таски в джире". В камментах оказалось что многие не понимают, почему двигать таски это важно. В своё время когда у меня была своя команда то я тоже требовал, чтобы люди двигали таски. Это нужно было в первую очередь мне—чтобы понимать прогресс работы. Двигание тасок—отличный асинхронный способ понять...