Понимаю, что вы увидели весьма внушительный список того, что нужно знать, чтобы стать разработчиком. А ведь мы только начали. Я более чем уверен, что из всего вышенаписанного вы поняли далеко не все, да и вообще пока слабо представляете, с чего следует начинать изучение всех этих штук.
Не переживайте, все так и должно быть. Вам не нужно знать все это прямо сейчас (если, конечно, вы уже не работаете программистом). Ну а если вы и правда являетесь действующим разработчиком и при этом понятия не имеете обо всем вышесказанном, то фу такими быть! Я, конечно, шучу, но не знать такое и правда стыдно.
В любом случае, я собираюсь охватить большинство из этих тем более подробно в части «Что нужно знать о разработке ПО». Поэтому можете пока расслабиться.
Далее мы поговорим о том, как получать технические навыки в целом. Поэтому, когда вы дойдете до главы, посвященной этим самым навыкам, этот материал не застанет вас врасплох.
Вопрос Джону!
Слушай, да в этой книге просто гора ссылок! А еще ты рекламируешь кучу своих и чужих продуктов. Что за фигня, чувак?
О, я даже рад, что вы об этом спросили. Давайте сначала поговорим о ссылках. Да, в этой книге их полным-полно, но вы не обязаны переходить по каждой из них. Открывайте лишь те, что интересны лично вам. Эти ссылки ведут на дополнительную информацию по той или иной теме. Я указываю их только потому, чтобы вы могли сильнее погрузиться в заинтересовавшую вас тему.
Честно говоря, большинство ссылок ведут на мои посты в блоге или видео на сайте YouTube, где я обычно раскрываю какую-либо тему гораздо шире. Ну или просто потому, что я посчитал их чертовски интересными.
(Кстати, если вы откроете ссылку https://simpleprogrammer.com/products/careerguide/links/, то попадете на страницу со списком ВСЕХ ссылок в книге, сгруппированных по главам.)
А что касается ссылок на другие мои проекты… Да, вы правы, это действительно реклама. Вы имеете полное право назвать меня меркантильным, но я предпочитаю называть это иначе – «быть умным».
Книги стоят не так уж и дорого. Так что написание собственной книги вряд ли можно считать рецептом обогащения. Скажу больше, если вы пишете книгу, у вас обязательно должна быть еще какая-нибудь мотивация для этого занятия, кроме заработка денег. Одной из причин, по которой я написал эту книгу, является продвижение других моих продуктов, которые, по моему мнению, могут принести вам пользу.
Я не считаю, что ссылок слишком много. И уж тем более я не принуждаю вас покупать хоть что-то по этим ссылкам. В этой книге больше 600 страниц и, по-моему, она ценна уже сама по себе.
Теперь, когда вы ознакомились со всем этим длинным списком необходимых технических навыков, вам, наверное, интересно, как вообще следует их развивать и сколько времени это займет. Но пусть вас не беспокоит вопрос времени. На всем протяжении карьеры разработчика вы будете постоянно заниматься совершенствованием своих навыков. Воспринимайте этот перечень как увлекательное путешествие, а не как конечную точку.
Вам всегда будет куда расти, если захотите. Надо сказать, что лично я потратил немало времени в попытках развить свои технические навыки, идя не в том направлении.
Однако, создав в течение трех лет более пятидесяти узкоспециализированных учебных курсов для программистов, я научился молниеносно развивать технические навыки, попутно обучая им других людей.
Раньше я думал, что лучший способ освоить то или иное техническое умение – это взять большой справочник и прочитать его от корки до корки. О, я прочел просто невообразимое количество книг, в каждой из которых было минимум 800 страниц. Надо сказать, это занятие не принесло мне хоть сколько-нибудь значимой пользы. Разве что мои руки, возможно, подкачались от их веса. Я не хочу, чтобы вы допускали те же ошибки, которые в свое время сделал я. Наоборот, я хочу показать вам гораздо более эффективный способ освоения новых умений.
Перед тем как мы перейдем к изучению технических навыков, давайте немного отвлечемся и поговорим о том, какие бывают способы быстрого обучения чему-либо и о самообучении в целом. В следующей главе этого раздела мы рассмотрим тему самообучения более подробно, а пока я хочу остановиться на основах и поговорить о методологии, которую использую для быстрого изучения чего-либо.
Я уже говорил, что потратил немало часов своей жизни на изучение и преподавание различных технологий. Бывало даже так, что я за несколько недель полностью изучал какой-то язык программирования, после чего делал поворот на 180 градусов и шел его преподавать. В процессе я разработал довольно надежную систему освоения любого необходимого навыка, причем это было не столько сознательное усилие, сколько естественное следствие моих действий. Я пытался учиться так быстро, что мне приходилось придумывать эффективные способы добиваться этого и, естественно, развивать модели обучения, которые помогали мне все быстрее и быстрее осваивать новые умения.
В этой части книги я сделаю лишь краткий обзор основ быстрого обучения, а если вас интересуют подробности, то в главе «Мой десятишаговый процесс» (а также в некоторых других главах) моей книги «Путь программиста. Человек эпохи IT» вас ожидает целый курс, посвященный этой теме.