вторник, 14 сентября 2021 г.

С Днём профи-проггера!

Осенью 1986 года было моё первое погружение в IT через членство в клубе компьютерщиков при транспортном ВУЗ-е, а уже в феврале 1987 года результат моих  работ был представлен на внутривузовской конференции. На освоение компьютера и изучение языка ФОКАЛ мне понадобилось около двух месяцев. Да, чтобы начать программистскую деятельность нужны минимальные знания, а чтобы стать тестировщиком понадобится не только развитое логическое мышление, но и много разных навыков по всем стадиям разработки продукта. Официально в моей трудовой книжке запись о должности программиста появилась после двух классов школы и пяти лет института, а в тестировщики переход был только спустя девять лет программирования. В поэтическом плане роль тестировщика меня сподвигла на литературный выхлоп уже на третий месяц в деле, а вот программирование зрело долгие двенадцать лет. Ниже читайте о том, как мне работалось программистом в конце XX века.

Машина тоже чувствовать умеет.
Она с тобой болеет и сопереживает.
Не ладится судьба, - и у неё чой-то замыкает.
А если у тебя идёт всё гладко, тогда и ей не требуется отладка.
Моргнёт глазком зелёным, ритмично засверкает красным,
Засветится экран. И ты в строке, немногим ясной, но всё ж тебе во всём понятной,
Увидишь тот набор значков и закорючек, в которых смысл скрыт того, что он не глючит.
Но тут всё замолкает.
Клавиатура пискнет, принтер щёлкнет, и по модему огонёчки пробегают.
Для связи auto оставляю. И приложения постепенно запускаю:
Одно, второе. Это и вот это. У гороскопа* собственного спрошу совета.
Отмечу в хит-параде** все места, от "Ум за разум" - слово. И в дела!
На день рождения - акростих. Для друга - копию, чтоб от тоски не сник.
Так. На заказ на Delphi код в сто строк пишу лишь мышкой. И успею в срок.
Вот тут подправлю. Здесь чуть-чуть пошире, а остальное отрезаю. Пусть гниёт в корзине.
Пожалуй, всё готово. На проверку. 
Пример: один, второй, … , десятый. Для юзера дубового на этом хватит.
А для продвинутого? Стоит поубавить. Сюда не лезть, а здесь закрыть. Тут F1 - подсказка.
И кнопки ограничить. Не дам ему такую технику калечить.
Жать только эту лучшую - эскейп. Давно проверено - в ней горя нет. Ведь главное, что не Reset.
Экран мигает всеми красками, чтой-то заигралась я этими подсказками.
Пускай инструкцию читают. А у меня - обед. И компьютЭр об этом знает.
Тест для контроля сам запустит, для файла нового он копию создаст.
И напряжения скачков он не допустит. Комфорт делам и отдыху придаст.
А после перерыва - новый раунд. Я отключаю громогласный саунд.
Дела кипят, процессор пашет. И жёсткий диск головками трещит.
Он в память информацию вбирает, излишки и огрехи отсекает.
В принтер картридж новый вставляю, лощённой бумагой его заправляю.
Теперь он одет и наелся вдоволь. Со мною он не будет суровым.
Каждый пиксель пропечатает, надеюсь, листочек не съест.
Мои мысли в графике изображает, к заданиям сложным даёт совет.
Дела закончились, пора и расставаться.
С пожеланием добра он привык со мной прощаться.
Закрыты все программы. Осталось только выключить.
Спи сладко. Больше я тебя не буду мучить.
(октябрь 1998 года)

----------
*гороскоп - программа написана была дилетантски, для практического изучения языка программирования.
**хит-парад - компьютерная программа для музыкального радио "РИФМА" была разработана, написана и внедрена в рамках семилетнего статуса радио-критика на общественных началах.

четверг, 9 сентября 2021 г.

Профессионалы в процессе

В 2000-2003 годах офшорная компания RSC создавала и поддерживала программный комплекс "Практик-А", написанный на Oracle Forms (упоминаются актуальные горячие клавиши). Основатели компании в 2002 году отмечали юбилей и предложили всем сотрудникам творческий конкурс. На тот момент в мои обязанности входили тестирование и тех.поддержка (СТП - служба технической поддержки), но тестировщики всюду суют свой нос, поэтому рассказ получился более чем полный. Никакого приза моя работа не выиграла. К сегодняшнему Дню Тестировщика публикую свой опус. Может кого-то из вас он сподвигнет на что-то большее.

Как RSC создаёт "Практик-А".

Этап первичный. Все на старте. У аналитика разгон:
Собрать все нужные нюансы готов, бумажки собирает он.
То с шефом часик поболтает, то с рядовыми день иль два.
За все мучения награда ему - подробностей стопа.
И маркетолог потихоньку в контракте правит пункт "Права":
Для конкурентов нет лазейки, им предстоит всё сызнова.
А тестировщик пишет планы: с кого начать и что потом,
Чем протестировать экраны, чтоб не осталось за бортом
Предупрежденье: интерфейсы - не для слепых и старых дам,
И каждому объекту - место, чтобы не рыться по хелпам.
Этап второй - разгар событий. У каждого заданий тьма.
Тут время маленьких открытий. Без плана - хаос и кутерьма.
С завода аналитик едет в родные стены напрямки,
Где и в жару и в холод лютый рисует, как Малевич, уголки.
Для главного определяет он место в центре, а затем
Для "дочек" сущности вставляет, связуя их в контексте тем.
Пока что он один лишь знает, как будет выглядеть Проект,
Какие будут отношенья, с чем, сколько, видно или нет.
Он программёру составляет набросок действий, чтобы тот
Без промедленья и задержки составил правильнейший код.
Проектировщики в короткий срок набьют пакетов кучи строк.
Ошибки ввода ограничит "primary" или "unique" ключик.
Ну, а для верности значений есть "trigger", "view" и "value check".
Они - такие, они - шальные. И целый день глядят в экраны, как хмельные,
По клаве дробь стучат и мышку тискают, чтоб новый образ формы получить.
"Create"-ом и "insert" таблицу сляпают, а если что не так, то тут же "alter"-нут.
На ввод - "commit"-ы есть, не хочешь - "rollback". Готов проект, на тест несут.
Здесь тестировщицы - вреднюги. Заметят каждый баг и ляп.
Где хелп? И что за сокращенья? Симметрий нет! А выйти как?!
Бедняжка форма стонет, плачет под натиском таких задач,
Считая ввод запоминает и направляет на печать.
Сто раз поправят программёры, сто двадцать тестер скажет: "Нет".
Чтобы Проект стал идеален, не жалко им ни сил, ни лет.
Когда порядок полный на этапе, на все ошибки исправленья есть,
Тут техподдержка и рекламодатель в свою узду впрягают всех.
Новинки или дополненья описаны уже давно.
Вот начался этап внедренья. Для праздника время пришло.
И на заводе оживленье: команда к ним летит от нас.
Научат, сервер установят и юзерам покажут класс.
Горячих клавиш стройный ряд любой проблеме будет рад.
Что делать - "F1" нажмите, не ладится, тогда с "Shift"-ом.
А коль забыли "кто есть в кнопках", то - "Ctrl" с "F1". Всё в нём.
Чтоб сосчитать объёмы строк - с "Shift"-ом "F2". Ну, и потом
"F3" дублирует объект, а с "F4" проблем нет:
Всю предыдущую строку в пустую вставит, как свою.
Неверно? Есть "Shift+F4": очистит строчку, как и было.
Гулять в режимах и по окнам "F5" поможет, а с "Shift"-ом,
Мой друг, уж будь ты осторожен: всё пусто будет в блоке том.
Достопочтенная "F6". Нужна строка? Вот она есть!
Всё лишнее с "Shift"-ом "F6" как зверь голодный может съесть.
На пару кнопок честь возложена запросом базу фильтровать:
"F7", и вводишь всё искомое, "F8" не забудь нажать!
Когда же в форме всё не так - с "Shift"-ом "F7" - она пуста.
"Shift+F8". Сбросьте страх: через принтер - на листах.
Значенье подобрать из списка "F9" Вам поможет быстро,
Лишь с "Ctrl"-ом её нажмёте, иерархией пункт подберёте.
Пора запомнить измененья: "F10" - и итог мученьям.
"Tab" переходит по полям, "Shift+Tab" по ним же, но назад.
Вас "Ctrl+Tab" вперёд ведёт, а всё с "Shift"-ом в окно вернёт.
Не только "Esc"-ом отменяешь, есть "Ctrl+U" им очищаешь.
По окнам "Page Up Down" ходят, когда их с "Ctrl" наберёшь.
А стрелки по строкам поводят, при спешке их с "Shift"-ом нажмёшь.
Есть "Ctrl+E" для тех, кто хочет значенье в поле поменять.
И "Ctrl+Q" в Проекте пашет, чтобы закрыть иль отменять.
А пользователь не лыком шит, чуть что не так, и в СТП звонит.
Скрипты, скрипты… Им нет предела. Исправить то, добавить сё.
На СТП опять облава, успеть им надо пропатчить всё.
Домой вновь едет аналитик с заданьями, чтобы Проект
Шире и дальше развивался, добротно работал много лет.
Всё смогут наши программисты, когда у них есть за спиной
Hi-аналитики - специалисты. А SQL для них - родной.
Команда к трудностям готова, исполнит каждый Ваш каприз.
Для современных технологий есть "Практик-А". На цену не скупись.

P.S.
Коль слишком гладко, не кривитесь, ведь строчки сами легли в ряд.
Кому не любо, не гневитесь, e-mail мой примет всякий баг.
Свои рецензии оставьте. За труд прочтения себя поздравьте.
(июль 2002 года)

четверг, 8 июля 2021 г.

Безоглядное родительство

Давно подмечено, что мать истинно и глубоко любит лишь первого сына. Но когда это чувство заслоняет взгляд женщины на всех окружающих, то сначала страдают от этого близкие, а впоследствии сам объект обожания. 

Погода благоприятствует прогулкам, и на днях пред моими глазами на бульваре произошёл конфликт поколений. На скамейке отдыхала старушка и ела мороженое. Мимо шли мать с полугодовалой дочкой на руках и отец, одной рукой толкавший коляску, а другой держа за ручку двухгодовалого сынишку. Бульвар - место общественное и там постоянно проводят много свободного времени горожане. Конечно же, муниципальная собственность оборудована необходимыми социально полезными объектами: лавочки, спортивные снаряды и детские качели, санитарный уголок и продуктовые палатки с напитками и закусками. Семейство нагулялось и двигалось к парковке. Поравнявшись с вкушающей сладость старушкой, внимательная мамаша остановила своих родичей и стала допытывать сыночка: "Хочешь пи-пи? Давай, давай сейчас, а то до дома не дотерпишь." Уговорив дитя опорожниться, она обменялась с отцом детьми и сделала пару шагов до ближайшего деревца на газоне, снимая с малыша штанишки. 

Мамаша нарушила правила посещения общественного места, не воспользовалась санитарным местом и позволила любимому сыночку подпортить окружающую среду. Поскольку всё это происходило прямо напротив поедающей мороженое старушки, то её желудок отреагировал соответствующим образом и перестал благополучно принимать сладость. За поведение, не соответствующее общепринятым нормам, взрослая женщина осмелилась сделать замечание молодому семейству: "Молодые люди, вы плохо воспитываете своих детей. Опорожняетесь на газоне вместо специально отведённого места. Этим вы нарушаете экологию, да к тому же испортили мне аппетит и настроение." 

Думаете, родители извинились перед ней? Нет! Они нагло посмеялись над отрыжкой старушки: "Детская моча деревьям не помеха." Понятное дело, что любящая мамаша готова зад целовать своему сыну, но такое безоглядное чувство демонстрирует её ограниченность. Мало того, что подобное поведение наглого семейства оскорбляет окружающих, но дети, наблюдающие поведение своих родителей, станут копировать его и впоследствии, то есть лет через двадцать ситуация вполне может повториться. А на месте отдыхающей старушки может оказаться та самая мамаша или не остановивший её отец семейства. С медицинской же точки зрения мать подвергла сына опасности подцепить клеща с ветки дерева, не приучая его пользоваться санитарным местом для справления нужды. Полагаю, что отец в этой ситуации оказался более благовоспитанным, поскольку он не потащил сына до неподалёку стоявшего их автомобиля, чтобы помочить колесо, как это принято у настоящих мужиков. Но с другой стороны, он проявил слабость и показал себя подкаблучником, не отведя сам сына в кабинку биотуалета. Но это не удивительно, поскольку скорее всего его воспитывала такая же безумно любящая мамаша. 

Безоглядная родительская любовь и неотъемлемое желание исполнить всё, что пожелает дитятко, формирует поколение паразитов. Приживалы привыкают, что им всё предоставляется по первому требованию, безвозмездно. Они не приучены к тому, что цель и мечту надо достигать собственными усилиями и трудом, постигая науки и шлифуя навыки. Те, за кого родители решают все проблемы дома, не в состоянии противостоять маломальским преградам в иной социальной группе. Учитель в школе или руководитель кружка, потакающий прихотям учеников, оказывает им "медвежью услугу". Ребёнок ленится и выполняет только то, что ему легко даётся, а всё новое и сложное старается переложить на плечи взрослых, так и не осваивая лучшее, продвинутое. В детях тем самым вырабатывается устойчивая привычка жить за счёт других. 

Для группы разработчиков их ПО тоже становится столь же близким детищем спустя некоторое время. Они его поддерживают, совершенствуют. Но у некоторых эта забота приобретает эгоистический характер. Кто-то из производителей счастлив тем, что конечный пользователь получает качественный по всем параметрам продукт, а эти генерят код только лишь для самого факта наличия сложного кода. По сути он никому не нужен, но он есть, создан, функционирует зазря, даже при всей его сложности и вычурности. Немного об этом уже было сказано в статье "Программа или дитя" (https://tjupka.blogspot.com/2020/11/blog-post.html). Здесь же хочу затронуть ту губительную сторону дела, когда ПО пожирает команду.

У каждого старшего члена семьи существует свой взгляд на воспитание младшего поколения. Кто-то продолжает династию, иные вкладывают силы и средства в будущего гения, пытаясь воплотить в чаде свои несбывшиеся мечты. Также и в группе разработки, при отсутствии единой цели каждый тянет одеяло на себя. Инвестор спонсирует только то, что даст быструю и максимальную прибыль, словно случайный папаша, получивший девять месяцев назад пятиминутное удовольствие. Аналитик продвигает те идеи, которые на его взгляд станут единым универсальным решением на все случаи, как дедушка, воплощающий в жизнь идейные заветы. Да и нам, тестировщикам, важны лишь те задачи, что запросил конечный пользователь, аналогично безумным мамашам, что готовы в лепёшку расшибиться ради капризного дитяти. 

А когда семья распадается из-за разногласий или уходит кто-то один взрослый, то ребёнок и ПО становится однобоким. Очевидно, что команда, теряющая одного из членов, в перспективе даёт пинок продукту под горку и косит все усилия под ноль. Если же и вы привязываетесь к общему детищу, то весьма сложно при несчастном стечении обстоятельств оставлять его. В этом заключается внутренний конфликт производителя. С одной стороны, необходимо прилагать все усилия для улучшения ПО, но с другой - нельзя прикипать к нему душой, потому что в любой момент всё может закончится вне зависимости от вас. Родителям всегда стоит помнить, что когда-то их ребёнок должен будет от них уйти, чтобы создать свою семью. Так и производителям продукта нужно иметь ввиду грядущее расставание с шедевром, в который вложена душа. Не смотря ни на какие противоречия не могу советовать вам быть равнодушными к продукту. Такова уж участь предков - вырастить и воспитать, а потом отдать. В моменте дарения другим счастье прибывает вам.  

Ещё один подвох кроется в типе команды разработки. Многие шефы сейчас бравируют так называемыми "тёплыми, семейными" отношениями. Но никогда не раскрывают истинного стиля. И недаром лекторы Стратоплана настойчиво предупреждают избегать таких коллективов. Да, вас там будут "иметь и в хвост, и в гриву за просто так", без всякой благодарности и учтивости взвалят на вас всё самое муторное, как будто так и надо. Нет! На работе спать нельзя. В прямом и переносном смысле. Как только вы начнёте замечать благосклонность босса, то сразу постарайтесь выяснить напрямую причины и ожидаемые последствия таких перемен. Иначе вы внезапно окажетесь тем самым мальчиком для битья, виновным во всех проблемах. 

Для владельца продукта единственным любимым ребёнком, как для матери старший сын, является продукт, а любой работник-любимчик весьма вероятно со временем окажется в опале. Вы можете не заметить, как вся ваша работа станет отправляться в мусорную корзину, а взамен этого станут появляться дубликаты от имени шефа. Да, начальники - поколение барствующих и более иных подвержены зависти, все новинки должны по их мнению исходить только свыше, а подчинённый для них лишь муравьишка, постоянно обязанный тащить огромный груз для блага босса. Ну а разве это родительская забота, когда ваши семилетние круглосуточные усердия одномоментно выбрасываются без предупреждений и внятных объяснений? Это жестоко, и прощать такое невозможно. Подобные поступки порождают у здравомыслящих жёсткие взаимоотношения с более конструктивным взглядом на них.  Современные психологи в таком случае советуют отпустить ситуацию, то есть забыть. А это значит, что вы позволяете поступать аналогично и в следующий раз. Босс также и с другим сотрудником обойдётся: попользует до поры до времени, а как только заметит превосходство над своими знаниями и умениями, так и от него избавится. Такой негатив руководства ясно даёт понять, что вас стали отвергать и вытеснять из коллектива, особенно если звучат отговорки "я - начальник, я так хочу" или "вопрос закрыт", при этом никакого внятного пояснения нет. И как бы вы не защищали мнение конечного пользователя, победителем окажется тот, кто платит. Так что, забывать самодурство никогда не стоит. Его необходимо пресекать, чтобы команда не разрушилась. Есть поговорка "рыба гниёт с головы". Если родители не любили своего ребёнка, то и он не сможет подарить её кому-то. Если все члены группы разработки имеют единую цель - качественный продукт, то есть как лучшие родители любят одинаково своё дитя, то их труды не пропадут зря: полезное ПО нужно всякому юзеру, человек с достаточным объёмом семейной любви востребован в любом сообществе. 

Лелейте свой продукт, но не прикипайте к нему. Вкладывайте в него своё усердие, но помните о грядущей разлуке, чтобы не пришлось лить слёзы, как провожающей свою дочь замуж матери. Пусть ваше ПО растёт в заботе, но не чрезмерной опеке. В крайнем случае, всегда же есть техническая поддержка.


среда, 9 июня 2021 г.

Пророчества

Иностранная литература о профессии тестировщика называет то, о чём хочу сегодня поговорить, - ShiftLeft. А по-русски такой метод работы можно назвать - пророчество.
В обязанности тестировщика входит оценка существующего программного обеспечения на предмет его совершенствования. При внедрении новшеств именно тестировщик должен просчитать положительные и отрицательные моменты для пользователя при реализации функционала. Тем самым, тестировщик становится прорицателем ситуации, если не доносит проектировщикам неопровержимые доказательства своих гипотез. Но поскольку большинство предположений тестировщика строятся на интуиции, то зачастую к нам относятся негативно и считают, что это мы "накаркали провал".
Генеря идею аналитики рассчитывают только на успешный исход, но тут вмешиваются тестировщики и, задавая самые неудобные вопросы, превращают "красивую картинку" проектировщика в прах. Группы разработчиков, прислушивающиеся к комментариям тестировщика, вовремя реагирующие на упаднические линии в производстве, умудряются действительно прийти к положительному результату при внедрении своего ПО. Ну а самовлюблённые руководители проекта, надеющиеся на авось, упрямо продвигают лишь собственное мнение. И, конечно же, при полной неудаче в конце концов всю вину скидывают на нас же, тестировщиков, как на "мальчиков для битья".
Из этих комментариев стажёры IT-индустрии могут сложить картину своего будущего. Никаких результатов своего труда вы не сможете "пощупать", если станете тестировщиком ПО. Хотя, здесь есть лазейка. На обсуждениях новшеств постарайтесь записать все слова, сказанные каждым членом группы разработки. А после успешного и провального внедрения переслушайте (или перечитайте) записи. Этим вы сможете проанализировать собственную интуицию: предугадали ли вы исход спринта, задали ли вы конкретные вопросы уточнения мелочей производства, заставили ли вы аналитиков продумать все возможные ситуации пользователя.
О фразе "я же говорил(а)" в монологе одного из начинающих артистов оригинального жанра есть мнение довольно неприемлемое в профессии тестировщика. Комик агитирует уходить от тех, кто выслушал ваше мнение на этапе идеи, но не последовал вашим рецептам в процессе реализации. Он аргументирует такой совет тем, что если эти люди забили на вас в начале пути, то по прошествии события в точности по вашим пророчествам во фразе "я же говорил(а)" смысла уже никакого нет. Но здесь никак не могу с ним согласиться. После спринта проходит ретроспектива, где вся группа разработки обсуждает успехи и неудачи прошедшего этапа. Именно на этом мероприятии тестировщик может в полной мере ощутить ценность своей работы, сравнив свои предсказания с полученным результатом.
Приведу несколько примеров из собственного опыта.
Долгие годы компания ConquestSS разрабатывала десктопный продукт SQLDetective для работы с базой данных Oracle в операционной системе Windows. По примеру ОС в приложении существовала панель с кнопками открытых в рабочей области модулей. Однажды владельцу продукта пришла мысль реализовать функционал таскбара в приложении наиболее приближенно к общеизвестному в операционной системе. Но шеф, выступавший иногда в роли аналитика, не собрал воедино весь известный функционал, а решил воплотить только то, чем пользовался он один. Кнопки одноимённых окон всегда автоматически объединялись, при наведении курсора на группу кнопок показывался лишь список кратких имён без отображения содержимого в минимизированном виде. Моё замечание о том, что новый функционал не имеет настроек пользователя и будет работать в неудобном формате, было письменно зафиксировано. Но упрямый владелец продукта категорично отверг моё предложение добавить настройку пользователя по выбору режима отображения кнопок в собранном по модулю режиме или самостоятельно для каждого окна. Как только новшество попало конечному пользователю, посыпалось юзерское негодование о потерянных из виду рабочих окнах. Только после этого моё первоначальное замечание было внедрено хотя бы частично. К тому же, на его реализацию потребовалось больше времени, нежели его было бы израсходовано сразу, поскольку произошла ротация ответственных программистов по продуктам и новичку пришлось изучать легаси (старый код предыдущего разработчика). Но, дабы не портить отношения с руководством, сокровенная фраза была произнесена лишь в уме, да и к тому времени у меня не было особой надобности выпячивать свой профессионализм: зарплата повышалась сама собой, авторитет у сотрудников давно заработан обильными подобными случаями.
Несмотря на то, что с момента описанных событий прошло более четырёх лет, явно действовавших лиц называть не буду, как меня приучили в ConquestSS. Да, полное совпадение поведения с героями Григоря Остера, которые не хотели предавать друга - Слонёнка. Поэтому вместо имён даю линки на их аккаунты в соцсетях.
Вторая история, которую хочу вам поведать, закончилась менее благополучно для пользователя, нежели предыдущая. Но обе ничего приятного мне, как добропорядочному тестировщику, не принесли. К сожалению, руководитель проекта всегда слишком ревностно относился к своему детищу, и это его погубило. После увеличения группы разработки неприятие чужих идей стало проявляться в нём более явно. Он игнорировал мнение разработчиков на обсуждениях замалчиванием или резкой фразой "я так решил, это не обсуждается". Удалял без предупреждения не свои задачи с предложениями из BTS и в этот же или на следующий день оформлял точно такую же, но от своего имени. То есть элементарным плагиатом пытался увеличить своё барско-собственническое отношение к продукту, реализуемому целой группой разработки. Поскольку мне, как тестировщику, была давно привычна роль "на отшибе команды", то моё недовольство за игнорирование своих идей направлялось приватно лишь самому руководителю группы. Но когда подобное негативное отношение к чужому стало распространяться на всех членов команды, то взыграло моё обострённое чувство справедливости, упроченное и развитое должностью ответственного за качество, и жалоба о безалаберности самовлюблённого руководителя группы легла на стол вышестоящего босса. К сожалению, тот, кто платит, не является сильным руководителем. Босс проявил себя слабым начальником и вместо того, чтобы отдать должное "серому кардиналу" и воспользоваться его заслугами по сплочению коллектива для достижения общей цели, оставил во главе группы разработки плагиатора. На тот момент босс утверждал, что даже такой нерадивый начальник будет делать именно то, что ему нужно, то есть сводить проект к полному уничтожению. Но, как показала практика, быстрого краха им добиться не удалось, потому что группа разработки была заряжена "серым кардиналом" на довольно длительную систематичную и добротно налаженную работу. На том объёме предложений, что были мной ранее оформлены, ConquestSS продержались год (до июля 2018) в полном составе и ещё пару лет в минимальном. Под шумок эпидемии закрыли два продукта (ClearDB в марте 2020, FADEX в июле 2020), а оставшиеся два (ClearSQL, SQLDetective) вместо того, чтобы стать лучшими в линейке подобных или уникальными через реформации и декомпозицию, скорее всего исчезнут с рынка, поскольку уже слишком долго (полгода-год) нет обновлений, да и сайт застрял в 2020 году (дата копирайта внизу главной страницы). Но это только мои предположения. А что же сбылось из ранее напророченного?
Когда в ConquestSS отказались от качества и на моё место взяли маркетолога, провалившего бум провайдера-новичка, то ему были даны несколько советов по построению работы. Все мои предложения (в области лицензирования, обучения пользователей, поднятия статуса продуктов у самих разработчиков, ученических версий для привыкания к продукту), не требующие глубокого погружения в предметную область, были реализованы специалистом по продвижению продукта на рынке и сыграли свою благоприятную роль. А вот к предупреждениям о возможных подлянках со стороны владельца продукта маркетолог вероятно не прислушался. Вся его годовая работа по привлечению пользователей была одномоментно выброшена в мусор. Статья "ПроЛОГОведение" частично об этом случае рассказывает. Лично мне было бы очень обидно, если бы группу в соц.сетях, набравшую моими усилиями большое количество подписчиков, вдруг кто-то удалил без возможности восстановления, да ещё и переименовал проект. То есть маркетологу оставалось только начать абсолютно всё с нуля - привлекать юзеров к новоимённому проекту, потеряв доброе имя поставщика стабильного продукта. Как уже было сказано, маркетолог не сильно разбирался в предметной области, поэтому не смог реализовать мои предложения по развитию самих продуктов. А ведь именно это могло спасти проект в тот момент, когда начался конец ConquestSS. Но он был неминуем. Во время моего разговора с боссом прозвучала его оговорка по-Фрейду, смысл которой был озвучен основной группе разработки: "Боссу мы не нужны и он мечтает о закрытии ConquestSS". Да, он давно жаловался, что мы - убыточный проект. Но эти верные работники много раз его выручали и соглашались на низкую оплату труда, либо бесплатную поддержку. Только ни CustDev, ни Agile в исполнении шефа не спасли проекты, а чуйка ответственного за качество никак не пробила упрямство самовлюблённого начальника. И, как итог такого эгоизма, крах неизбежно наступил. Даже предупреждённые программисты лишились работы. А тестировщик - не пророк, это просто его должностная обязанность читать между строк и слышать мысли, увязывая их с предшествующими событиями.
Надеюсь, что моё третье пророчество будет с хэппи-эндом. IT-сфера меня привлекла и тутже поглотила в 1986 году. Как понимаете, знания мне приходилось выуживать не из готовых учебников, а собственным опытом. В последнее время повышать квалификацию стало проще, ведь появились конференции наших специалистов, где в результате быстрого общения объём нового моментально распространяется. SQA Days явились первыми вестниками знаний широкого круга и даже выделили в отдельное течение аналитиков, охватили европейскую аудиторию тестировщиков. Когда конференции были в диковинку, тем и докладчиков было намного больше свободных мест. Но с годами наблюдаю, что в докладах исчезла новизна идей. Вероятно с приходом сертификации нашей работы, то есть сконцентрировав все правила в одном документе, у специалистов нашей профессии наступила остановка вливания новых идей. Мы вышли на плато. Все накопленные опытом знания уже озвучены, доклады на последних конференциях за пару лет повторяют себя в основном. Зачем же теперь стремиться поучаствовать в SQA Days? Разве что, ради бесплатной рекламы самого себя. Никаких прорывных новых идей, к сожалению, уловить на них не получается. А мусолить то, что уже известно всем - только трата времени попусту. Однажды выступив на конференции и получив положительный отзыв от куратора, меня активно зазывают стать докладчиком. Но за этими звонками я с точки слуха тестировщика предчувствую, что мной просто на просто пытаются закрыть дыры снизившейся популярности мероприятия. Но, уж если на то пошло и организаторы конференций не способны достичь кворума, может объединить все три конференции в одну? Тем более, что между тестировщиками и аналитиками к сегодняшнему дню уже почти стёрлась граница в должностных обязанностях. Ситуация закрытых границ между странами только положительно влияет на конференции, потому что для он-лайн режима появились, или вернее сказать улучшились, условия связи и проведения мероприятий. К тому же цена такого общения значительно дешевле, нежели очного. Так что, если организаторы конференций IT-Conf объединят все три мероприятия в одно, пригласят к участию больше иностранцев, переведут всё в он-лайн режим и максимально снизят плату за участие (в данном случае возможность быстрого общения с знаменитостью или получение ответа на жгучие вопросы от большой аудитории), то конференция останется в топе аналогичных. Появившиеся недавно конкуренты (Heisenbug, TechTrain и иные подобные) очень быстро наступают на пятки и даже в каком-то смысле обгоняют, привлекая к участию более глубоко практикующих специалистов.
В рамках профориентации эта статья скорее сослужит недобрую службу, поскольку показывает нашу профессию с самой неприятной стороны. Тестировщик одновременно должен и предугадать конец, и предложить несколько путей по минимизации провала. Но в любом случае вину за неудачи скинут на того, кто их "пророчил". Психологически быть тестировщиком - очень сложная задача. Постоянный риск комплекса "носителя плохих вестей", если вы добросовестный и ответственный работник, на мой взгляд минимизировать можно лишь двумя путями. Либо программисты перестанут плодить баги, тогда вы прекратите грустно отчитываться на стендапах об увеличенном потоке возвратов и регрессов. Либо вы станете пофигистом, тогда рост багов вас никак не будет задевать, но в этом случае вероятна потеря интереса к профессии. А если вы приучите свою психику радоваться чужим ошибкам, то никакой социум вас не подпустит к себе, поэтому сначала вы перейдёте в разряд интровертов, потом мизантропов и аутистов. Но к этому моменту вас лишат рабочего места в группе разработки, да и на аутсорсе одиночки-фрилансеры - явление редкостное. Так что, вовремя контролируйте свой внутренний конфликт отношения к чужим промахам. Не бойтесь обрисовать во всех чёрных красках плохой конец, но при этом подготовьте и "рояль в кустах", и "туза в рукаве" в виде альтернативных путей по достижению цели постановщика задачи и в качестве отходных манёвров при приближении к пропасти. Не скрывайте свои способности пророка, развивайте интуицию, если в ваших планах восхождение по карьерной лестнице. Нет, мы - тестировщики - не прорицатели, но картину будущего продукта можем обрисовать в сочных (чаще тёмных) красках.

вторник, 1 июня 2021 г.

Вижу = понимаю

Марафон докладов и обсуждений от Российского общества "Знание" породил в моей голове идею, а вернее мечту о будущих книгах. Современные технологии искусственного разума, говорящего компьютера и мультипликации на сегодняшний день развились в достаточной мере, чтобы осуществить мою мечту. Полагаю, да в общем-то и знаю, все читающие книгу люди в своём воображении рисуют картинки из тех слов, что автор сложил в предложения, абзацы и главы литературного произведения.

Кино-режиссёры и театральные постановщики показывают своё видение пьесы или романа, зачастую очень далёкое от оригинала. Если бы мне, как читателю, какая-нибудь программа для компьютера, созданная МОИР-ом (Мастер Обучения Искусственного Разума), или электронной книги предоставила возможность нарисовать главного  героя по описанию писателя, а затем раскрасить фон в точности со словами из предисловия, то последующее наложение анимационных технологий автоматически сформирует мультик по всему сюжету книги. Вы ведь тоже у себя в голове прокручиваете такое кино?

Да, соглашусь, что чтение повышает грамотность и улучшает работу мозга в целом, а просмотр видеоряда тормозит мыслительные процессы: читая очередную главу вам обязательно надо держать в одном из уголков мозга ранее усвоенное, чтобы текущая информация получилась адекватной, понятной, логичной и уместной. Если же информацию получать из мультика, то наш мозг из творца и созидателя превратится только в тупого потребителя. Со временем обленится и перестанет требовать наполнения для обработки, станет только работать по поговорке "в одно ухо влетело - в другое вылетело".

Но для иностранных произведений видео-книга стала бы лучшим решением, как сегодняшние аудио-книги и экрано-озвучки для слабовидящих. Как вы думаете, почему у японцев так сильно развилось такое творчество, как комиксы? Им некогда вчитываться в текст книг, потому что много работают. А пролистав картинки, они успевают отвлечься от производственных мыслей за несколько минут, вместо нас, отдающих от получаса перед сном грамотному тексту.

Ещё одна мысль о мультфильмах. Почему этот продукт существует только для детей? Куда пропали взрослые мультики? Например, "Скамейка" о многом заставляет задуматься, что и является главной целью любого литературного произведения. У СоюзМультФильма есть множество путей монетизации контента не только в качестве обучалок для малышей, но и визуализируя русскую фантастику.