Рубріки: ДосвідДумка

Найнебезпечніші професійні деформації програміста

Андрій Губін

Блогер та розробник Джозеф Круз задумався над тим, які варіанти професійної деформації програмістів є найбільш небезпечними для комфортного життя.

Пропонуємо вам переклад його його авторського блогу від нашої редакції. Далі — слово автору.

Уникнення соціальних зв’язків

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

Це бажання вирішити і більше ніколи не торкатися пройдених питань накладає досить серйозні обмеження на ментальному рівні. У звичайному людському спілкуванні люди не вигадують нічого нового.

Щодня вони обговорюють одні й ті ж питання: як пройшов день, що приготувати на вечерю, як відпочити на вихідних. Це невеликі приклади, але весь цей соціальний рух не вкладається в блискучі мізки комп’ютерників, тому що він занадто нудний і одноманітний.

Багато молодих айтішників часто самотні і не вступають у стосунки з протилежною статтю, багато в чому через цю особливість професії. Уявіть, ви докладаєте неймовірних зусиль по 8-15 годин на день, тільки для того, щоб зменшити ймовірність повторення рішення, за дублювання коду вас навіть карають на code review. Ви завжди повинні бути в тонусі і всіма силами уникати того, з чого складається нормальна психіка сім’янина.

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

Надмірний перфекціонізм

Перфекціонізм народжується з нездорової віри в те, що якщо йти по життю дуже обережно, весь час думаючи про те, куди поставити ногу, то не помреш. Насправді, звичайно, ви все одно помрете. Багато з тих, хто навіть не замислюється над тим, куди йде, досягнуть у житті більшого, ніж ви, і житимуть веселіше. Енн Ламотт, «Птах за птахом».

Мої рідні та друзі часто дорікають мені за мою гидливість і примхливість. Я не їм майонез, не купую дешеві продукти, не хочу братися за чорну роботу.

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

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

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

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

Співрозмовник може зовсім не замислюватися над змістом своїх слів і весело базікати про що завгодно, при цьому він буде вважати вас жахливим занудою, адже кожне ваше слово потрібно обдумувати. Потрібно розставити відступи, привести в порядок цикли, протестувати і налагодити, а вже потім вимовити рядок.

Проста балаканина для програміста створює величезне когнітивне навантаження.

Підозрілість

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

Але найгірше — це усвідомлення того, що написати програму без багів принципово неможливо. Уявіть, що все, що ви робите зараз, з ймовірністю 99% зламається через деякий час, і вам доведеться виправляти алгоритм.

Є таке поняття, як технічний борг. Це як кредит: ви хочете купити собі річ, але не маєте грошей, тому берете в борг у банку або у друзів і купуєте. Потім вам потрібно повернути гроші з відсотками.

Технічний борг має майже таке саме значення. У поспіху можна завершити проект, через що деякі частини коду пишуться без належної уваги до деталей. Хочеться швидше здати завдання і приступити до інших проектів.

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

Але втеча від проблем лише погіршує ваше становище як розробника. У вас не розвивається почуття відповідальності за свої рішення. І ви продовжуєте клепати халтуру.

Це поступово розвиває сильну підозрілість і невпевненість. «Сім разів відміряй, один раз відріж» — це ще м’яко сказано. Програміст спочатку вивчить всі можливі варіанти, підбере відповідні методи вимірювання, напише тестові процедури, розробить кілька пробних версій, і тільки потім «ріже».

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

У будь-якій професії є особливості, від яких у пересічної людини волосся на голові стає дибки. Досить згадати почерк лікарів. Головне — навчитися розрізняти в собі відхилення і працювати над собою. Приділяти час не тільки професійному зростанню, а й думати про гармонійний розвиток своєї особистості.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.

Останні статті

Мої найважливіші кроки для вдосконалення коду в команді

Блогер та розробник Джозеф Круз розповів, як покращити роботу команди розробників, так показати їм справжню…

06.06.2025

Недооцінені фішки вашого смартфона, які спрощують життя

Щодня ми носимо в своїй кишені пристрій, що в сотні мільйонів разів потужніший за комп’ютер,…

05.06.2025

В чому різниця між фіксом та «костилем»?

Оце сиджу, працюю і задумався: «А де ж проходить та тонка межа між фіксом, який…

04.06.2025

Закон Гудгарта або як метрики змінюють цінності

«Коли вимірюваний показник стає метою, він перестає бути хорошою мірою» Закон який значною мірою відповідальний…

03.06.2025

Як приймати обдумані рішення за допомогою ChatGPT? Приклади промптів

Інколи здається, що ви врахували все. Упевненість у рішенні настільки висока, що ви вже подумки…

02.06.2025

Чи можете ви програмувати, не дивлячись на екран?

Блогер та розробник Джозеф Круз розповів, як він працює програмістом, маючи доволі серйозні проблеми із…

23.05.2025