Чому я (все ще) пишу код?


Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.

Розповідає Но Вай Ченг, розробник DoneDone і автор The Developer’s Code


Ось вже другий десяток років, як я пишу код. Проте з часом причина, по якій я цим займався, мінялася.

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

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

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

До цього часу, я почав шукати собі наставників – хоч кого-небудь, починаючи від колег по роботі, закінчуючи тими, хто висловлював такі ж ідеї, як і ті, які я утілюю в життя (Мартін Фовлер і Джошуа Кириєвскі, наприклад). Під час цього періоду моєї кар’єри я навчився дійсно поважати ремесло програмування.

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

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

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

Але те, що примушує мене програмувати зараз, є щось абсолютно інше.

Зараз я вже не пишу багато нового коду. Фактично, я вже декілька років не починав нових проектів. Я працюю в основному над DoneDone, додатком, історія якого починається в далекому 2008. Останній раз воно серйозно переписувалося в 2011, так що більшій частині коду вже не один рік у будь-якому випадку.

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

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

Це не означає, що краса коду для мене більше нічого не означає. Звичайно, вона важлива. Але справа тепер в іншому. Раніше я писав “красивий код”, щоб задовольнити лише свої бажання. Тепер він потрібний, щоб інші люди, які прочитають цей код (мої колеги, майбутні спадкоємці, або я сам через пару років) не випробовували незручностей від того, як я його написав.

Піклуватися про свій код – одна справа. Піклуватися про код цілої команди – дещо інше. Члени команди допомагають один одному, і виправляють помилки один одного. – Роберт “Uncle Bob” Мартін

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

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

Джерело: getdonedone.com

Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?


Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *