Ах, Франклин, этот парень всегда говорил глубокие истины. Эээ, можем ли мы действительно стать великими программистами, просто рано вставая и рано ложась спать? Ранние пташки могут заразиться червями, но что происходит с ранними червями?

Однако вступительное заявление Франклина действительно попало в цель: знания и опыт действительно являются вашими самыми ценными профессиональными активами.

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

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

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

Портфель знаний.

Мы можем рассматривать все, что программисты знают о вычислительных процессах, областях, в которых применяется их работа, и весь их опыт, как свой портфель знаний. Управление портфелем знаний очень похоже на управление портфелем финансовых инвестиций:

1. Постоянные инвесторы имеют привычку регулярно инвестировать.

2. Диверсификация является ключом к долгосрочному успеху.

3. Умные инвесторы балансируют в своем портфеле консервативные и высокорисковые и высокодоходные инвестиции.

4. Инвесторы покупают дешево и продают дорого для получения максимальной прибыли.

5. Необходим периодический пересмотр и ребалансировка инвестиционного портфеля.

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

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

Создание портфеля знаний.

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

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

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

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

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

Среди всех этих руководящих принципов наиболее простым в реализации является приведенный ниже.

(Мягкие навыки для программистов:unstopable.gumroad.com/l/btxvm)

Регулярно инвестируйте в свой портфель знаний.

Цели.

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

· Изучайте новый язык каждый год.

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

· Читайте техническую книгу каждый месяц.

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

· Читайте также нетехнические книги.

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

· Пройти курсы.

Поищите интересные курсы в местных университетах или в Интернете. Возможно, вы найдете их на следующей бизнес-выставке или технологической конференции.

· Присоединяйтесь к местным группам пользователей и форумам.

Не будьте просто членом аудитории; активно участвовать. Самоизоляция вредит вашей карьере; Узнайте, чем занимаются люди за пределами вашей компании.

· Попробуйте разные среды.

Если вы работаете только в Windows, потратьте некоторое время на Linux. Если вам нравятся простые редакторы и файлы Makefile, попробуйте новейшие и сложные IDE, и наоборот.

· Будьте в курсе.

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

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

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

Возможности обучения.

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

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

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

Критическое мышление.

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

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

(Мягкие навыки для программистов:unstopable.gumroad.com/l/btxvm)

Критически анализируйте то, что читаете и слышите.

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

· Спроси почему?" в пять раз.

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

· Кому это выгодно?

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

· Какова предыстория?

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

· Когда и где это может работать?

При каких обстоятельствах? Уже слишком поздно? Еще слишком рано? Не зацикливайтесь на первоочередном мышлении (что будет дальше); заняться второстепенным мышлением: что будет после этого?

· Почему это проблема?

Существует ли базовая модель? Как работает эта базовая модель?

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

(Мягкие навыки для программистов:unstopable.gumroad.com/l/btxvm)