Как я работаю: Сергей Король, Technical QA Manager в Waverley Software

[В рубрике «Как я работаю» мы приглашаем гостя рассказать о своей работе, организации воркспейса, полезных инструментах и лайфхаках]

Сергей Король — Technical QA Manager с более 10 годами опыта в IT, который развивает в себе навыки тестировщика, разработчика, аналитика и менеджера. Сергей — член программного комитета и постоянный спикер крупнейших украинских конференций по обеспечению качества QA Fest и Selenium Camp, а также прошлогодний финалист конкурса Ukrainian IT Awards в номинации Quality Assurance. Автор нескольких open-source библиотек для тестировщиков, модератор и редактор крупнейшего украинского портала автоматизаторов AT.INFO. Проводит тренинги, занимается консалтингом и обучает молодых специалистов.

Сейчас Сергей отвечает за развитие направления автоматизации, активно участвует в улучшении процессов, проведении аудитов и пресейлов, а также ведет Back-end разработку и «техлидит» один из проектов в компании Waverley Software.

О себе

«Садись рядом, смотри и запоминай. Последний раз переустанавливаю тебе Windows!» — такими были слова моего крестного, который еще в далеком 2000 году третий раз подряд приезжал и переустанавливал ОС. И это спустя месяц после того, как у меня появился ПК. На следующий день меня накрыла пытливость ума, и я сам снес Windows из-под DOS через Volkov Commander, чтобы по горячим следам усвоить новый материал.

В этот период я постоянно что-то ломал и много экспериментировал с разным софтом и системными настройками. При этом чувствовал себя как рыба в воде. В свои 13 лет я и представить не мог, что во мне подрастает будущий — до мозга костей — тестировщик.

«Диплом вуза — это лишь дорогое украшение. Самому важному в жизни мы учимся самостоятельно»

Свою первую работу на должности Manual Test Engineer я получил в 2009 году, когда учился на 6-м курсе магистратуры ХПИ (кафедра «Системный анализ и управление»). Меня собеседовал мой будущий лид, с которым мы вместе учились на одном потоке в университете. Как оказалось, его отчислили после первого курса, он отслужил в армии, а к моменту проведения интервью уже два года работал тестировщиком. Этот человек очень многому меня научил и невольно заставил кардинально переосмыслить некоторые жизненные позиции.

«Самые правильные решения в моей жизни были приняты, когда я стоял на краю пропасти»

Хочешь быть лидом? Хочешь стать начальником QA-департамента? Эти вопросы мне начали задавать на четвертом году работы на позиции Manual TE. С одной стороны, это означало невероятные перспективы. С другой — огромную ответственность.

Я не зря упомянул пропасть — ощущения были приблизительно такие же, как при первом в жизни параглайдинге: ты подписался на какую-то авантюру, а через пять минут уже разбегаешься для прыжка с высоты 2,5 тысячи метров в неопределенность. Подобного рода прыжки сыграли ключевую роль в моем дальнейшем развитии: они придавали чувство уверенности в своих силах и наращивали навыки самоорганизации.

«Каким бы крутым специалистом ты ни был, всегда оставайся человеком»

Переход от Manual Lead TE сразу на автоматизатора высокой должности выглядел довольно авантюрным. Но на тот момент я уже привык к покорению заведомо высоких планок, и мне казалось, что знаний по написанию своих Selenium Frameworks велосипедов, а также умения настраивать CI/CD должно быть достаточно. А вот и нет...

В 2013 году я проходил собеседование в одну из небезызвестных контор на Senior-позицию и был, мягко говоря, закидан тряпками одним, может и хорошим, специалистом. Но его подход к интервью оставил довольно неприятные ощущения. Существует модный термин для случаев выражения своего профессионального превосходства путем высмеивания остальных — intellectual violence.

Из этой истории я извлек несколько уроков:

  • не стоит указывать в CV того, с чем очень давно не работал;
  • автоматизация — это хорошо, но без хорошего знания языка программирования это всего лишь monkey job;
  • я должен сделать все возможное, чтобы никто и никогда больше не смог поставить меня в такое положение;
  • и главное — нельзя вести себя как г**но, независимо от обстоятельств.

Переход в автоматизацию

«Синдром самозванца — отличный стимул для саморазвития»

Собеседование на Senior TAE я все-таки прошел в одной из контор. Это также открыло мне глаза на то, что Senior Senior’у рознь. У каждой компании свои требования и ожидания. Тем не менее, недавний провал еще долго меня преследовал и заставлял сомневаться в себе и своих решениях. Но, с другой стороны, такой пинок стал мощным мотиватором, чтобы глубоко погрузиться в изучение языков программирования, а также разобраться во внутренней специфике работы всех необходимых мне инструментов автоматизации. Со временем это дало свои плоды: и на карьерном уровне (в виде позиции лида), и на социальном (в форме постоянных выступлений на конференциях).

«Современный инженер — это высокомотивированный исследователь с хорошими софт-скиллами, который при необходимости без труда сможет переключиться на любую технологию»

В своем выступлении на Selenium Camp в феврале 2020 года я много говорил о развитии и перспективах автоматизаторов, о том, что мы не вправе называть себя QA, если абсолютно не понимаем, как устроены все процессы изнутри. Во многом именно желание сложить в голове весь пазл, а также довольно обширный опыт в автоматизации и побудили меня в определенный момент попробовать чистую разработку.

Спустя полгода мои привычки задавать много вопросов, системно мыслить, докапываться до любых мелочей, увлеченность абсолютно всем происходящем на проекте (Front-end, Back-end, инфраструктура, бизнес-анализ и тому подобное) привели к тому, что наш Solution Architect предложил мою кандидатуру на роль техлида — в дополнение к Back-end разработке.

Роль и обязанности

Если провести декомпозицию моего тайтла в Waverley — Technical QA Manager, вышло бы приблизительно следующее:

Technical — совокупность технических навыков, которые позволяют решать задачи разного уровня сложности независимо от направления. К примеру, проектная разработка, автоматизация, пресейл-, R&D- и консультативная деятельность.

QA — аббревиатура, которую я бы не использовал в привычном всем виде, так как один человек ну никак не сможет обеспечить качество всего продукта. Это ответственность всей команды. Поэтому я бы расшифровывал QA как Quality Auditor на уровне проектов всей компании. Меня подключают как на узконаправленные аудиты, так и на полномасштабные Architecture Review.

Manager — сюда можно отнести развитие экспертизы по Test Automation и на уровне компании (процессы, инструменты и best practices), и индивидуально (менторинг, тренинги, цели и тому подобное).

В процентном соотношении выходит приблизительно 80% проектных активностей (development, tech leading) к 20% задач масштаба компании (presale, processes’ improvements, competence evolution, audits).

Тем не менее, именно последние представляют наибольший интерес. Если говорить о presale, к нам в компанию довольно часто заходят весьма амбициозные стартапы, требующие R&D. Погружение в бизнес-анализ, участие в построении Initial Architecture и Proposal — это бесценный опыт.

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

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

При этом я не могу сказать, что лишь только эти 20% приносят мне удовольствие от работы. Отнюдь. Мозгу необходима постоянная техническая подпитка, дабы не потерять хватку. С другой стороны, после определенной ступени в карьере сознание претерпевает определенные трансформации.

Начинаешь немного иначе смотреть на проблемы, ведь угол обзора становится гораздо шире. Отпадают вопросы из серии: «Как решить?». На их место приходят совсем другие: «Каков бюджет и дедлайн?». Многие задачи превращаются в шаблонные, а зрение — в рентгеновское. Соответственно, далеко не каждый проект может оказаться достаточно интересным, чтобы надолго увлечь и приковать внимание.

Типичный рабочий день

У меня есть несколько сверхпродуктивных фаз: 9:00-12:00, 17:00-19:00 и 22:00+. В эти периоды я могу выдавать максимальную производительность. Как я к этому пришел? Достаточно было понаблюдать за своим организмом и биоритмами. Но бывают и исключения, когда мысль вообще не идет — и надо срочно переключиться на другие активности. Или, наоборот, мысли могут полететь так, что их невозможно остановить. Тогда только чувство голода может преодолеть жажду созидать :)

В пиковые периоды я выполняю творческую работу: разработка, код-ревью, бизнес-анализ (если нет выделенного аналитика), улучшение процессов и тому подобное. Остальное время распределяю на более высокоуровневые активности: собеседования, менторинг, нетехнические обсуждения и другое.

В нашей компании есть замечательный слоган — Responsible Freedom. По сути, можно работать откуда угодно, если вы качественно выполняете свои обязанности и нет жалоб со стороны клиента. На самом деле такой подход заставляет держать себя в узде и намекает на самоорганизацию.

Если мне нужно очень быстро решить какую-то проблему или реализовать маленькую фичу — я остаюсь дома. Если же задача комплексная, то наиболее эффективным будет приехать в офис для парного программирования и истязания доски различными диаграммами.

С точки зрения распределения и приоритизации задач на день, я всегда стараюсь держать наиболее важные вещи исключительно в голове. Как бы странно это не звучало, но попробовав однажды все выписывать на бумагу или в специализированные тулы, я начал со временем замечать, что мой мозг теряет хватку в запоминании информации. Я обнаружил жуткую зависимость от сторонних инструментов, без которых совершенно не мог вспомнить, а что же мне нужно сегодня сделать. Более того, с учетом разнообразных активностей на уровне компании, приоритеты частенько приходится менять на лету. Поэтому, я вернулся к идее хранения важной информации с коротким жизненным циклом (несколько дней) в голове. Соответственно, пул задач ежедневно обновляется. А при резкой смене приоритетов мозг, как ни странно, справляется с такой активностью моментально, без потребности в синхронизации с какими-либо тулами. Конечно, везде бывают исключения, и кое-что нотировать таки приходится, если мозг сигнализирует о переполнении буфера.

Сейчас, во время карантина, работаю только удаленно. Работа из дома меня привлекает прежде всего тишиной, которая способствует максимальной концентрации (да-да, детей пока нет). Минусы — отсутствие социальной активности, но в нынешних реалиях это частично компенсируется ежедневными созвонами с коллегами.

Обычно я работаю 9-10 часов в день, но с учетом нынешней ситуации с карантином немного перерабатываю. Это никак не связано с какой-то горячкой на проектах, падающим «продом» и тому подобным — просто мне нравится то, чем я занимаюсь

Если мысль пошла, то я предпочитаю закончить начатое и не переносить задачу на потом. Опытным путем выявил, что «потом» может быть сложно быстро и эффективно войти в контекст и продолжить в том же ритме.

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

В классическом случае вас бы попросили в тот же день задержаться в офисе ровно на столько, сколько вы отсутствовали. Только толку от этого не будет никакого. И скорее всего, сотрудник просто просидит это время, ковыряясь в носу и просматривая Instagram.

Поэтому, на мой взгляд, всегда нужно искать баланс. В целом за свою карьеру я успел поработать в совершенно разных режимах, включая и строгую почасовку, и довольно гибкий график. Как результат, первое место в моем личном хит-параде с точки зрения комфорта и продуктивности занимает режим Responsible Freedom.

Говорить сейчас о балансе между работой и личной жизнью очень сложно. Ведь когда мы сидим в четырех стенах, когда у нас ежедневно перед глазами одни и те же картинки, а любимый человек — в соседней комнате, привычная нам реальность искажается. С психологической точки зрения нельзя давать мозгу размывать эти границы.

Мы с супругой стараемся придерживаться того же режима, что и до карантина. Даже желаем друг другу хорошего дня, расходясь по разным комнатам после завтрака. Разве что обедать стали вместе. В остальном с точки зрения рабочих процессов ничего не поменялось. А в чем-то стало даже проще: кто заканчивает работу раньше, может легко проследить за тем, чтобы партнер не засиживался.

В течение дня я стараюсь уделять внимание и физической нагрузке. В условиях карантина это тем более важно. Закрытые фитнес-центры — это не повод беречь себя любимого до лучших времен. Мы с супругой перешли на онлайн-тренировки: карематы, гантели, музыка, тренер в телевизоре — и вперед.

Конечно, тип тренировок пришлось немного поменять: теперь мы делаем акцент на функционалке и растяжке. Но 3-4 раз в неделю по утрам вполне достаточно, чтобы хоть как-то компенсировать недостаток движений. В остальное время нужно просто прислушиваться к своему организму: он сам подскажет, когда пора встать и походить.

Подход к продуктивности

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

Бездумные попытки измерения продуктивности ключевых IT-специальностей могут привести в тупик. Ведь многие вещи оцениваются в комплексе и частенько — по косвенным признакам. Особенно в мире тестирования.

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

Вы в недоумении побежите к тестировщикам (!) с криками: «Как так?». В результате долгого и нудного разбирательства окажется, что товарищ Петров, написавший 100 тест-кейсов за месяц, вообще не понимает, как работает продукт. А его тесты не обнаружили ни одного дефекта за последние полгода. А вот Сидоров с показателем в 20 тестов только и успевает заводить критикалы и блокеры.

«Ок, — скажете вы. — Давайте ориентироваться на количество заведенных багов и их severity!». Получаете цифры, хвалите одних, порицаете других. Только на качество продукта это почему-то никак не повлияло. «В чем же опять дело?» — спросите вы.

Да все просто, Карл! Процессы-то у вас совсем протухли! Разработчики не пишут тесты, о coding standards никто не слышал, статические анализаторы не подключены, прекоммит-хуков нет, код-ревью — для галочки, весь мусор летит прямо в master. Тестировщики ничего не успевают и совершенно не слышали об impact analysis, планирование проходит в полторы калеки под пивко и Spotify (причем без Product Owner’а и бизнес-аналитика), уровень токсичности в команде просто зашкаливает. А вы в это время все меряете продуктивность тестировщиков?!

Безусловно, метрики важны и нужны. Но реальная оценка продуктивности должна идти бок о бок с показателями эффективности. А здесь уже все становится куда запутанней.

Вот несколько примеров:

  • Вася за два дня не запушил ни одной строчки кода. Ведь он продумывал то, как можно наиболее эффективно решить поставленную задачу, чтобы сэкономить команде кучу времени на реализацию и поддержку. Только вот он может вовсе и не найти оптимального решения. Означает ли это, что Вася потратил время зря? А если все же нашел, но через неделю требования переиграют? А вдруг в процессе реализации окажется неучтенным существенный нюанс — и это приведет к полному редизайну?
  • Федор уделяет по часу в день на менторинг Пети. Через время Петя начинает неистово коммитить. Внимание, вопрос: это Федор так позитивно влияет на Петю или Петя просто много времени тратит на самообучение?
  • Валя — тестировщица. Она пишет на 20% меньше тестов, чем остальные. Но на планировании всегда задает очень правильные вопросы, которые зачастую ставят разработчиков в тупик, а Product Owner’а заставляют взять паузу на обсуждение требований с остальными стейкхолдерами. Означает ли это, что Валя снимает часть рисков с команды и оказывает положительное влияние на развитие продукта? Или, может, в команде не хватает бизнес-аналитика, а Валя попросту занимается не пойми чем?
  • Макс — автоматизатор, который покрыл 90% регрессии UI-тестами, встроил свой пайплайн в development flow и регулярно коммитит в Git. Но его тесты находят не больше пяти багов за год. Означает ли это, что такие тесты — неэффективны, а он делает бесполезную работу? Или просто у разработчиков на более низких уровнях все настолько хорошо покрыто, что большая часть багов находится еще до непосредственного запуска UI-тестов?

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

Ну и давайте не забывать о человеческом факторе. Ведь смышленые IT-специалисты очень легко адаптируются к метрикам и нередко начинают подгонять цифры под конкретные ситуации

Случай из реальной жизни. Допустим, в ваших критериях к качеству прописано, что количество багов за спринт не должно превышать пяти. И вот однажды тестировщики находят целых 32 дефекта! Прибегает Product Owner к менеджеру с криками: «WTF?!» Менеджер — к тестировщикам. У всех паника, все горит, срочная ретроспектива.

В следующем спринте принимается решение вычистить все баги, с чем команда успешно справляется. Только цифру 0 в графе багов уже никто не может зарепортить, так как Product Owner подумает, что с продуктом наконец все хорошо. И, следовательно, будет очень сложно ему объяснить в следующем спринте, почему опять полезли дефекты.

Тут же возникает обратная ситуация. Тестировщиков запугали, что нельзя так много багов находить (это ж отчетность, страх гильотины). И что вы думаете? Люди просто между собой договариваются не заводить «лишние» баги перед отправкой отчета, решив перенести это на грядущую неделю. Вот вам и темная сторона метрик.

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

Под многие классические задачи у меня есть quick-start шаблоны, из которых я могу быстро воссоздать среду, необходимую для работы или прототипирования. Периодически пересматриваю свой старый код — это один из немногих способов самостоятельно понять и оценить, насколько ты вырос за фиксированный промежуток времени.

Я нахожу для себя кумиров, на которых можно ориентироваться с точки зрения саморазвития. А также порой устраиваю встряски для мозга, делая вещи, которых действительно боюсь, к примеру, публичные выступления.

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

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

Инструменты и рабочее окружение

Я придерживаюсь мнения, что самый главный источник продуктивности и эффективности — неподдельная любовь к своему делу и проактивность. А вот разнообразные инструменты я бы отнес к средствам тюнинга нашего мозга.

Начну, пожалуй, с менее абстрактного. Будь то дом или работа: личное пространство, хорошее «железо», обзорность и комфорт — это must have. В условиях карантина некоторые вещи особенно важны.

Моё окружение:

  • рабочий лэптоп Macbook Pro 13’, i5, 16Gb RAM;
  • ПК i7, 32Gb RAM, SSD + HDD (Linux + Windows 10);
  • USB-хаб на 7 слотов;
  • 2×27’ монитора с настольным креплением;
  • камера Logitech C922 (Full HD);
  • микрофон Blue Yeti Pro + наушники закрытого типа Koss;
  • роутер TP-Link Archer C1200;
  • стул KULIK SYSTEM;
  • на работе — надстройка для работы стоя STIY STIL.





Классические задачи разработки и автоматизации решаю за лэптопом. ПК в основном задействую для следующих задач:

  • Эксперименты с различными инструментами. К примеру, как-то раз мне нужно было изучить все возможности связки Jira Server + Bitbucket Server + Jenkins. Чтобы не ждать две недели апрувов, доступов и прочей бюрократии, мне проще было развернуть все у себя.
  • Поддержка пет-проектов, требующих кроссплатформенности.
  • Работа с ML-задачами (все-таки загружать, допустим, 8 Гб векторов в RAM и отъедать по 50 Гб SSD для решения точечной задачи — это overkill для лэптопа), а также распознаванием и синтезом речи в реальном времени.

Для разработки предпочитаю продукты компании JetBrains. Хорошая IDE дает серьезный прирост производительности. Когда занимался автоматизацией на Java, мне хватало одной лицензии на IntelliJ IDEA. Как только влился в разработку — сразу подтянулся JS/TS и Python стек. Ну а IoT-хобби добавило сюда еще C++. После недолгих размышлений я купил лицензию на весь Toolbox. В целом для среднестатистического инженера цена вполне приемлемая.

Из-за разброса по стекам мне частенько приходится параллельно работать в разных IDE. Потому они обычно занимают оба монитора. Если IDE нужна только одна, то второй экран всегда занят браузером: для код-ревью, анализа билдов, гугления и дебага. Экран лэптопа в основном остается для мессенджеров и дополнительных окон терминала.

К слову, терминал тоже играет немаловажную роль. Мне понравилась связка iTerm2 + Zsh. Под него есть много полезных плагинов. Ну и куда же без алиасов? Я даже своим падаванам начал добавлять в цели: «Автоматизировать часть рутинных операций при помощи алиасов/функций».

Продолжая говорить о незаменимых вещах: Docker — наш самый верный друг. И для разработки, и для автоматизации, и для экспериментов с разнообразным софтом. При работе с облаками очень спасает ngrok, если нужно быстро связать какой-нибудь сервис с локальным окружением.

Всего остального хватает и на уровне браузерных возможностей и расширений: Dev Tools, React Dev Tools, Talend API Tester, Octotree, Clear Cache, ImTranslator/Grammarly, JSONView, Jira HotLinker и JetBrains IDE Support. Ну а полезные рабочие и нерабочие линки у меня все сгруппированы в Bookmark folders.

Что касается основных средств коммуникации, то это Slack, Skype, Zoom, Hangouts и Gmail. У нас в компании официально используется G Suite, потому довольно удобно иметь все необходимое под рукой прямо в браузере. Даже с точки зрения управления почтой: Google позволяет гибко работать с несколькими профилями одновременно. У меня всегда открыты и рабочие, и личные табы. Почта всегда в поле зрения. Ну а фокусироваться на самом важном помогают фильтры и лейблы. Ввиду того, что частота приоритетных почтовых нотификаций не очень высокая, просматривать письма стараюсь ориентировочно раз в 2-3 часа, если только в тайтле не фигурирует ключевое слово «URGENT».

Все рабочие чаты организованы в Slack, что тоже удобно. Туда легко встраиваются всякие боты, календарь с напоминалками, статусы сборок и тому подобное. Здесь, помимо прямых username-упоминаний и ключевых тегов, высокий приоритет всегда у проектного, CTO и presale каналов — бывают довольно срочные запросы, которые нужно обрабатывать ASAP.

Все нерабочие каналы мессенджеров, например Telegram и Viber, у меня всегда по умолчанию стоят в беззвучном режиме.

Явный фаворит видеосвязи — Zoom, на карантине он шикарно справляется с нагрузками. Более того, если вы действительно хотите сэкономить уйму времени на обсуждении рабочих вопросов, старайтесь максимально уходить от переписок в пользу аудио- и видеозвонков. Практика показывает, что 15 минут голосового общения зачастую заменяют часы бестолковой переписки, где люди могут неправильно интерпретировать поступающую информацию, прочно затягивая узел взаимного недопонимания.

Помимо этого, я частенько задействую Zoom для тренингов, видеоуроков и консультаций. Вот здесь как раз и вступают в игру ранее упомянутые микрофон, камера и наушники. Чем более качественный контент необходим, тем больше придется уделить внимания «железу».

Если вы часто выступаете на публике, рекомендую посмотреть на ScreenBrush — это десктопное приложение, которое позволяет рисовать или писать поверх всех окон. Очень эффектно получается подчеркивать свои мысли, акцентируя внимание на важном.

Возвращаясь к вещам абстрактным, хотелось бы добавить следующее: если вы действительно кайфуете от того, чем занимаетесь, то хороший инструментарий только усилит ваши позиции, помогая мозгу быстро и эффективно материализовывать задуманное. Поэтому экономить на своей продуктивности не стоит.

Книги и самообразование

К чтению я отношусь весьма своеобразно. В школе совсем не любил читать — наверное, из-за навязанного и порой очень депрессивного материала. Сейчас же я читаю только то, что мне действительно нужно и интересно в данный момент времени. Причина очень проста. Мы живем в эпоху безграничных информационных потоков, которые породили массу соблазнов и искушений.

Ежедневно в различных соцсетях, чатах и на форумах мимо наших глаз пролетают сотни шальных ссылок на всякие статьи, видео и курсы. Они, может, интересные, но если вам сейчас это не нужно, то не стоит даже открывать их и тратить свое время. Вы лишь «зашумите» разум ненужной информацией.

Помимо этого, у технической литературы есть одна большая проблема: пока та или иная книга проходит этап ревью и публикации, информация в ней попросту устаревает. Ну и не стоит забывать, что матерые разработчики и тестировщики учились на очень древней (по нынешним меркам) литературе.

Простой пример. Допустим, ко мне приходит начинающий автоматизатор и спрашивает, что можно почитать по Java. Но я понимаю, что не могу ему посоветовать «Thinking in Java» 2006 года, по которой я учился азам. Или «Java 8 in Action» — ведь недавно был релиз 14-й. Лично мне после 8-й версии достаточно было лишь активно следить за статьями в блогах известных разработчиков и JEP’ами, вошедшими в тот или иной релиз. Практическую ценность в покупке очередной «[Language] X in Action» я перестал замечать с определенного момента. Поэтому акцентирую внимание на специализированных статьях в блогах при решении конкретных задач.

Сейчас же начал читать «Leading Quality» by Ronald Cummings-John and Owais Peer. А из недавнего нетехнического выделил бы следующее:

Так или иначе, мы всю жизнь чему-то учимся. У меня уходит на самообразование примерно 2+ часа в день. Но это может выражаться в совершенно разных формах. По характеру восприятия информации я визуал, практик и исследователь. Зачастую мне нужно вначале все внимательно «пощупать» и только потом приступать к матчасти. Сухая теория вообще не заходит на первых порах — наверное, не хватает обратной связи. Но опять-таки все зависит от контекста, целей и предполагаемой продолжительности обучения.

К примеру, если компании понадобились сертифицированные специалисты в Google Cloud и мне это тоже интересно, я буду распределять время ежедневными небольшими порциями и чередовать теорию и практику, так как общий объем материала огромен, а на выходе предполагается экзамен.

Если же я просто хочу разобраться в новом фреймворке или библиотеке, то прежде чем читать API reference, я попытаюсь его запустить по Quick Start Guide и посмотреть, как это работает.

Но тут есть обратная сторона: если нужно исследовать несколько инструментов или сервисов, то одного лишь «Hello, World» запуска недостаточно. Придется нырять гораздо глубже: изучать возможности API, пробовать писать micro-POC и тому подобное.

Подтягивать теоретическую базу по книжкам лучше в связке с реальными практическими задачами. У меня обычно для таких целей есть несколько пет-проектов, с которыми я экспериментирую в отдельных ветках

Если мозгу хочется чего-то свежего и интересного, то переключаюсь на IoT-хобби. Там и в «железках» можно покопаться, и покодить на других языках программирования.

Во всем остальном срабатывает эффект настроения. Если мне хочется отдохнуть и что-то посмотреть, то включаю условный Netflix c сериалами на английском. Для прокачки софт-скиллов и всяких философствований, пожалуй, нужен особенный настрой. В будни такое редко случается, а вот на выходных заходит неплохо.

Ну и, пожалуй, самое главное — менторинг, консультации и публичные выступления. Подобного рода активности позволяют постоянно держать себя в тонусе, на стабильно высоком уровне.

Ретроспектива и планы на будущее

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

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

Что касается молодых специалистов, которые начинают свой путь в качестве тестировщиков, — хотелось бы дать один совет. В условиях нынешней неопределенности очень важен прочный технический бекграунд. Не зацикливайтесь на конкретных технологиях — они не вечны.

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

Похожие статьи:
Міністерство цифрової трансформації 16 лютого показало список із перших 55 українських та міжнародних IT-компаній, які офіційно...
Sign-on бонуси (чи бонуси за вхід, за приєднання) — це гроші, що виплачують новим співробітникам, коли вони підписують офер...
[В рубрике «Как я работаю» мы приглашаем гостя рассказать о своей работе, организации воркспейса, полезных...
Сколько компаний, столько и мнений о том, как должен выглядеть кандидат на ту или иную должность. Тем...
On December 24 we will hold the last in this year JS Community meetup. It will be really cool and interesting, as we will not only listen to tech talks, but also participate...
Яндекс.Метрика