Футуристическое мышление
Все имена сохранены, все совпадения имеют под собой злой умысел.Привет! Меня зовут Саня, и я вижу будущее. Вы только не подумайте: я не какой-нибудь там маг-экстрасенс пятой категории гильдии Ардуины второго пришествия. Я действительно вижу будущее, когда сосредоточусь. Я не знаю, кто посылает мне эти видения: бородатый дядька на небе, аццкий сцотона, или дух Ричарда Фейнмана просачивается сквозь швы пространства-времени и подсовывает мне в голову эти картинки. Я также не знаю, как вся эта бодяга согласуется с многомировой теорией, принципом неопределённости Гейзенберга и пророчеством Ванги.Многие спросят: «Эй чувак! Если ты действительно видишь будущее, то какого чёрта ты тратишь время на пост в хабр вместо того, чтобы спасать мир?!» Проблема в том, что я не вижу глобальных событий. Я не могу предсказать эпидемию или войну; не могу знать о том, что Северная Корея запустит ядерную ракету; даже вымирание популяции бородатых хомячков в африканских саваннах я не могу предотвратить. Вот я и решил устроиться на работу, где мои скромные умения точно пригодятся.
День первый.Чёрт, быть тестировщиком в крупной компании так круто! Всё началось с того, что охранник на проходной устроил мне перекрёстный допрос с применением техник подавления сознания, а потом ещё и обыскал мою сумку, уделяя особое внимание «подозрительному» шву в левом верхнем кармашке. Сразу видно, что это серьёзная компания, которая заботится о безопасности своих сотрудников! Когда я, наконец, поднялся на свой этаж, мне показали стол в огромном опенспейсе и тут же выдали компьютер. Человек, который привёл меня к рабочему месту, сказал на прощание: «Сиди здесь, с тобой свяжутся», и в одно мгновение растворился в воздухе. Ого, я должен научиться этому крутому офисному ниндзюцу! С нетерпением жду, когда со мной свяжутся.
День второй.За целый день со мной так и не связались. Мне начинает казаться, что про меня забыли. Я решил немного напрячься, и увидеть, где сейчас находится вчерашний офисный ниндзя. Оказалось, что он уже сорок минут пьёт чай в столовой. Отлично — теперь я знаю, где у нас столовая! Незаметно подобравшись к небольшой группе, которая сидела за столом, покрытым весёленькой клетчатой скатертью, я выпалил: «Здрасьте!» Вот это да — я не знал, что человек способен подпрыгнуть на такую высоту из сидячего положения! «Ты что, с ума сошёл?! Не видишь, что у нас тут… производственное совещание?» Я немного смутился: «Ой, извините. Просто вы сказали, что со мной свяжутся. Я ждал целый день, но никто так и не пришёл.» Ниндзя поднял на меня удивлённый взгляд: «Так ведь рано ещё! Ты пока комп настроишь, пока Visual Studio поставишь… Дня три пройдёт». Странно: вчера всего за час я поставил не только Visual Studio, но и клиента Oracle 12, SOAP UI, PLSQL Developer и ещё пару софтин, про которые я знал, что они мне понадобятся. Ну да ладно, в чужой суши-бар со своими палочками не ходят, подожду ещё.
День пятый.Ко мне наконец-то пришли. Какой-то хмурый дядька жахнул мне на стол пачку листов высотой сантиметров тридцать, и пробурчал: «Это ПИМ и HLA по задаче «Перевод межсистемного взаимодействия с ИШ на SPA». Протестируешь кейс передачи APN-параметра на финансовую платформу, когда SCP-абонент висит в аморальной блокировке». Я был несколько озадачен: «А почему блокировка аморальная?» Дядька недобро усмехнулся и процедил: «То есть, из всего этого тебя интересует только то, почему блокировка аморальная? Ну-ну». И растворился. Чёрт, у них тут определённо целый клан.
День двадцать шестой.Когда я устраивался работать тестировщиком, я думал, что смогу очень быстро находить все баги с помощью своих способностей. Мне всего лишь нужно подумать о том, как я буду тестировать какой-то кейс, и я тут же узнаю, что пойдёт не так. Однако всё оказалось не так просто. Чтобы протестировать передачу APN-параметра на финансовую платформу, когда SCP-абонент висит в аморальной блокировке, мне нужно было сначала узнать, что такое APN-параметр, финансовая платформа, SCP-абонент и аморальная блокировка. Применяя уловки, шантаж, и в некоторых случаях даже гипноз, я собрал все нужные знания и был готов начать тестирование. Меня несколько смущал тот факт, что за эти двадцать дней никто не пришёл узнать, как у меня дела, но мой сосед по опенспейсу Витёк только отмахнулся: «Да ты чё, не парься, щас же только начало релиза! Можно пинать болты и заводить себе таски на управление тасками!» Сделав мысленную пометку узнать, зачем нужны таски для управления тасками, я начал тестировать. И, конечно, тут же нашёлся баг! Система провиженинга услуг отправляла в SPA единичку вместо «true». Ну что же вы так, отдел разработки, как можно было так ошибиться? Солнце клонилось к закату, поэтому я завёл баг и с чистой совестью поехал домой.
День двадцать седьмой.Первым делом я открыл вчерашний баг, чтобы протестировать исправление. Однако к багу не было прилинковано ни одного ченджсета, а в истории красовалась запись: «Нужны логи OCat, OM, CM, фасада и процессора Workflow. Блин, сколько вас учить?! Понабрали по объявлениям…» А чуть ниже была ещё одна запись: «Ещё мне всякие тестеры будут говорить, где код править — совсем офигели уже». И вот тут я понял, что попал. Я ведь тестировал кейс с помощью своего дара — это заняло всего полсекунды, и я ни разу не притронулся к мышке. Чтобы собрать логи, придётся по-настоящему открыть жутко тормозную форму, сделать магические действия, а потом ещё полчаса лазить по сетевым шарам в поисках файлов с именами вроде «OrderManagement.OperationServices.log.145». Ну что ж, делать нечего. Весь оставшийся день я вручную тестировал функционал, собирал логи и прикладывал их к багу.
День двадцать восьмой.Сегодня по дороге на работу я увидел, как девушка поскользнулась на ступеньках метро, упала и сломала ногу. Конечно, ничего она в итоге не сломала, а я пришёл на работу в отличном настроении и с новым телефоном в адресной книге:) Благодушно улыбаясь, я открыл давешний баг. Ну теперь-то там точно будет исправление! И я снова не угадал. Баг висел на группе архитектуры с комментарием: «Архитектурный баг. Исправление займёт 100 часов и потребует полного прогона регресса. Нужны таски на OM, Ocat, CM и OCF». Да что же это такое! Ведь я знаю, где нужно поправить код, чтобы всё работало. Да после всех логов, что я приложил, даже макак-резус бы знал, что нужно исправить! Какие сто часов?! Там дел на пять минут, четыре из которых будет собираться билд! Надо с этим что-то делать.
День тридцатый.Обычно у меня не получаются такие фокусы, но тут, видимо, помог праведный гнев. Я смог как следует заглянуть в будущее, увидеть себя опытным программистом, который умеет писать на тридцати известных и двух ещё неизвестных языках, и потом перенести весь этот опыт в своё текущее сознание. Я не знаю, как это всё работает, и почему временной парадокс не аннигилировал Вселенную, но у меня получилось так подшаманить систему контроля версий, что нужное исправление просто появилось в коде. После этого я с чистой совестью вернул баг на себя и закрыл его с комментарием: «Не воспроизводится».
День сто девяносто пятый.Фух, последние полгода были крышесносными! После того, как я научился незаметно править код, я смог использовать свои способности на полную! За первый месяц я выловил все баги текущего релиза. После этого я разгрёб кладбище багов, которое по недоразумению называлось «группой архитектуры». Ну и в качестве приятного бонуса последний месяц я занимался полным рефакторингом системы: внедрил кошерную SOA-архитектуру, покрыл весь код тестами, а также наладил процесс Continuous Delivery. Хотя с последним я чуть не спалился: оказывается, начальник отдела инфраструктуры настолько ревностно следит за своей епархией, что мне пришлось снова применять гипноз, чтобы убедить его в том, что он сам всё это придумал и настроил.
День сто девяносто шестой.Сегодня тот самый ниндзя, которого я не видел с первых дней своей работы, собрал наш отдел тестирования в большой переговорке. Удобно устроившись в мягком кожаном кресле, начальник сразу взял быка за рога: «В общем, дело такое. В стране кризис, и вышестоящее руководство решило сократить штат сотрудников на 50%. Как вы сами понимаете, разработчиков мы сокращать не можем, поэтому решили сократить тестеров». Вот это поворот! Я даже не знаю, что сказать. Приняв наше молчание за согласие, начальник продолжил: «Короче, мы решили сократить вас за несоответствие должностной инструкции». Я, наконец, обрёл дар речи: «Да ну? И в чём же мы не соответствуем?» «Ну как же. Вот ты, Саня, подписывал должностную инструкцию? Подписывал. Там был пункт про то, что работник должен обладать футуристическим мышлением, и предвидеть тренды развития отрасли? Был. Вот нету у тебя футуристического мышления, Саня. Хоть убей — нету». Я вздохнул и закрыл глаза.
…
Когда видение заканчивается, у меня всегда немного щиплет кончики пальцев. Вот и сейчас я будто вынырнул из колодца, открыл глаза и уставился на свой указательный палец, который лежал на листе бумаги с надписью «Должностная инструкция». Палец указывал на небольшой список, в котором говорилось о качествах, которыми должен обладать сотрудник компании: «футуристическое мышление; умение видеть тренды развития отрасли и закономерности в окружающем пространстве; …» Голос сотрудницы отдела кадров вывел меня из задумчивости: «Ну вы будете подписывать, или нет? Это же просто формальность! Вот сейчас подпишете, и через неделю сможете выйти на работу». Я поднял глаза на женщину и задумчиво сказал: «А знаете… Я, пожалуй, передумал у вас работать».