Фіча крешнулася
на проді?
Колись їх називали «працівниками» та «співробітниками», потім йшлося про «колег» та «команду», згодом вони стали «тіммейтами». У компанії Levi9 їх називають «левінайнерами» або «левенятами» — це люди, з якими ви разом пилите таски, запускаєте джоби, фіксите баги та заливаєте код на прод.
Коли разом працюєте над проектом, важливо розмовляти однією мовою. За кілька десятиліть в українському IT сформувався власний сленг. Журналістка AIN.UA кілька днів слухала розмови левінайнерів та спробувала розібратися, що все це означає. Вийшов словник розробника: ми дуже довго його пиляли, щоб не виліз якийсь баг, але левінайнери наші пояснення заапрувили, тож все ок.
страшна людина, від якої залежить доля контриб’ютора, тобто творця нового або відрефакториного коду. Має достатньо досвіду та сакральне право на проведення код-рев’ю.
швидко зробити, змінити чи доповнити функціональність програми.
безпросвітне місце, де загубилось немало хороших ідей, мрій, надій на світле майбутнє і перспективи чистого коду.
воно ж плюшка, пєчєнькі, бонус, воно ж замануха чи соцпакєт — унікальна або не дуже принада, якою наймач (галера, стартап, оунер) намагаються захантити айтівця на борт. Серед найбільш поширених — оплата курсів англійської чи іншої мови, спортзал, крутий офіс, мерч, макбуки кожному весляру, смузі та печивко на кухні тощо.
У Levi9 є усі можливі бенефіти: від страховки, до генератора зі старлінком, а ще спортзал прямо в офісі. Як тобі таке, Ілон Маск?
вид взаємодії тестувальника та девелопера, іноді за участі продуктоунера, дизайнера, аналітика або менеджера в ролі арбітра. Полягає в аргументованому втовкмачуванні, що функція має працювати відповідно до специфікації або реквайрментів, а не так, як це зробив девелопер, бо він художник, він так бачить.
щось типу конвеєра або технологічного процесу на заводі. Зазвичай, нудний та нікому, крім хіба що менеджерів, не цікавий формалізований опис всіх хаотичних процесів, які є частиною щоденної рутини будь-якого учасника цього процесу.
запускати програму в спеціальному (або не дуже) режимі, щоб дізнатися, хто і в якому місці нафакапив і нагівнокодив (але без блеймінгу, бо ми ж за прозорість, відкритість, рівні права та ноу-блеймінг калча), і чому розлючений користувач замість повідомлення про успішну транзакцію бачить Unexpected error або Oops, something went wrong.
рожева мрія кожного девелопера, що полягає в перенесенні бізнес-логіки та забаганок продуктоунера з кастомером на мову програмування, алгоритмів, баз даних, інфраструктури та інших амазонів із гуглами. Зазвичай, зводиться нанівець 100500 мітингами, міграціями, технічними ініціативами та іншими «важливими» активностями, про які жаліються в кінці спринта на ретроспективах.
вони щось малюють, а іншим потім це кодити.
найпростіший спосіб отримати овертайм на вихідні та звіздюлін в понеділок.
(тобто Java, вона ж Ява, вона ж Джава) — мова програмування для кривавого ентерпрайзу, бо надійна, перевірена часом і мільйонами тестувальникогодин. Її філософія проста й прозора: «Написав один раз і запускай де хочеш». Використовується майже всюди: від величезних банківських систем до мікрохвильовок з пластиковими картками. Не плутати з JavaScript, мовою для бородатих, татуйованих смузісьорбів на гіроскутерах, та має в назві java — тільки щоб хайпанути на бренді.
Заделіверити солюшн — в ідеальному світі, розробити систему або її частину відповідно до вимог, сподівань та очікувань продуктоунера чи користувача, яка б працювала саме так, як хотіли б вищезгадані особи.
те саме, що розробити чи спроектувати. Не плутати з «допиляти», бо то більше про доведення чогось вже створеного до прийнятного або продакшн вигляду.
джун/мідл/сеньйор/техлід — ієрархія айтішного середовища. Базується як на об’єктивних ознаках, так і на внутрішніх переконаннях окремого айтівця, і його здатності поширювати ці переконання у своєму середовищі.
якась передбачувана (а частіше — ні) халепа в команді, на проекті чи взагалі у світі — «зальот» весляра, баг на проді, зашквар із клієнтами, світова рецесія або щось ще більш масштабне.
вже проаналізована на постмортемі ситуація, коли всі учасники та оточення визначили причини, що призвели до ішью, зробили висновки й поклялися на скрам-гайді ніколи так більше не робити та вберігати всіх ньюкамерів від того вселенського зла.
заливати свою частину коду в загальний репозиторій проекту. Головне, щоб наступного ранку після вечірніх комітів тімлід не лютував: «Хто накомітив? Хто накомітив?» *робить рухи руками імітуючи тицяння киці носом в калюжу*.
щось, що допомагає бути дієздатним, але краще б своїми ногами ходило. Це ми зараз про проект.
страшна халепа, що приходить в найстрашніших кошмарах до веслярів із продуктових компаній або тих, у кого є прод. Полягає в неправильній роботі системи чи її частини аж до повної відмови системи. Наслідок криворукості девелоперів, нехлюйства тестувальників або ж ретроградного Меркурію, з якими стикнувся реальний користувач у польових умовах.
наступний «верховно неосяжний» ступінь розвитку спеціаліста, який використовується між розробниками як похвала і можливість відмітити exceptional skills їх колеги. Джуніор -> Мідл -> Сеньйор ->? -> Махарадж.
маленька, іноді нікчемна помилка чи невідповідність дизайну, яку ніхто не буде фіксити або пофіксить за відсутності пріоритетніших задач («ага, аякже, в наступному спрінті точно пофіксимо»).
збіговисько по інтересах або на заздалегідь визначену тему. Менше ніж конференція, але більше ніж посиденьки чи теревені на кухні за кавою — з модератором, питаннячками та афтерпаті, все як у людей.
як показує практика, працювати на американського замовника.
скинути з себе корпоративні кайдани й стабільну зарплату в пошуках Єдинорогів. Для романтиків і сміливих духом.
аркадно-інтерактивний спосіб запланувати спринт. Розробники по черзі роблять ставки на таски. Валюта ставок — це час виконання таски. Всі про нього чули, ніхто в нього не виграв.
на Дженкінсі треба клацнути на кнопку «білд» 18 разів, щоб запустити джобу (іншими словами пайплайн, він же конвейер — послідовність завдань, які виконують певні операції над кодом, як то збір коду, перевірка його на наявність синтаксичних помилок, запуск тестів тощо).
поділитися: можна досвідом, кодом, екраном, а можна й філіжанкою кави на кухні.
залежно від контексту:— заливати шматки свого коду з персонального макбука до загального казана, сподіваючись, що різні шматки коду не побʼються між собою (матимуть конфлікт);— несамовито доводити свою точку зору або протискати своє рішення, посилаючись на свій авторитет або виїдаючи оточенню мозок, поки всі не погодяться.
(репозиторій) — великий казан, в який всі заливають свої шматочки продукту і воно там булькає! Іноді навіть щось смачненьке виходить — але це не точно :)
/ код рев’ю — інженерна практика, що полягає в спільному або індивідуальному вивченні коду з подальшими пропозиціями з покращень та оптимізації певних рішень. Покликана підтримувати код в належному стані та сприяти розповсюдженню знань між девелоперами, але часто перетворюється на міряння сіньоріті та обмін пасивно-агресивними повідомленнями в коментарях. Насправді саме це, а не фіча девелопмент, — рожева мрія розробника.
(матюкатися/плакати (залежить від проекту)) — вивід програмою чи сервісом корисної (чи не дуже) інформації про проблему в роботі. Залежно від якості, деталізації та здібностей того, хто її читає, може дати відповідь на безліч питань. Від «Чого ти, рідненька, не працюєш як потрібно?», до «Які в тебе плани на вихідні?». Логи з продакшену можуть точніше за гороскопи порадити сприятливий час для зміни роботи.
людина, що змінила свою орієнтацію. Професійну. На айтішника. Трошки презирливий, але досить часто використовуваний синонім — вайтішник.
це коли проекту нема, а ЗП — є. Мрія хомо-совєтікуса, і жахливий сон айтівця… десь з третього тижня.
теж може мати різні значення:— це багаж знань мов, технологій та фреймворків, за якими можна фільтрувати розробників для проекту;— це структура даних (LIFO), яку не так часто напряму використовують деви: з релігійних причин або через бажання бути справедливими й ставити всіх у чергу;— це чудо-область в пам’яті, про яку можна наслухатись немало чудових міфів і легенд від джунів на співбесідах.
(скі-тріп) — затримка релізу, фічі чи події на проекті через відсутність на робочому місці людини, відповідальної за цей випуск або наділеної виключними правами на апрув цього неподобства.
Якось у нас на декілька днів затримався реліз продукту для кастомерів, оскільки в одній із загальних бібліотек знайшли критичний баг, його пофіксили, але нову версію випустити не могли, бо девелопер, у якого були права на затвердження, внесення змін в код та випуск нової версії, був на корпоративній поїздці на скі-тріп. З того часу причини будь-яких затримок з випуском ми жартома називаємо «скі-тріп».
вона ж задача чи тікет — атомарний (або не дуже) шматок роботи, який, зазвичай, має цінність для бізнесу, користувача чи команди, але це не точно.
щось, що має практичну цінність для юзера — за задумом, хоча іноді й випадково. Також фічею стає кожен баг, який дуже не хоче фіксити девелопер.
(воно ж ван-ту-ван, фейс-ту-фейс) — вид мітингу, коли менеджеру треба донести якусь приємну (чи не дуже) інформацію до свого підопічного, поділитися фідбеком, без свідків вислухати нарікання на тяжку айтішну долю. Збоку схоже на прийом у психолога чи психотерапевта, тільки без кушетки й безкоштовно.
(в ідеальному світі) застосунки чи набір компонентів або бібліотек, що покращують життя розробнику. Фреймворки дозволяють більше зосередитись на бізнес-задачі, беручи на себе частину певних аспектів, зокрема технічних. Завдяки цьому кількість велосипедів з нестандартною геометрією коліс зменшується, що сприятливо впливає на проект, збільшуючи шанси потрапити з точки А в точку Б.
До негативного впливу фреймворків на айтішечку можна віднести погіршення технічного рівня спеціалістів. Трапляється, що розробники не знають про існування життя за ними (привіт, Spring). Як наслідок — будь-яка нешаблонна задача, на яку немає напівготової реалізації або яка вимагає більш низькорівневих знань, може викликати в чутливого розробника панічні атаки або ступор.
перевірити, що щось працює/не працює, іноді — перевірити щось повторно після фікса (дабл-чекнути).
Штош. — Слово, близьке до абсолюту. Його можна використовувати в будь-якій ситуації. Воно може приймати різні глибокі значення в залежності від контексту і водночас ні до чого не зобов’язує.
— В нас проблема з релізом.
— Штош (ти прийняв інформацію до уваги, але не підписався на подальші дії і терміни. Можливо, будуть розслідування і репресії (звичайно, це жарт, але подивитися git blame не завадить))
— В задачі, яку недавно зробили, QA знайшли дефекти.
— Штош (Я здивований, але спробую прояснити, чи дійсно проблема існує, і буду фіксити, якщо це так).
— Наш колега йде від нас через місяць.
— Штош (Це було неочікувано і трохи сумно, але таке життя. Бажаю йому цікавих тасків і смачного смузі. Можливо, доведеться овертаймити більше, щоб встигнути закінчити фічу, над якою працюємо. Знову прийдеться більше проводити інтерв’ю, ех…)
— Дорога команда, нам треба заделівирити це якнайшвидше (бо щось пообіцяли на вчора і не те, що треба), ігноруючи здоровий глузд, нездорову архітектуру і біль, який ми отримаємо в майбутньому.
— Штош (Це все чудово, але так робити не можна. Сперечатися зараз немає сенсу. Доведеться збирати кворум, заручатись підтримкою авторитетних людей, щоб не давати забивати цвяхи в кришку проекту.)
— Я хочу повідомити, що в нас знову змінилися пріоритети. Кидаємо все, над чим працювали та педалимо іншу фічу.
— Штош (Це вже задовбало, але таке життя. Сподіваюсь це більше не повториться. Шкода зробленої роботи, яка, скоріше за все, згниє у «фіча-бранчі»).
Колега розповідає тобі про проблему, з якою стикнувся. В якийсь момент ти розумієш, що думками ти в інших проблемах і частину прослухав.
— Штош (Я вірю, що ти самостійно зможеш розв’язати цю проблему. Спробуй ще поколупатися трохи, а як не вийде, то приходь і розберемося)
— Нам повідомили що те, що ми вважали дефектом, є бажаною поведінкою для бізнесу.
— Штош (Я, звичайно, задоволений, що однією проблемою менше, але все одно це трохи дивно і кривенько. Можливо, потім переробимо це.)
— Команда інтеграторів підтвердила, що проблема не в продукті.
— Штош (Я радий, що ми закрили цю тему. Але ми говорили це їм з самого початку. Хіба так важко перевірити самим, перш ніж навантажувати інших людей?).