Читать книгу Путь в ИТ - Елена Правдина - Страница 6

Design
Как выбирать информацию

Оглавление

Меня всегда раздражали онлайн-уроки, выложенные неизвестно кем на YouTube, книги вида «Осваиваем PHP за неделю» и прочие сочные источники, своими заголовками больше напоминающие новостные статьи желтой прессы. Всегда возникал вопрос: зачем вы тратите время на многочасовые просмотры сомнительных видео и чтение подобных книг? Просто пойдите и сделайте. Смотреть 60 минут урок, где пишут 1 строчку кода – что может быть неэффективнее! Идите соберитесь, почитайте документацию, напрягите мозг. Вы же не развлекаться сюда пришли и смотреть видео с котиками. Займитесь делом. И если после этого заявления вы всё еще здесь – отлично, сойдемся на том, что кому-то такой подход ближе и, смотря затянутые часовые ролики про вывод «Hello world!» от эникейщика, вы вдохновлены и верите, что способны перерасти в высококлассного специалиста, – что ж, «на войне все средства…». Но для серьезного подхода нужны качественные, профессиональные и глубокие источники.


Заложите фундамент.

Скучная теория? Увы, она важна. Форму над содержанием можно несколько скрасить, но суть останется неизменной – вы должны впитать, осознать, выстроить в своем сознании базис.

Если вы начинаете с нуля и самостоятельно, найдите фундаментальные источники:

– программы мировых университетов;

– списки рекомендованной ими литературы;

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

– курсы на Coursera, достаточно древние, с хорошими рейтингами, от уважаемых лекторов;

– в конце концов, школьные учебники по информатике!

Если вы студент профильной специальности, данный шаг можно опустить – система сделает основное за вас. Единственно, студентам бывшего СНГ и не-западных стран стоит дополнительно проделать всё вышеописанное с программами вузов США, Европы, Израиля – скорее всего, там вы найдете более современные источники, что поможет проще адаптироваться к реальным практическим условиям впоследствии.

Если вы начинаете с минус одного и самостоятельно – тогда, так и быть, позвольте себе посмотреть несколько вышеупомянутых поверхностных и легких лекций или онлайн-уроков: по ИТ-сфере в целом и отдельно по перечисленным выше базовым направлениям. После чего вернитесь к пункту ноль и обратите свое внимание на менее развлекательные на вид, но жизненно необходимые фундаментальные данные. Ряд современных методик эффективного чтения советуют сначала внимательно изучить оглавление, вдумчиво прочитать название каждого раздела и подраздела, затем бегло пролистать книгу. Такие действия направлены на создание в мозге некоего базового структурного каркаса, который будет расширяться деталями и наполнять ранее подготовленные ячейки памяти более подробными материалами. Аналогично, просмотр «поверхностных лекций» выполнит функцию формирования скелета материала, который впоследствии потребуется обернуть в релевантные ткани. Тогда к следующему этапу вы уже осознаете что-то, и знания будут наслаиваться, встраиваться в уже осмысленные аналогии.

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

Старайтесь понять концепты вглубь, осознавайте, представляйте в голове. Перечитайте несколько раз, поставьте на паузу и пересмотрите. Запоминайте по правилам когнитивных искажений: делая нелепые аналогии, создавая неприличные связи. Рисуйте образы на бумаге. Остановитесь и найдите взаимоотношения нового с известным. Не продолжайте, пока не поймете. Способы обучения не тема книги – но всё вышеперечисленное срабатывало лично для меня, и я считаю нечестным не обратить на них ваше внимание.

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

Выбирайте из авторов успешных программистов, основателей всемирно известных ИТ-компаний, уважаемых профессоров университетов, создателей популярных open-source решений, признанных лекторов и простых близких вам по духу разработчиков – всех, кто добился много сам, всех, кто вас мотивирует и кто способен правильно разложить костер, который вам останется зажечь своим усердием, острым умом и мечтой.


Стройте стены.

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

Рутинный труд. Одинаковые кирпичи.

Например, вы изучили основы языков программирования, алгоритмы и веб-устройство. Вы хотите обучиться фронтенду. Тогда найдите все известные достойные книги по Javascript, CSS. Прочитайте их. Найдите сайты – обучающие порталы по теме (вроде learn.javascript.ru) и пройдите их, найдите мене известные и более узкие книги по «лучшим практикам JS», с решением повседневных задач CSS, старомодные, но небесполезные для нулевых знаний книги, уроки, сайты по JQuery. Чем дальше, тем сложнее находить новое в материалах. 90% информации будут похожи – они дадут вам то самое повторение, а 10% будут новой крупицей, только у этого автора, этого источника. И продвинут вас вперед среди прочих. Нельзя прочитать только одну книгу по теме. Возьмите вторую, третью, четвертую, отсейте субъективизм автора, твердо запомните общее.

Стройте параллельно – задействуйте альтернативные каналы: помимо классических книг и фундаментальных лекций подключите к своим источникам статьи, книги «среднего звена» и те самые курсы. Но вот последние в современном мире отберите тщательно.

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

Но не для профессионального становления. Учение не игра, не сборка машинки. Иначе – это поддержание инфобизнеса и средства заработка предприимчивых любителей быстрого дохода. Да, и от таких курсов/лекций/семинаров для вас может быть польза, отличная от нуля. Только если хотите идти по такому пути – сначала копайте глубже. Заложите тот самый фундамент. Это позволит построить базис, по которому вы сами сможете делать выводы и строить новое. Данный факт можно использовать в качестве самопроверки. Дают или дадут ли вам нужные знания, не пытаются ли сделать заложником? Не придется ли за любым советом обращаться на отдельных условиях и продолжать дальше только у них? Хорошая система должна уметь учить. Закладывать основу, поднимать на уровень выше, или, как принято в ИТ, – на мета-уровень, – уровень более высокий, чем вам нужно для решения демо-задачи. Вы должны понимать, что за этим стоит.

Вот вам мой случай с тем же Ардуино, но для взрослых. Для меня с детства радиоэлектроника была чем-то таинственным, страстно желанным и по стечению моды времени прошедшим мимо меня. Признаться, уже в университете мне впервые довелось взять паяльник в руки и смастерить под чутким надзором примитивнейшую схему из резистора, лампочки и батарейки. Моему восторгу не было предела, но тогда дело на том и закончилось. Несколько позже я даже пыталась честно освоить советские книги по радиоэлектронике. А потом настал бум плат Ардуино, Raspberry Pi и готовых наборов. Я с огромным воодушевлением стала обладательницей одного из них и занялась поиском в сети уроков для новичка. Нашлось много платных, а из бесплатных первым попался курс, где к каждому уроку прилагалась волшебная бумажка. Ее следовало наложить на плату и проколоть в обозначенных точках контактами деталей, закрепив их таким образом в нужных местах. Но зачем?! Моему возмущению выбранной методикой не было предела. Чтобы, наигравшись, заказать еще бумажек? Это плохой пример. А вот хороший. Объяснить принцип построения панели, как проходят дорожки – где земля, где питание. Как понять самому, в какие разъемы крепить деталь. Как кодируются резисторы – да-да, это те самые разноцветные полосы на корпусе. Каждая из них один разряд, третья – количество нулей. Именно так, а не «возьмите коричневый цилиндрик из проданного нами набора».

Точно так же очень многие онлайн- и офлайн-ИТ-курсы сейчас страдают вырванностью из контекста и состоят из задач, которые зрелищны и интересны, дают быстрый «вау-эффект». Это неплохо. Чтобы заинтересовать. Но вы уже и так заинтересованы! Сделайте волевое усилие, перейдите на новый уровень. Не играйтесь, учите. Подводная часть айсберга намного больше видимого завораживающего верха. Не стоит забывать про нее.

Еще один плохой пример. Курс по CSS, построенный так, что уже уроке на третьем, после самых азов синтаксиса и имеющихся свойств, обучаемому предлагаются анимации. Да, это красиво. Но если дело заканчивается на выполнении бездумно скопированного кода, максимум с возможностью поиграться с параметрами продолжительности и направления, – это малополезно. А какой же вариант хороший? Где объяснят, как работают анимации, как используют ресурсы (чтобы вы не затормозили интерфейс для пользователя и не оказали ему медвежью услугу), расскажут, какие существуют альтернативные решения – например, анимация на js, научат структурировать и повторно использовать CSS-правила и приведут примеры в конце.

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

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

Во времена программирования на ассемблере или базовых версиях языка С разработчики жили в условиях почти «блокадного Ленинграда». Каждый кусочек памяти, каждый байт и принятое решение – тщательно выверялись и продумывались. И можно было смело запускать спутник с загруженной программой, изменить, перезалить которую годами не было возможности, и она продолжала работать как часы без переполнения памяти и критических ошибок долгие месяцы. ПО такого качества вы вряд ли найдете теперь даже в весьма критичных сферах безопасности и медицины. Да, время снимает свои жесткие ограничения, но однажды такой кредит доверия может обернуться серьезными последствиями. Будьте ответственны, не гонитесь за модой, а если взялись – выбирайте такие источники и учитесь так глубоко, будто ваш код станет частью системы управления космического корабля, уносящего ваших детей во имя спасения человечества.


Настелите крышу.

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

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

Писать каждый день, пробовать на практике вычитанное решение, применять потенциально полезный инструмент, заменять устаревшие фрагменты знаний новыми и латать замеченные дыры – постоянный труд, без которого всё вышеперечисленное – бесполезная и безжизненная заготовка. Помню, однажды мы проводили собеседование с тогдашним техническим директором в поисках нового фронтенд-кандидата. Однажды он задал тогда показавшийся мне неожиданным вопрос: а когда вы прочитали некую статью, скажем, как сверстать кнопку новым способом, – как вы поступаете в дальнейшем? И наиболее успешный кандидат был склонен давать ответы: пробую сделать, поиграться сразу же, набрав в редакторе/консоли. Менее успешные: запоминаю, беру на заметку на некое будущее. Почему последнее не работает – потому что поток информации огромен, и мало кто способен действительно вспомнить и воспроизвести в дальнейшем – а часто даже не способен вспомнить или найти первоисточник! И потраченное на чтение время превращается в тыкву. Практика склонна увеличить шансы на воспроизводство полученной информации в дальнейшем, связав ее с моторикой.

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


Добавьте деталей.

Что отличает мастера? Знание 1000 и 1 нюанса, способных в корне изменить результат. Когда 90% золота добыто из рудников, очень сложно выискивать 10% крупиц, рассредоточенных в десятках кусков породы. Так с мелкими секретами ИТ.

Подписывайтесь на блоги известных разработчиков, евангелистов, лекторов. Имена будут меняться, суть их важности – нет. Благодаря им вы узнаете, как лучшим образом выровнять текст, скруглить уголки при определенном стечении условий. Читайте новостные сайты, в первую очередь зарубежные. Не забывайте знаменитый Хабрахабр. Читайте в соцсетях «разработчиков-предпринимателей»: Илона Маска, Марка Цукерберга, Билла Гейтса… Именно там может встретиться та самая крупица, которая дополнит ваш багаж и позволит создать лучшее, профессиональное решение.

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

Обсуждайте. Информация, полученная в разговоре, уникальна. Здесь вы можете стать счастливым пожинателем плодов мозгового штурма – при порой шуточном и абсурдном обсуждении статьи, новости, доклада с коллегой может родиться поистине уникальная идея. Мысль, решение, которое вы больше не найдете нигде.

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

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

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

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


Советы в конце подраздела


Выбирайте тщательно. Очень тщательно.

Заложите сильные основы. Это не игра.

Изучайте альтернативные источники.

Фильтруйте инфобизнес.

Devil in details. Цените детали, как и фундамент.

Путь в ИТ

Подняться наверх