Технология увлекательна. Это недостающее звено, которое воплощает мечты завтрашнего дня в реальность. Это также привлекательная карьера для многих - инженеров, менеджеров, предпринимателей и всех видов решателей проблем.
К сожалению, здесь есть и загвоздка. Подвох заключается в постоянно меняющемся технологическом ландшафте в сочетании с беспрецедентным обилием информации. С чего начать и как оставаться сфокусированным и, в общем, актуальным? Не кажется ли вам это знакомым?
В этой статье я хотел бы поделиться несколькими "хаками", которые позволили мне войти в курс дела после того, как я дважды менял направление своей карьеры. Каждый раз, когда я бросалась в новую воду, мне приходилось учиться плавать. Теперь, когда я оглядываюсь на последние 10 с лишним лет своей профессиональной карьеры, я хотел бы поделиться своими мыслями о том, какие приемы обучения сработали.
Крыша и фундамент
Позвольте мне сразу перейти к делу. Чтобы решить проблему, нужно ее понять. Хотя это звучит очевидно, большинство из нас никогда не рассматривают проблему только под одним углом. Как люди, мы склонны формулировать их в привычных для нас терминах и использовать язык, связанный с нашим прошлым.
Однако, когда нас просят предложить решение, нередко оказывается, что реальность часто ускользает от жестких рамок нашего мышления, и найти выход оказывается совсем не просто. Один друг однажды сказал, что "если ты молоток, то все выглядит как гвоздь". Чтобы понять, насколько это правда, оглянитесь вокруг и найдите случаи, когда люди терпели неудачу, несмотря на самые лучшие намерения.
Итак, как же получить вторую перспективу?
Подумайте о доме. Хорошее здание не может существовать ни без крыши, ни без прочного фундамента. Вы можете думать о нем как о наборе функциональных характеристик, таких как способность обеспечить кров, хранение или защиту. Вы также можете думать о нем как о соединении материалов, конструкций, кирпичей и всего остального, чем он физически и является. Оба способа верны, но они подчеркивают разные вещи. В зависимости от уровня абстракции, мы можем работать на "уровне характеристик" или "уровне первых принципов" (крайний пример), но чтобы быть хорошим "решателем проблем, связанных с домом", нужно владеть и тем, и другим.
Исходя из моего опыта, в любом задании ключевой задачей всегда было выявление связей между высокоуровневыми характеристиками бизнеса и конкретными используемыми методами и тканями - почему они были использованы? Почему они использовались именно так? Было ли это так, как должно было быть? Или это просто имело наибольший смысл в то время?
Знайте, что задавая эти вопросы, вы можете заставить людей защищаться, поэтому рекомендуется соблюдать осторожность. Тем не менее, задайте их себе. Они помогут вам соединить теорию с практикой и, возможно, с более эзотерическим социальным контекстом.
Все дело в картировании процесса принятия решения.
Постройте сарай
Чем больше здание, тем больше времени и усилий требуется для его возведения. Мало того - многие здания предназначены для выполнения нескольких функций или были построены и преобразованы в разное время при разном управлении или законах. В некоторых местах на строительство уходили десятилетия (если не столетия).
Хорошая новость заключается в том, что (обычно) не так уж много нужно, чтобы понять суть процесса. Хотя сарай, безусловно, не является полноценным домом, для его создания необходимо решить достаточно много менее значительных проблем и задач. Часто самыми важными являются шаги, требующие принятия решений.
Когда я начинаю новую работу или проект, одной из моих первых целей является определение домашнего проекта, который в некоторой степени похож на то, что я должен делать профессионально. Не нарушая секретов и этики, я пытаюсь создать "сарай" и представить, что это продукт для воображаемого клиента. Иногда это полезный гаджет или приложение для моих близких, иногда бесполезный кусок программного обеспечения, который неизбежно сгниет. Что бы это ни было, это всегда ускоряет мое понимание того, "что происходит".
Как уже говорилось ранее, решающим моментом является принятие проектных решений. Они влияют на все: выбранные компоненты, библиотеки, подходы, интерфейсы, инструменты, способы проверки результатов и распределение человеческих ресурсов (читай: мой сон). В отличие от чистого обучения через чтение книг или решение задач по кодированию, опыт прохождения через весь процесс создания дает тот опыт, который имеет значение. Кроме того, что самое приятное, за неудачу не наказывают - только учат.
Это может быть некрасиво
Ваш домашний проект - сарай - это свидетельство вашей работы. Он не обязательно должен побеждать на конкурсе красоты. Если ключевым моментом продажи не является его внешний вид, вы можете быть совершенно счастливы, пока он выполняет свою работу.
Обычно, работая над своими проектами, я стараюсь оставить одну или две конкретные области более "исследовательскими", а все остальное сделать менее сложным - возможно, даже использовать некоторые готовые компоненты. Тем не менее, исследовательская область - это то место, где я пытаюсь построить свой сарай из первых принципов, чтобы получить более фундаментальное понимание. Например, вы хотите изучить docker. Имеет смысл создать реальное приложение, которое будет обслуживать вашу прогностическую модель, и развернуть его с помощью "нового" инструмента. Вместо того чтобы сосредоточиться на всех аспектах вашего "продукта": моделирование, веб и т.д., попробуйте "докеризировать" простое приложение несколькими различными способами.
Со временем вы, возможно, захотите более подробно остановиться на других областях. Однако работа по всем фронтам утомляет, и вероятность получить эндорфиновый кайф, закончив начатое, снижается. Если вы пристраститесь к таким пинкам, вы будете часто доставлять свои "сараи". Со временем они превратятся в маленькие домики!