Блогер та розробник Джозеф Круз задумався над тим, які варіанти професійної деформації програмістів є найбільш небезпечними для комфортного життя.
Пропонуємо вам переклад його його авторського блогу від нашої редакції. Далі — слово автору.
Програміст день у день працює над створенням складних алгоритмів. При цьому дуже важливо не вирішувати схожі проблеми кілька разів різними способами. В ідеалі, один і той самий фрагмент коду можна застосовувати багаторазово. Також важливо братися за нові завдання, вивчати свіжі технології і не зациклюватися на старому.
Це бажання вирішити і більше ніколи не торкатися пройдених питань накладає досить серйозні обмеження на ментальному рівні. У звичайному людському спілкуванні люди не вигадують нічого нового.
Щодня вони обговорюють одні й ті ж питання: як пройшов день, що приготувати на вечерю, як відпочити на вихідних. Це невеликі приклади, але весь цей соціальний рух не вкладається в блискучі мізки комп’ютерників, тому що він занадто нудний і одноманітний.
Багато молодих айтішників часто самотні і не вступають у стосунки з протилежною статтю, багато в чому через цю особливість професії. Уявіть, ви докладаєте неймовірних зусиль по 8-15 годин на день, тільки для того, щоб зменшити ймовірність повторення рішення, за дублювання коду вас навіть карають на code review. Ви завжди повинні бути в тонусі і всіма силами уникати того, з чого складається нормальна психіка сім’янина.
Звичайно, з досвідом можна вибратися з цієї небезпечної пастки. Але я знаю багато людей, які залишаються самотніми навіть після тридцяти чи сорока років. Найталановитішим людям іноді так щастить з роботою і зарплатою, що у них просто не вистачає часу, щоб зупинитися, зробити перерву і подумати про мету життя. Розставити пріоритети і зрозуміти, що робота — це не головне, а джерело доходу.
Перфекціонізм народжується з нездорової віри в те, що якщо йти по життю дуже обережно, весь час думаючи про те, куди поставити ногу, то не помреш. Насправді, звичайно, ви все одно помрете. Багато з тих, хто навіть не замислюється над тим, куди йде, досягнуть у житті більшого, ніж ви, і житимуть веселіше. Енн Ламотт, «Птах за птахом».
Мої рідні та друзі часто дорікають мені за мою гидливість і примхливість. Я не їм майонез, не купую дешеві продукти, не хочу братися за чорну роботу.
Мені завжди хочеться сказати їм, що якщо я бачу відступи у функції, яка не відповідає стандарту, то я здригаюся, не кажучи вже про такі кричущі моменти, як жахливий список консервантів у всіх дешевих смаколиках. Копати грядки на дачі і підгортати картоплю — марна трата часу.
Навіть прості підрахунки показують, що час, витрачений на сільськогосподарські роботи з використанням неефективної людської праці без спеціальних інструментів — це найгірше, що можна придумати. Можливо, це буде цікаво на пенсії, але коли ви сповнені сил і енергії, а в голові народжуються цікаві ідеї, ви можете використовувати свій час набагато ефективніше. Наприклад, написати цю статтю.
Без детального вивчення документації краще не братися за проект. Якщо не оцінити плюси і мінуси бібліотеки або фреймворку, можна отримати багато головного болю в майбутньому. Все це природно переноситься на звичайне життя.
Будь-яка пропозиція від інших людей ретельно аналізується і розбирається на складові. Адже потрібно сформулювати відповідь таким чином, щоб мінімізувати будь-які ризики і передбачити всілякі випадковості в майбутньому.
Співрозмовник може зовсім не замислюватися над змістом своїх слів і весело базікати про що завгодно, при цьому він буде вважати вас жахливим занудою, адже кожне ваше слово потрібно обдумувати. Потрібно розставити відступи, привести в порядок цикли, протестувати і налагодити, а вже потім вимовити рядок.
Проста балаканина для програміста створює величезне когнітивне навантаження.
Це прямий наслідок двох попередніх деформацій. Тільки більшість початківців у програмуванні думають, що над помилками можна не працювати, поставити «милицю», обійти і забути. Лише з роками починаєш розуміти, що баги рано чи пізно переможуть. Вони вирвуться з глибин спагеті-коду, виведуть з ладу сервер або створять небезпечний витік даних.
Але найгірше — це усвідомлення того, що написати програму без багів принципово неможливо. Уявіть, що все, що ви робите зараз, з ймовірністю 99% зламається через деякий час, і вам доведеться виправляти алгоритм.
Є таке поняття, як технічний борг. Це як кредит: ви хочете купити собі річ, але не маєте грошей, тому берете в борг у банку або у друзів і купуєте. Потім вам потрібно повернути гроші з відсотками.
Технічний борг має майже таке саме значення. У поспіху можна завершити проект, через що деякі частини коду пишуться без належної уваги до деталей. Хочеться швидше здати завдання і приступити до інших проектів.
Але чим більше ви поспішаєте і чим більше нових проектів берете, тим більше часу вам доведеться витрачати на виправлення помилок в майбутньому. Ви можете змінювати роботу щоразу, коли підтримка старого коду починає тиснути на вас і забирати енергію від вирішення нових проектів, за які платять гроші, а за підтримку зазвичай платять менше. Зрештою, вам вже заплатили і ви все одно повинні працювати, це ваша помилка.
Але втеча від проблем лише погіршує ваше становище як розробника. У вас не розвивається почуття відповідальності за свої рішення. І ви продовжуєте клепати халтуру.
Це поступово розвиває сильну підозрілість і невпевненість. «Сім разів відміряй, один раз відріж» — це ще м’яко сказано. Програміст спочатку вивчить всі можливі варіанти, підбере відповідні методи вимірювання, напише тестові процедури, розробить кілька пробних версій, і тільки потім «ріже».
Пам’ятаю, як після коледжу я просто сидів і дивився на повільних «дідуганів», які медитували над кожним рядком, як заворожений. Мені це здавалося гальмом, тим, що я можу подумати, накинути на себе, почати і бути вільним. Але тепер я повністю усвідомлюю цю рису характеру, ставити під сумнів навіть найменші деталі. Витратити кілька годин на налагодження та читання документації, щоб отримати лише один рядок — це майже норма.
У будь-якій професії є особливості, від яких у пересічної людини волосся на голові стає дибки. Досить згадати почерк лікарів. Головне — навчитися розрізняти в собі відхилення і працювати над собою. Приділяти час не тільки професійному зростанню, а й думати про гармонійний розвиток своєї особистості.
Днями я завзято нила про щось ChatGPT (експериментую між сеансами з живим терапевтом). І от…
«Крутіть колесо, щоб отримати знижку до 50%!» «Натисніть тут, щоб відкрити таємничу пропозицію!» «Зареєструйтесь зараз,…
Дуже хочеться робити якісь десктопні апки. Сумую за часами коли всі програми були offline-first, і…
Надсилаючи криптовалюту, багато новачків ставлять запитання: як працюють комісії та чому вони відрізняються в різних…
Нова афера набирає обертів — ось детальний розбір того, як фальшиві потенційні роботодавці намагаються вкрасти…
Соцмережа з можливістю вбудовувати повноцінні додатки прямо в пости — звучить як фантастика, але Farcaster…