День програміста – неофіційне всесвітнє професійне свято, котре відзначають 256-го дня року (у високосний рік це 12 вересня, а у невисокосний – 13 вересня). Таку нетрадиційну дату вибрали тому, що число 256 відповідає кількості чисел (від 0 до 255), які можна представити за допомогою одного байта.
Незадовго до свята мене запросили на корпоративну вечірку фірми, яка займається програмним забезпеченням. Так я опинилася в компанії справжніх програмістів і з цікавістю спостерігала, як один із них спочатку покатав свою дівчину на гойдалці, а потім почав уважно роздивлятися механізм. Колеги прокоментували таку поведінку: «Напевне, хоче оптимізувати»…
ЗАПРОГРАМУВАТИ ЖИТТЯ
Оптимізувати процес, тобто зробити так, щоб на нього витрачалося менше часу й ресурсів, – професійна звичка програміста. Оптимізувати можна все, навіть приготування їжі: «Це певна послідовність процесів, якої потрібно дотримуватися. Спершу тривалий процес – підсмажити м’ясо, потім – короткі операції в правильній послідовності, тим більше, якщо є тільки одна сковорідка – обмежений ресурс…» – розмірковує Сергій Хоменко, який працює керівником департаменту інтеграційних рішень компанії «Епам Системз». На його думку, непрогнозовані сюрпризи життя – це насправді не що інше, як незакриті алгоритми.
Сергій у програмуванні з 1988 року, тобто пам’ятає ще ті прадавні часи, коли не було Інтернету, а комп’ютери були завбільшки з кімнату. «На початку 90-х я вчився у Дніпрі, й усі програмісти міста, а їх було не більше двох сотень, тусувалися у пивній «Яма». Переважно це були припанковані хлопці, які слухали групу Nirvana й відповідно вдягалися». Розповідь Сергія нагадує героїчний епос, коли мова заходить про хакерський рух: «У ті часи всі були хакерами. Пострадянські програмістські лаври діставалися молодцям, яким вдавалося не тільки зламати «буржуйську» іграшку чи програму, але й удосконалити її. Перша заповідь хакера – поділися кодом. А зараз хакерський рух зійшов на пси, все поглинула комерція: розробники працюють за гроші, а не за ідею. Й хакерами уже називають зломщиків, тобто плутають із крекерами й фрикерами, які зламують програми та телефонні мережі відповідно. Загалом, аби ви розуміли, хакер – це хороша людина, а крекер – злодій».
КЛІК КЛІКОМ ВИКЛІКУЮТЬ
Середній вік програміста – 25–30 років. Навчитися ніколи не пізно, люди й під сорок приходять у професію й успішно її опановують. Це, як правило, математики з чітким логічним мисленням, але, крім випускників спеціалізованих вишів, є сила-силенна самоучок: колишні вчителі та навіть журналісти. Тим більше, що професія творча. «Програмування – це мистецтво. Далеко не кожен може стати програмістом, – вважає Лєна Бочарова. – Треба постійно креативити. Придумувати, як зробити так, щоб програма оптимально працювала, продумувати ситуації, коли вона може не працювати». Раніше програмістів можна було впізнати не лише за одягом, а й за сленгом, зараз більшість компаній забороняють його вживати. Це відголоски глобалізації, переходу на світові стандарти, адже сленг може мати регіональні відмінності, а коли компанія міжнародна, а таких усе більше, її працівникам треба якось розумітися. Виробилися й певні правила ґречності – якщо в компанії двох програмістів є хтось третій, про комп’ютери ані пари з вуст. З цим навіть прикмета пов’язана: коли заходить мова про комп’ютери, програмістам більше не наливати. «Таке є: програміст іноді має блукаючий погляд, а ще може пропасти в розмові, щось розповідати, а потім переключитися, майже з кожним таке трапляється. Це означає, що у віддалених ділянках мозку закінчила роботу певна програма чи знайдено потрібне рішення проблеми, над якою міркував паралельно з розмовою. Дівчата на таке скаржаться, мовляв, «ти мене не слухаєш», – зізнається Максим Каразєєв і тут-таки, як і попередив, «пропадає». Напевне, щось таки розв’язав..
ПРОГРАМНІ ХАРАКТЕРИСТИКИ
«Програмістові щодня треба опрацювати величезну кількість інформації – у мене це біля 500 сторінок, – чи то жаліється, чи то хвалиться Сергій Хоменко. – Причому зупинятися не можна, інакше програєш конкурентам. Тримати все це «в оперативній пам’яті» нереально, тому все, що можна не запам’ятовувати, я забуваю: імена, дні народження, номери телефонів. Але свій код я можу згадати через багато років. На перевірку я колись пригадував до 400 сторінок написаного мною коду: міг сказати, що на якій сторінці знаходиться й почати диктувати його з цієї точки». Вражає розмаїття програмістського фольклору. Від сервера до сервера переходять легенди про «знайомого знайомого», який захотів працювати в Google, півтора року виконував їхні завдання по Інтернету, літав на співбесіди, а тепер має офіс у формі басейну, в центрі якого і працює, сидячи з ноутбуком у гумовому кріслі. Досвідчені програмісти хваляться, що вміють по звуках кліка на клавіатурі визначати, зокрема, секретний пароль. Або, перебуваючи в одній частині світу, можуть примусити самознищитися комп’ютер на столі десь за океаном. А ще програмісти люблять активний відпочинок, пиво та специфічні жарти, поважають не Білла Ґейтса, а Лінуса Торвальдса (винахідника Linux), бачать уві сні шматки програмних кодів, записують їх, коли прокидаються, – і вони працюють! Але головне, і з цим усі погоджуються, – програмісти спілкуються з комп’ютером охочіше, ніж з людьми.
КАЗКА ПРО ЧОРНОГО ПРОГРАМІСТА
Подейкують, що в найсучасніших офісах різних країн світу на робочих місцях програмістів невідомо звідки з’являються шматки роздруківки з чорними-чорними, багато разів правленими кодами. Людина, яка візьме такий код до рук, кидає родину, забуває друзів, не відповідає на електронні листи й сидить годинами, стукаючи по клавіатурі. Це чорний програміст заволодів її душею… І можливо, в такий спосіб працює над створенням штучного інтелекту, адже саме до цього прагне кожен справжній програміст…