робота

робота

Про роботу

Ідейність vs наймитство

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

Хайлоад — подивився «Ford v Ferrari» та «F1»

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

Прокляття менеджера середньої ланки

Уважний читач пам'ятає модель корпорації «Gervais Principle»: „Sociopaths, in their own best interests, knowingly promote over-performing losers into middle-management, groom under-performing losers into sociopaths, and leave the average bare-minimum-effort losers to fend for themselves.“ Лузерів (в корпоративно-ієрархічному сенсі), що працюють краще ніж потрібно, підвищують до менеджерів середньої ланки. Щоб видавати таку продуктивність людині треба бути «clueless», безглуздою, та ставити інт...

Сердитий кандидат та програмування на папірці

Стрімкий розвиток LLMів та ремоуту значно ускладнили оцінку кандидатів на тепле місце де заробляєш легкі гроші. Якщо є можливість шахраювати, щоб отримати роботу — всі будуть це робити. Так працює ринок. Тому гадаю що час повернутися у середину нульових — співбесіди в офісі та програмування на дошці або папірці, без комп'ютерів. Саме так я і проводив значну частину співбесід, коли ще не так були популярні дзвінки...

Agency

Є такий термін в англійській який я не знаю як нормально перекласти («суб'єктність» — шляпа). Зазвичай під цим мається на увазі здатність людини активно діяти та змінювати світ довкола себе. Це людина якій треба більше всіх. Яка тягне проєкти та двіжухи за собою, на якій все тримається. Зазвичай ці люди роблять щось своє, але якщо вони достатньо clueless [https://www.rozhkov.me/loyalty-and-comfort-zone/], то можуть...

Local-first dev environments

Найбільше мене харить коли код проєкту неможливо запустити локально. Коли є мільйон залежностей, кафки-хуяфки, редіси-хуєдіси, бридка трійця S3/SQS/SNS, мерзенний OAuth 2.0 та інша шляпа яка не запускається або складно запускається на вашому комп'ютері. Коли для підйому адмінки проєкту над яким ти працюєщ тобі пропонують докер композ на більше рядків ніж сорци кожного мікросервісу, з яких він складається. Коли їхав мікросервіс через...

100% coverage тести, які нічого не тестують

В далекому 2010 році, коли долар був по 8, я працював на ентерпрайзному проєкті разом з консультантами з компанії Thoughtworks. Тієї, звідки Мартін Фаулер, тієї, що публікує Technology Radar [https://www.thoughtworks.com/radar], за яким, ви, ймовірно стежите. На нашому проєкті не було тестів, тому що в компанії на той час не було культури тестування. Власне, мінусів у такому підході я не бачу, але то...

Ruby on Snails: 1 req/sec

Нещодавно один відомий консультант по перформенсу рельс написав твіт, де стверджував що більшість Rails апок тримають 1.5 req/sec на одному ядрі [https://twitter.com/nateberkopec/status/1791927521895985417] й тому треба мільйони vCPU, пам'яті та серверів, щоб воно хоч якось працювало. Надзвичайно контроверсійна заява яка породила відповідну реакцію спільноти, де різні люди заявляли що в них все працює як мінімум в 10 разів...

Інкапсуляція

Проходжу зараз туторіал по Rust [https://rust-exercises.com/], дійшов до розділу про інкапсуляцію. Там як завжди: публічні поля у структур може змінювати будь-хто тому треба їх зробити приватними, а назовні вистромити гетери/аксесори. Цю історію я чув ще з далекого 2004 коли починав програмувати на Java. Тоді про це не задумувався, ну дійсно, несолідно щоб ми писали user.name = "Vova", має бути user.setName(...

Обісрався з кроном

Час розваг! Місяць тому я рефакторив @Donate1024Bot [https://t.me/Donate1024Bot] , щоб прибрати node.js та npm з білдчейну [https://www.rozhkov.me/clown-programming/]. Через кілька днів помітив що кнопки на інтерфейсі попердолило. З'ясувалося що кудись дівся CSS який відповідав за теми, і замість того щоб зафорсити світлу тему, воно вмикало системну, відповідно частину UI пердолило, бо вона не була заточна під темну. Замість...

frozen_string_literal: 🤡

Знадобилося тут попрограмувати трохи (поганий той штурмовик що забув як програмувати), поки прокрастинував та думав як краще організувати новий проєкт, дай думаю оновлю старий. Ласкаво просимо до проклятого світу веброзробки! Зробив bundle update, запустив локально, прогнав тести, „на моїй машині працює!”, пушу в репозиторій, build failed. Причому failed на тих самих тестах. WTF, в мене ж все працювало! Іду розбиратися, виявляється що в релізі Rails 7....

It Depends

— „Краще працювати в продукті, ніж в аутсорсі” — „Ні, це залежить від того який продукт і який аутсорс, буває цікавий аутсорс” — „Потрібно видавати людям овнершип та контекст, щоб вони самі робили задачі” — „Залежить від того яка робота, на конвеєрі тобі потрібні прості виконавці які не вимахуються” — „Робота має мати сенс та приносити задоволення” — „Залежить від обставин, є ситуації коли просто потрібні гроші” І так далі. На кожне...

Обачність на 1:1

Продовжую тему з токсичними колегами [https://www.rozhkov.me/toxic-water-cooler-talks/], цього разу говоримо про 1:1. Такі мітинги з безпосереднім керівником вже досить давно стали ±стандартом в індустрії. Зазвичай ні менеджер, ні підлеглий не знають, як правильно використати цей час, і вони перетворюються на формальність, яку до того ж менеджер має звичку переносити й забивати на неї. Менше з тим, 1:1 це асиметричні мітинги. Ваш...

Коли ненапряжна робота може бути корисною

Читачки та читачі знають що я людина яка декларує гру на перемогу, а не на процес, та постійний розвиток. На ділі мені не завжди вдавалось цього дотримуватися, але я стараюсь. Одна з речей які мене ніколи не приваблювали це робота на чілових проєктах та умисне уникнення відповідальності (і відповідно зростання). Таких проєктів, де можна почілити, було досить багато. Зараз не знаю як, але підозрюю що вони...

Токсичні колеги

У благословенні офісні часи, коли не було великої війни та коронавірусу, люди значно більше спілкувались наживо. Найбільше звичайно під час обіду/чаювання/кавування на кухні та перекуру у курилці. Американський термін water cooler talk дуже влучний для опису цього явища. На кухні можна було підслухати останні інсайди, розкладки та нахрюки, вклинитися в чужу розмову, або розпочати свою. Я часто користувався цим і розводив непродуктивні та токсичні...

X Y problem

Один з методів мотивації людей, якому навчають майбутніх керівників це давати підлеглим відповідальність за рішення щодо виконання задачі. Одразу наведу приклад. Ситуація 1: приходить техлід каже — «зроби контролер SessionsController з трьома методами: GET /login, POST /login, DELETE /signout». Ситуація 2: техлід каже — «нам треба, щоб користувачі мали персоналізовані сторінки на сайті, гадаю що треба робити авторизацію, що скажеш?». У першому випадку у вас не так багато...