Петрович Александр
Шрифт:
Последняя категория вопросов показалась ему самой интересной. К ней относились такие вопросы, на которые, как ни ответь — лучше от этого никому не будет, а может быть только хуже, поэтому и отвечать на такие вопросы бессмысленно, и даже вредно — самым мудрым будет промолчать.
Когда подошло время очередного self-review, программист А. мудро ответил на все вопросы анкеты молчанием. По результатам полугодия его опять не повысили.
— Вот ведь бл$@#&во! — ругался программист А. — Все-таки слабовато у нас пока с буддистским мировозрением в рядах среднего менеджерского состава.
Программист А. сидел в баре Pizzeria Uno с кружечкой Uno Amber Ale и наблюдал за группой из трех человек справа от себя. Было очевидно, что это работники одной из маленьких программистских компаний, отмечающие прием нового сотрудника — скромной индийской девушки. Молодой человек в очках с видом школьного отличника рассказывал о web-приложениях и сервисах, java-платформе, сервис-ориентированной архитектуре, среднем слое и обо все остальном, слышанном уже тысячи раз. Старший, вероятно CEO, немного потрепанный, говорил что-то о рабочей атмосфере и коллективе. Перед обоими стояло по почти пустой кружке пива. Скромная девушка пила воду, внимательно слушала и понимающе кивала, к удовольствию CEO.
— Вот, на моих глазах начинается еще одна карьера в IT, — торжественно подумал программист А.
Он окунулся в воспоминания, как в теплый океан на восточном берегу Флориды. Ведь когда-то и он был начинающим программистом, получил свою первую работу, и начались незабываемые дни — энтузиазм, детское отсутствие опыта, жажда новых знаний, обещания и надежды, новое рабочее место, свежие впечатления, разговоры с коллегами в курилке, веселые митинги с сидящими на полу людьми, бонусы, премии, интересные проекты, нетривиальные задачи, растущие акции, конференции в Сан-Франциско, новые клиенты, увольнения, больше работы меньшими силами, исправление багов, недостаток времени, поздние вечера в офисе, падающие акции, склочные клиенты, ленивая служба поддержки, еженедельные тупые отчеты, невыполнимые сроки, бестолковые менеджеры, занудные коллеги, пустые формальности, неработающий код, бесконечные баги, и ничего, ничего нового!
Программист А. залпом допил свое пиво и ушел, стараясь не смотреть направо.
Как-то в баре, за кружкой Fisherman's Brew, приятель жаловался программисту А.:
— Что-то со мной происходит не то! Ничего мне не интересно, ничего не хочется делать. Кажется, что все уже делал, везде уже был, все уже знаю, хотя и понимаю, что это не так. Включаю телевизор — по всем каналам какая-то ерунда. Берусь за книгу — ничего такого, чего бы раньше не читал. С утра ни на что не надеюсь, вечером ничего не жду. Все вокруг суетятся, повторяя одни и те же действия, а мне ничего этого не нужно. Может быть, это психическая болезнь?
— Ты случайно головой не стукался в последнее время? — спросил программист А.
— Ты знаешь, действительно стукнулся не так давно о полку, три дня шишка не проходила, — ответил приятель.
— Ну вот тебе и ответ! — воскликнул программист А. — Поэтому ты и считаешь мудрость психической болезнью!
Слабый огонек костра тускло освещал сидевших вокруг него людей. Иногда резкий порыв холодного ветра почти полностью задувал пламя, и тогда становилось совсем темно, так что неясные пятна палаток на кромке леса растворялись в пугающей черноте. Рассказчик, освещая свое лицо снизу фонарем, как бы для нагнетания атмосферы, продолжал свою историю:
— И когда он вошел в эту комнату, экран компьютера автоматически загорелся, и на нем зловеще открылось окно SQL*PLus. Тогда он набрал SELECT * FROM customer_orders@ORDINST и нажал Enter. И, к его ужасу, запрос вернул 10 записей…
— И что? — напряженно спросил программист А.
— Но в базе данных не было линка с именем ORDINST! — резко закончил рассказчик.
— Аa! — вырвалось у кого-то от страха и неожиданности.
Пламя окончательно погасло, превратившись в тлеющие угольки. Некоторое время все так и сидели с открытыми ртами и испуганными лицами.
Выписывая очередной чек за услуги, программист А. написал в графе 'Сумма прописью':
SELECT
TO_CHAR(TO_DATE(TRUNC(68.18),'J'),'JSP')
||' DOLLARS AND
'||TO_CHAR(MOD(68.18,1)*100)||' CENTS'
FROM DUAL;
Банк вернул ему чек и оштрафовал на $20.
— Вот ведь бл$@#&во! — ругался программист А. — У них там что в банке, SQL Server, что ли?!
Программиста А. спросили:
— Как отличить обычного программиста от настоящего программиста?
— Легко, — ответил А. — Обычный программист тщательно изучает задачу. Пишет четкий и понятный технический дизайн. Советуется с архитекторами. Заранее продумывает, как он будет тестировать код. Тщательно комментирует. Следит за правильной инициализацией переменных. Никогда не забывает про производительность и масштабируемость. Укладывается в отведенные для проекта сроки.