Кстати, о технических заданиях. Очень часто сталкиваюсь с тем, что ТЗ пишут заказчик с маркетологом в виде «хочу сайт-магазин в такой-то срок и с такими-то фильтрами в поиске! И с интеграцией с 1С».
Господа программисты, а признайтесь себе честно: кто хоть раз в жизни читал ТЗ, сделанное по ГОСТ 34.602-89 «Техническое задание на создание автоматизированной системы»? И соответствующими документы, как, например, порядок контроля и приёмки по ГОСТ 34.603-92 «Информационная технология. Виды испытаний автоматизированных систем»?
Конечно, нет нужды следовать ЕСПД и рисовать ЕСКДшные рамки, но эти ГОСТы писали люди, набившие несколько десяток шишек на разработке и вводе системы в эксплуатацию. Там предусмотрены большинство возникающих в реальной жизни проблем. Обязательное указание цели системы, взаимодействия с другими системами, требования к персоналу, к времени работы, детально прописанная процедура сдачи-приёмки, включающая регламент проведения тестирования при приёмке, — всё это существенно сокращает количество возможных недопониманий между заказчиком и программистом.
Возьмите эти ГОСТы, выкиньте оттуда то, что вам не нужно, заставьте ваших продажников (или кто у вас взаимодействует с заказчиком) заполнить хотя бы половину тех пунктов, которые должны быть в нормальном ТЗ, и жизнь ваша станет чуточку проще и веселее.
Добрый день! С вами снова библиотечный админ-параноик. Настроение у меня нерабочее — разрешите вас очередной байкой из жизни развлечь.
Подвалило нам как-то денег. В масштабах любого предприятия мелочь, на один чих не хватит, а для библиотеки, живущей исключительно «дважды гуманитарной» помощью, так сумма просто огромная.
На что тратить, вопросов не возникло: конечно же, на технику. Бо она у нас совершеннолетие уже отпраздновала, а держится исключительно на мате, но хоть я и работал в прошлом с военными, а столько мата всё равно не знаю.
Техника так техника — а какая? И вот тут-то пришла гениальная мысля взять железку, одну, но на перспективу, и чтоб чертям тошно стало. Не вопрос. Лезем в Яндекс, смотрим, смотрим… Смотрим… Становится грустно: не по карману нам железка-то. А-а, была не была, пишем производителям! Благо что их двое всего, наши да немцы. Да у немцев ещё и менеджер специальный русскоговорящий есть.
А теперь будет реклама.
Буквально на следующий же день звонок от одного из производителей. С нами мило беседуют, внимательно вникая во все тонкости и трудности. О чудо — делают индивидуальную скидку, чтобы мы смогли вписаться в выделенную сумму. Безропотно ждут несколько месяцев, пока бумаги пройдут через все инстанции и деньги поступят на счёт библиотеки, с ангельским терпением вносят все правки в документы (кто оформлял госзакупку, поймёт), и, как только есть принципиальная договорённость, мгновенно поставляют и устанавливают оборудование. А ещё обучают — да так, что распоследняя тётка-библиотекарь уходит окрылённая и в полной уверенности, что приобщилась к великим таинствам.
«Да и что ж тут такого? — скажете вы. — Нормальное европейское отношение к клиенту. Так и должно быть».
А что же второй производитель?
А немцы так и не ответили. Может, их русскоговорящий менеджер в отпуске был, а может, рядовая провинциальная библиотека их и не интересует вовсе — чай, не Ленинка.
Я по образованию АСУшник, работаю программистом промышленных контроллеров в оборонке. Но иногда думаю: «А не получится ли из меня и хороший тестировщик?» Почему? Интуиция вроде располагает. Вот несколько хохмочек.
Туалет. Довольно старая сушилка для рук гудит и не вырубается. Не задумываясь, выключаю свет, секунд через пять включаю. Сушилка вырубается. Уже потом понял: древний датчик ловил свет, отражённый от пола. Видимо, вдобавок к ИК от старости стал ловить и видимое излучение.
Проходная с карточной системой, турникет древний — такие раньше в метро стояли. Он при попытке закрыться мотает туда-сюда створкой, не закрывается. Сидят двое молодых наладчиков, медитируют. Говорю: «Стопор заклинило внизу, не срабатывает по концевику». Хотя турникет ни разу не разбирал. Угадал, поправили, прошёл на работу.
Ну, про прыгнуть в лифте, чтобы двери быстрее закрылись, и нажимать на этаж (кнопки закрытия-то нет) уже можно не говорить, это классика. Но сам допёр.
На работе состоялся делёж списанной техники. И был среди прочего один МФУ HP модели, популярной лет семь-восемь назад. При копировании он «срезал» низ листа сантиметра на три: если в самой нижней части листа-оригинала что-нибудь было, то на копии это не выходило. Хотя сканировал и печатал с компьютера нормально. Из-за этого и списали. Возили, правда, сначала в сервис, но там поглядели и сказали, что ремонт нецелесообразен, менять надо всю электронную начинку, что очень дорого, проще купить новый. Жаль, аппарат-то хороший, живучий, сейчас таких не делают.
МФУ хотели все, но с таким дефектом отказывались брать. Я объяснял, что, как правило, внизу листа-оригинала и так чисто, или там нижнее поле всё равно пара сантиметров, а то и более. Можно положить лист-оригинал чуть выше и пожертвовать верхним полем, которое и так белое. Но народ был непреклонен: всем хотелось идеала, тем более что большинству в основном и нужна функция копирования. Тогда я забрал аппарат себе, в душе радуясь неимоверно. Для меня этот дефект ровным счётом ничего не значил.
Принеся МФУ домой, я решил снять отчёт о конфигурации и состоянии — и вдруг увидел в меню «Настройки → Настройки копирования → Формат бумаги»… «Letter»! Выставил «Авто» — и дефект чудесным образом исчез.
Читаю я тут перепалку насчёт работо-соискателей и разных видов нанимающих и не совсем понимаю, о чём спор. Совершенно чётко просматриваются две линии: одни ищут готовых профессионалов, которые начнут работать с первого дня, другие ищут тех, кого можно поднатаскать и через какое-то время иметь удобного, лично наученного работника. Сама большая и, надо заметить, критичная разница — когда человек должен начать приносить компании пользу.
Сейчас я работаю с системами UNIX/Linux, сетевым оборудованием и разного рода оборудованием, связанным с мобильными телекоммуникациями. Не буду скрывать, попал я на эту работу по протекции, меня позвал в свою команду хороший друг моего брата. Ему нужен был толковый парень, который «хоть что-то знает» и сможет быстро научиться. Знания мои сводились к «почти CCNA» без сертификата, MCSA с небольшим опытом работы и относительно свежим и хорошим знанием теории. Ах, ну да, ещё я не впадал в панику от вида шелла, потому что имел шапочное знакомство с Kali Linux и видел сервера Sun на картинках. Но у меня был тот самый «огонёк в глазах», желание учиться, а стартовой страницей во всех трёх браузерах стоял Гугл, и поэтому меня таки взяли на работу, хорошенько помурыжив аж на трёх собеседованиях.
Когда через три месяца я в первый раз смог в одиночку пропатчить и поднять систему, тот друг, который меня принимал, честно признался, что не ожидал: по изначальному плану я должен был начать приносить пользу только через полгода. Вдумайтесь: они взяли на работу человека, которого были готовы учить и поправлять за ним косяки шесть месяцев, но зато в итоге получить работника, который хорошо знает систему и работает именно так, как им надо.
А теперь я расскажу вам про человека, которого я заменил в команде. Это был дедушка, который в 67 таки согласился выйти на пенсию. Впрочем, дедушкой назвать его было и правда сложно: подтянутый живчик, которому на вид было сложно дать больше пятидесяти. К моменту, когда я его заменил, он работал в компании семь лет. Да-да, его наняли в возрасте 60 лет в тогда ещё довольно молодую и развивающуюся компанию. У него был сверхъестественный опыт работы с UNIX, вплоть до выученных наизусть серийных номеров для модулей памяти на разные типы серверов. Прилетев в ещё не достроенный дата-центр, где интернета не было совсем, он мог, порисовав полминуты на бумажке, настроить с нуля только распакованный роутер Cisco, включая туннели и VPN на будущее. Такое ощущение, что в определённых вопросах Гугл мог посоветоваться с ним, а не наоборот. Тогда дедушку наняли, не глядя на возраст, потому что им нужен был именно такой профессионал, который с первого дня работал на все свои 100%.
Есть разные компании, разные должности и разные соискатели. Да, глупые требования и тесты есть (за это спасибо эйчарам), но уповать на «огонёк в глазах» и Гугл в некоторых случаях глупо, а где-то по той или иной причине вас не возьмут на работу, потому что вам уже за 35.
Люстра Чижевского — вещь хорошая. Особенно когда эту люстру решила внедрять охрана труда, типа, оздоравливать сотрудников.
Приходим — висит. Причём на недоступной высоте — потолки у нас высоченные. Работает, не работает — непонятно, звуков не издаёт, выключателя не видно нигде. Как потом выяснилось, люстра таки работала. А выключателя просто не было.
Выяснилось это, когда электроника в лаборатории начала дохнуть пачками. Всякая микросхема, полежавшая с незамкнутыми выводами, оказывалась мёртвой, и пока этот факт был обнаружен (часа два, не больше), пожгли приличное количество дорогих компонентов.
Как-то раз на этом сайте прочитал историю про то, как по кабелю внутри вода текла. Смешно. Буквально через неделю жалуется склад: у них из компьютера на первом этаже пошла вода. Где-то я это уже слышал… Бегом на склад — точно, кабель. Проблема найдена — проблема устранена, комп спасён.
Другой раз понадобился срочно нормальный SSL-сертификат. Нормальный в том смысле, что не самоподписанный, чтобы браузеры не ругались, и в то же время единственная его функция — шифрование трафика. Везде просят много денег и верификацию, а нужно-то просто пароль спрятать. Но на другом сайте где-то в обсуждениях упомянули про одну контору, которая как раз такие простые сертификаты вообще даром раздаёт — то, что нужно! Проблема снова решена.
На третьем сайте в обсуждениях упоминали интересную картографическую систему — а тут как раз понадобилась. Посмотрел — точно, подходит больше, чем другие, хотя и более известные. И опять проблема решена.
И так постоянно: интернет большой, люди пишут разные, кто-то пишет про свои ошибки, кто-то даёт советы, информация льётся рекой — знай только бери. Если вспоминать, сколько всего нового и полезного я нашёл и увидел — да сидя на одной работе, этого всего никогда не узнаешь!
Но вот говорят, что есть настоящие профессионалы, которые знают всё. Они рулят электростанциями, моделируют разрушения астероидов ядерными зарядами и строят искусственный интеллект, поэтому им больше ничего не надо, кроме как поржать над убогими лошарами, рассказывающими про свои эпик-фейлы.
Завидую этим людям. А пока схожу почитаю что-нибудь интересное…
Хорошие специалисты не обивают порог вашего отдела кадров? Надоели наглые профаны? А нормальную заплату вы не пробовали предлагать? Если у вас есть сомнения относительно цифр — спросите у тех, кто понимает в деньгах, — сотрудников отдела продаж, например. Предложите ведущему сейлз-менеджеру постоянно работать за 60К в Москве, пусть посмеётся. А что, ведущему сисадмину же предлагаете. Да, я знаю, что внутренний IT — не доходный отдел; это не повод искать образованного, квалифицированного сотрудника с опытом и большой зоной ответственности на зарплату двух школьников в «Макдональдсе».
Заниженный оклад — чёткий сигнал всем недоучкам: «Тут толкового спеца не найдут, возьмут кого придётся, даже тебя, вышли резюме». И сигнал правильный: хороший специалист на такое место придёт либо пересидеть, пока ищет что получше, либо получить опыт ведущего администратора и, опять-таки, найти контору пощедрее. В обоих случаях получать сумму, которой хватит на съём однушки в дальнем Поднерезиновске и питание в самом дешёвом супермаркете, семейный человек себе долго не позволит — уступит место кому-то с навыками и запросами пониже. Знакомые ведущие админы с серьёзными знаниями и навыками с суммы вдвое большей, чем вы предлагаете, только начинают обсуждать условия.
Если бюджет не позволяет достойно платить ведущему специалисту — снизьте запросы или хотя бы перестаньте жаловаться вслух на нехватку дешёвых профессионалов. Смешные зарплаты на ответственных должностях говорят не в пользу компании, такое встречается чаще всего там, где цена простоя инфраструктуры невелика — в мелких шарашках или убыточных «дочках».
Вам надоели те, кто создаёт образ админа как ленивого невежды? А мне те, кто работает на образ админа — нищеброда и неудачника.
Странные дела происходят на этом сайте. Написал, к примеру, человек, как завис на полдня с феерически глупой ошибкой — и внезапно на следующий день появится пост, где автор подробно рассказывает, как он классно продумывает архитектуру. Если хохма случилась из-за недостаточного тестирования — жди поста про то, как славно человек юзает юнит-тесты. Нарвался один линуксоид на определённую багу в определённой сборке g++ — сразу появился пост про классные вычисления с плавающей точкой. Сделал человек ошибку — и кто-то пишет, что у него ошибок не бывает. Мучился человек с каким-нибудь языком программирования — точно жди поста о том, как надо выбирать инструменты для программирования. Из последнего: при тестировании индус попортил базу данных, и через день появился пост, как славно хранить БД в Git…
Загнал несколько подобных постов в анализатор, благо софт в конторе у меня позволяет. Вероятность того, что их писал один человек — больше 80%. Однако… Делаем выводы: среди нас есть достигший того, чего достичь нельзя ни по научному мировоззрению, ни по религиозному — абсолютной истины. Ибо её нет — или, как вариант, абсолютная истина доступна только Всевышнему. Комментировать не будем, примем как факт.
Всегда думал, что самоутверждаться нужно в своём коллективе, да и анонимность в таком деле вредит. Народ должен знать, на кого молиться. Видимо, товарищу в родном коллективе самоутверждаться уже бесполезно, поэтому посты идут на этот сайт. Тогда мне мне жалко, что такой экземпляр не постит своё фото под текстами — молиться не на кого. Хотя возможно, что этот всеблагой богоподобный айтишник анонимно и бесплатно сеет с бреющего полёта разумное и вечное… Онлайн-консалтинг в пустоту в стиле Робина Гуда.
Вообще-то мне казалось, что на этот сайт ходят отдохнуть, посмеяться над собой и другими. Ибо смех над собственными просчётами полезнее всяких консультаций. И тем, кто тут смеётся над собой, крутизну доказывать не надо. Точно знаю: среди них есть те, кто рулит электростанциями, моделирует разрушения астероидов ядерными зарядами или строит искусственный интеллект. В своих областях таких считают по пальцам одной руки. А они тут просто над глупостями смеются.
Ну, а последователям Робина Гуда — в лес. Координаты Шервудского леса узнайте в Google Maps, а по приезде уточните у шерифа.
Знаете, некоторых людей надо называть не программистами, а погромистами.
Средней крупности компания. Свой штат кодеров размером в два десятка рукопар. Случилось так, что три четверти отдела заменили в довольно короткий срок. Кто круто заболел, кто ушёл из жизни, кто в декрет, кто на ПМЖ — в общем, кто куда. Новые люди и мели по-новому, так сказать. В том числе пришёл и новый начальник отдела.
И тут сверху пришёл приказ: «Реализовать программу доступа в рабочие помещения и к компьютерам по смарт-картам». А кодеры что? Кодеры — делай. Программаторы в наличии, софт пишется, чистые смарт-карты закуплены, сидят, красноглазят.
Вроде всё окей, десяток тестов, три беты и релиз — всё работает. Вроде все сотрудники должны радоваться жизни и стать тяжелее ещё на пару граммов пластика. Ан нет — не прошло и двух дней, как прибегает инженер: не работает карта. Надо сказать, что по причине перепада напряжения у инженера и бесперебойник сдох, и системник выгорел. Поставили новый. Пришли, подключили программатор к USB-порту — не работает. Подключили к другому — не работает. Задняя панель — не работает. Перепаяли новые порты — не работает. Ну, думают, мистика. Взяли новый программатор — работает. Так и оставили.
Но ведь интересно же! Проверили программатор — вроде рабочий, нигде ни КЗ на плате, ни микротрещин, дорожки целые, контакты целые, всё должно быть в порядке! А не работает. Мистика. Стали копать софт.
И вот тут наступило просветление. Оказывается, начальнику отдела было сказано «усилить безопасность доступа к ПК», и решил он втихаря прикрутить к софтине проверку по ID оборудования. Софтина вшивалась в программатор, при первом подключении считывала ID USB-порта, в который был подключён программатор, запоминала его и при переподключении производила проверку на соответствие. А сам программатор переводила в режим считывания, чтобы дюже умный юзвер в отделе кодеров не смог раскопать эту фичу.
Естественно, баг поправили, но, сказать по правде, провозились мы добрых две недели.
А начальнику отдела товарищи сверху провели противопараноидальные процедуры.