Литмир - Электронная Библиотека
Содержание  
A
A

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

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

Чуть позже мы еще вернемся к этому вопросу. А пока…

Ошеломлены? Спокойствие, только спокойствие

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

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

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

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

Вопрос Джону!

Слушай, да в этой книге просто гора ссылок! А еще ты рекламируешь кучу своих и чужих продуктов. Что за фигня, чувак?

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

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

(Кстати, если вы откроете ссылку https://simpleprogrammer.com/products/careerguide/links/, то попадете на страницу со списком ВСЕХ ссылок в книге, сгруппированных по главам.)

А что касается ссылок на другие мои проекты… Да, вы правы, это действительно реклама. Вы имеете полное право назвать меня меркантильным, но я предпочитаю называть это иначе – «быть умным».

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

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

Глава 4. Как развить технические навыки

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

Вам всегда будет куда расти, если захотите. Надо сказать, что лично я потратил немало времени в попытках развить свои технические навыки, идя не в том направлении.

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

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

Как научиться быстро учиться?

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

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

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

Основы

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

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

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

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

Далее приступайте к погружению в тему. Сверяясь с планом, изучите в каждом модуле достаточное количество информации, чтобы запустить процесс обучения, а потом попробуйте «сыграть» самостоятельно. После чего отдельно поработайте с вопросами, которые были непонятны в процессе «игры». Так вы сможете обучаться на практике.

9
{"b":"836593","o":1}