Автор книги: Борис ProIt
Жанр: О бизнесе популярно, Бизнес-Книги
Возрастные ограничения: +18
сообщить о неприемлемом содержимом
Текущая страница: 3 (всего у книги 11 страниц) [доступный отрывок для чтения: 3 страниц]
Первые шаги. Покупка курсов и выбор ноутбука
Итак, в тот же вечер, когда я принял решение заняться разработкой приложений на Android, я купил свои первые курсы, потратив перед этим пару часов на сравнение предложений и поиск отзывов.
Выбрав один из вариантов, я сразу заплатил за него, тем самым отрезав себе путь к отступлению.
Это, кстати, еще один очень важный мотивационный момент. Дело в том, что когда я учусь бесплатно, я воспринимаю это как занятие чисто для себя. Нет никаких обязательств и четкого пути продвижения. Пробуешь то, пробуешь это… Но с таким подходом прогресса лично у меня либо не происходит, либо он идет намного медленнее, чем когда есть четкий курс и ясное понимание целей. А без прогресса и успеха существует большой риск забросить это дело. Плюс отсутствует часть мотивации, которая важна для движения вперед.
Но стоит мне заплатить деньги, как мой подход к обучению сразу меняется. Я беру ручку, покупаю новую тетрадь и выделяю достаточно времени на освоение программы. Помимо этого, я снимаю с себя ответственность и становлюсь ведомым. Так гораздо легче. Меня ведут по пути познания, а я просто плыву по течению и двигаюсь из пункта А в пункт Б.
Однако просто купить курсы недостаточно, нужен еще нормальный ноутбук, чтобы можно было выполнять различные задания. Мне в личные сообщения приходит много вопросов о том, какой ноутбук выбрать для изучения программирования. Почему-то многим кажется, что ноутбук обязательно должен быть самым лучшим. Многие даже берут кредиты, чтобы приобрести Apple MacBook.
Мой личный опыт показал, что не обязательно сразу, на старте покупать дорогое «железо». Поскольку я решил заниматься разработкой на Android, мне достаточно было ноутбука с системой Windows. Денег на тот момент было совсем немного, поэтому я зашел в интернет и выбрал самый дешевый ноутбук фирмы Lenovo. Почему именно Lenovo? Потому что именно эти ноутбуки имеют максимальное количество оперативной памяти при минимальной цене. Во многих компаниях техника этого бренда используется для выполнения повседневных офисных задач.
Решающим критерием для покупки стали 16 Гб оперативной памяти. Этого было вполне достаточно, чтобы запустить эмулятор, необходимый для разработки приложений на Android. Единственный минус, о котором я не знал на тот момент, – что выбранный мною ноутбук создан на базе процессора AMD, который не имел функции виртуализации. Простыми словами, он не мог запускать эмулятор, на котором я тестировал бы код. Но об этом я узнал уже после того, как начал обучение. Возвращать ноутбук в магазин смысла не было, потому что аналоги стоили намного дороже. Поэтому я нашел решение в виде эмулятора Genymotion, который позволяет запускать Android на компьютерах, где эта возможность изначально не предусмотрена. Впрочем, с тех пор прошло немало времени. Некоторые подписчики писали мне, что даже на процессорах AMD уже возможна виртуализация, но я лично не проверял.
Самое главное, что за те деньги, которые я потратил на покупку ноутбука – а это было примерно сто долларов, – я остался очень доволен выбором. Я программировал на том ноутбуке до самого конца обучения, и он меня никогда не подводил.
Поэтому, если вы решаете, какой ноутбук следует покупать, я рекомендую не тратить на это огромные средства. Я бы взял ноутбук по доступной цене, с максимальным количеством оперативной памяти. Главное условие – чтобы он был абсолютно новым. Я также не рекомендую использовать этот ноутбук для других целей, потому что если вы начнете смотреть на нем фильмы, скачивать программы, устанавливать игры, это все может запустить различные процессы, которые будут работать в фоновом режиме, пока ноутбук включен. Возможно, вы не будете даже знать о них, но они со временем начнут тормозить скорость работы компьютера. Именно поэтому я покупал абсолютно новый ноутбук и ничего, кроме тех программ, которые мне нужны были для разработки, на нем не устанавливал.
Курсы, по которым я занимался в начале обучения, имели видеоформат. Я просто смотрел видео, повторял то, что говорит учитель на экране, и надеялся, что когда запущу приложение, оно будет работать так же, как и у преподавателя. Но очень часто, несмотря на то что я внимательно смотрел видео и повторял каждый символ, в итоге у меня все равно выскакивала какая-то ошибка, с которой мне приходилось возиться самостоятельно. Забегая вперед, хочу сказать, что такое может происходить на любом курсе, хоть на бесплатном с YouTube, хоть на дорогом, в классе с реальным учителем. Такова природа программирования. Более того, этот сценарий – часть обычной, будничной работы программиста. Поэтому, сталкиваясь с подобным во время обучения, вы практикуете то, с чем вы будете иметь дело каждый день: программа или приложение не будут сразу работать как надо, будут вылезать какие-то ошибки, на поиск и решение которых вам придется потратить время. В этом и заключается суть работы программиста.
Выбор курсов. Личный опыт
Но продолжим тему обучения. На самых первых выбранных курсах я учился в течение шести месяцев, и, должен заметить, это было довольно непросто. Во-первых, потому что, как я говорил ранее, у учителя всегда все работало, а у меня то и дело выскакивали какие-то ошибки. Во-вторых, мне было сложно воспринимать информацию: казалось, что преподаватель оперирует исключительно техническими терминами. Я, конечно, понимал, что программирование – это наука о технологиях, но некоторые учителя настолько увлекались использованием специализированной лексики, что порой казалось, будто я не на курсе для новичков, а где-то на лекции для продвинутых программистов.
И так продолжалось на протяжении всего обучения. За все время своего пути я поменял несколько курсов, пересмотрел огромное количество различных YouTube-каналов, переслушал десятки различных преподавателей и в итоге могу сказать, что везде было все примерно то же самое, независимо от уровня сложности самого материала.
Здесь я хочу сделать небольшое отступление и рассказать о своем предыдущем опыте обучения. Мне кажется важным сравнить стандартный подход к образованию с тем опытом, который я получил, обучаясь на курсах.
Когда я учился в школе или в университете, я ходил на занятия с понедельника по субботу в фиксированное время, с фиксированным расписанием. Такой формат обучения, безусловно, дисциплинирует. За человека уже продуман график занятий, расписание экзаменов, и ему остается только плыть по течению. Как и многие из нас, таким образом я получил полное среднее и высшее образование со степенью бакалавра.
После того как я закончил университет, у меня появилась возможность открыть собственный интернет-магазин. Не буду вдаваться в подробности, скажу лишь, что поначалу клиентов было мало. Нужно было как-то привлекать посетителей на сайт. И в тот момент я впервые столкнулся с мотивированным самообразованием[2]2
В моем понимании мотивированное самообразование – это когда вы получаете образование самостоятельно, выбрав какую-либо конкретную цель, которой можно достичь, получив определенные знания. – Прим. авт.
[Закрыть].
Как именно это выглядело: я вставал в пять утра, чтобы самостоятельно изучать принципы работы алгоритмов Google и «Яндекс», чтобы продвигать свой сайт в поисковиках и получать своих первых посетителей. Это называется SEO (Search Engine Optimization – оптимизация под поисковые системы). Благодаря бесплатным урокам на YouTube я получил свой первый заказ и смог продвинуть интернет-магазин на первые места в поисковой выдаче. В дальнейшем поток заказов стал постоянным. Что касается рекламы, то с помощью мотивированного самообразования и различных курсов, в основном бесплатных, я смог полностью изучить все актуальные на тот момент инструменты интернет-продвижения и получить такие сертификаты, как Google Adwords Specialist, Google Analytics Specialist, Google Analytics E-Commerce Specialist. А также несколько сертификатов по SEO-продвижению.
После этого, следуя все тем же принципам мотивированного самообразования, я углубился в тонкости менеджмента. Благодаря этому у меня получилось устроиться в хорошую организацию и создать с нуля отдел продаж, в котором мог работать абсолютно любой человек без какого-либо опыта. С помощью всех алгоритмов, скриптов и систем продаж, которые были внедрены, я мог зайти в любое незнакомое место и продать услугу незнакомому человеку. Таким же образом могли поступать люди, которые проходили обучение по специальной системе и продавали по специальным скриптам. И этому всему я научился на курсах, в книгах и видео на YouTube. Мотивированное самообразование помогло мне найти информацию, чтобы достичь моих целей, и я их достиг.
К чему я все это рассказываю? К тому, что имею обширный опыт получения образования во всех классических вариациях, кроме буткэмпа (учебный лагерь для интенсивного изучения программирования). То есть я учился и по стандартной схеме (как в школе или университете, где есть своя система, материалы, ученики и учителя), и по системе мотивированного самообразования, когда изучается только конкретный материал для достижения конкретной цели.
В связи с этим, основываясь на собственном опыте, хотелось бы акцентировать ваше внимание на нескольких важных моментах.
1. Никакой курс обучения не даст вам стопроцентных знаний по предмету.
Какой бы дорогой или именитый курс вы ни выбрали, в ходе обучения вы все равно столкнетесь с тем, что нужно будет искать дополнительные материалы. Где-то придется просто найти объяснение какого-то термина, а где-то – полное описание того или иного решения/метода. Иногда, чтобы сдвинуться с места в основном курсе, мне приходилось покупать дополнительные мини-курсы на других платформах или искать материалы из бесплатных источников. Я просто хочу настроить вас на то, что это нормально, так будет на любом курсе, с которым вы будете иметь дело. Я пишу это для того, чтобы, когда вы столкнетесь со сложностями, у вас были силы искать решение, вместо того чтобы расстраиваться, что курс плохо составлен.
2. Помните, что практика – залог успеха.
Здесь все просто: чтобы научиться программировать, нужно писать много кода (я говорю в первую очередь о программировании). Если на курсе вам дают только теорию и хотя бы половину времени вы не занимаетесь написанием кода, это плохой курс. Справедливость этого тезиса я ощутил на себе в начале пути, когда только постигал основы программирования. Я чувствую это и сейчас, когда изучаю что-то новое для работы. Теоретический материал по программированию в отрыве от практики усвоить очень сложно. Поэтому сейчас я иногда сразу перехожу к написанию кода и уже по ходу дела обращаюсь к теоретическим материалам. А если вы новичок, то теория просто будет входить в вашу голову, вызывать перегруз и благополучно ее покидать. Во всяком случае, так было у меня. Поэтому я считаю, что курс обучения должен состоять преимущественно из практики.
И еще одно важное замечание. Вообще в описании почти к любому курсу, с которыми я сталкивался, обычно было указано, что он основан на практике. Но в действительности я бы разделил практику на две категории. Первая категория – это когда вы практикуетесь в написании кода на том или ином языке программирования. Вторая – это когда вы занимаетесь разработкой собственного проекта.
Приведу конкретные примеры из собственного опыта. Один из курсов, который я приобрел в интернете, начинался с изучения языка программирования Java (на тот момент Kotlin еще не был в обиходе). И первые уроки начинались с переменных и написания примеров по типу: «int a = 1, int b = 2, int c = a + b. Чему равно c?» Потом я тренировался на различных задачах, но все равно испытывал недоумение: я не понимал, что и зачем я делаю, как именно я смогу применить эти знания, помогут ли они мне в создании реального проекта.
Другой курс начался с того, что мы сразу попробовали разработать приложение. Да, вот так просто. Это было примитивное приложение с одним экраном, текстом и задним фоном. Оно называлось «Поздравительная открытка», и цель его состояла в том, чтобы поздравить друга с днем рождения, написав на экране текст. Я не нашел, кого поздравить с днем рождения, поэтому просто написал приятные слова для своей жены, поставил красивый фон и дал ей прочитать.
И в том и в другом случае мы можем говорить о том, что я практиковался. Но подход был настолько разный, что темп обучения ощущался совершенно по-иному. Давайте попробуем сравнить две ситуации. Представьте, что вас на час заперли в комнате, где нет ни окон, ни мебели, забрали мобильник, сказали просто ждать и, выходя, выключили свет. И вы, сидя на полу, мучительно проживаете каждую секунду, которую вы проводите в этой темной комнате. Время тянется медленно, и вы хотите только одного: чтобы эти мучения как можно скорее прекратились.
А теперь представьте, что вас посадили в комфортное массажное кресло перед большим телевизором, включили ваш любимый фильм и рядом поставили вкусную еду и напитки. В этом случае время пролетит просто молниеносно. Вы не почувствуете, как пройдет этот час.
В обучении то же самое! Там, конечно, не будет столь сильного контраста эмоций, но суть примерно такая же.
Поэтому практика бывает разной. Если я сейчас при выборе курса вижу, что мне предлагают только слушать, смотреть и ничего не пробовать создать, я просто не продолжаю. Когда вы изучаете практику, работая над чем-то конкретным, осязаемым, вы понимаете цель ваших действий. Это имеет смысл и доставляет удовольствие вашему мозгу, даже когда процесс идет с трудом. Я помню, когда я писал «int a = b + c», я не понимал, как это связано с Android-разработкой, мой мозг отторгал эту информацию. А когда я видел, как на моих глазах появляется простенькое приложение, теоретический материал усваивался намного эффективнее.
Работоспособность такого подхода я доказал и собственным примером, выпуская видео на YouTube. В целом могу утверждать, что сам метод обучения через чистую практику работает намного лучше, чем поглощение огромного количества теоретических материалов.
Благодаря тому что материал курса изложен простым и доступным языком, он становится понятен любому человеку, даже тому, который никогда раньше не писал код и думает, что это какая-то страшная магия, доступная только людям, закончившим технический университет. Доказательством этому является множество успешных историй, когда люди, поверив в себя и используя мои рекомендации, смогли дойти до конца и осуществили свою мечту, став программистами, не имея опыта и технического образования и, что немаловажно, не потратив ни одной копейки. В этом вы можете убедиться сами, посмотрев интервью с некоторыми из этих людей у меня на канале, со ссылками на их социальные сети, где они рассказывают о том, как шли к своей цели и самостоятельно становились программистами.
Поэтому обязательно обращайте внимание на то, какую практику предоставляет курс, иначе вы потеряете много времени. А то и вовсе, «сидя на холодном полу в комнате с выключенным светом», решите, что программирование не для вас, и бросите это дело, хотя нужно было просто перейти в другую комнату.
3. Фокусируйтесь на создании реального портфолио.
Продолжая разговор о практике, хочу поделиться своим подходом, который оправдал себя полностью и помог мне при поиске работы. Он заключается в том, чтобы все время обучения программированию складывалось вокруг создания реальных проектов, которые можно будет впоследствии включить в резюме. Не решений задачек или алгоритмов (на это у вас нет времени, по крайней мере, в Android-разработке[3]3
Это утверждение справедливо, по крайней мере, для front-end-разработчиков, многие профессиональные разработчики наверняка со мной поспорят. – Прим. авт.
[Закрыть]), а создания собственных проектов для резюме.
Моей первой целью было создание трех приложений, которые можно будет разместить на PlayStore. И все мои действия были сосредоточены вокруг этой цели. Вот несколько основных вещей, которые я постоянно держал у себя в голове:
● мое время ограничено. Пока я учусь, время играет против меня, потому что чем дольше я учусь, тем выше вероятность того, что я брошу это дело. Я могу перегореть;
● проекты, которые я разрабатываю во время обучения, – это основа моего резюме. Мало кто будет смотреть на курсы, которые я прошел, в основном все будут обращать внимание на реализованные мной проекты. Поэтому основное время я тратил только на них, а все остальное – на обучающие материалы, призванные помочь мне в их реализации.
4. Программированию должны учить люди с опытом обучения или публичных выступлений.
И последний пункт, который во время обучения вызывал у меня больше всего эмоций и негодования, – это квалификация преподавателей по программированию. В рекламе тех или иных курсов я часто видел завлекающую фразу, что их ведут действующие практики-программисты из известных компаний (Google, Facebook, «Яндекс» и других). Но потом, включая урок, я слушал монотонную речь, напичканную техническими терминами, и просто записывал слова учителя в тетрадь, не понимая, зачем это все нужно. Это было сущее мучение. Я считаю, что хороший программист не обязательно будет хорошим учителем. У меня есть некоторый опыт выступлений перед аудиторией, полученный до того, как я стал программистом. Я изучал различную литературу о том, как это делается, и редко видел эти приемы в обучающих материалах по программированию.
Держать внимание аудитории – это целое искусство, и этому нужно учиться точно так же, как и писать хороший код. Я не специалист в области выступлений перед аудиторией, но все же приведу маленький пример из того, что я запомнил. Например, разговаривая с человеком, нужно постоянно переключать его внимание, особенно если обсуждается сложный материал. Сначала человек может просто слушать информацию, но потом нужно перейти на визуальное восприятие, дать какие-то слайды или иллюстрации. Потом можно опять переключить внимание и вовлечь слушателя в диалог, например, задать вопросы, чтобы он подумал, и затем обсудить ответ. И таким образом, человек не перегружается: пока один орган восприятия занят, остальные отдыхают. Этим способом мы помогаем слушателю держать фокус на сути материала. Подобных приемов работы с аудиторией масса, и они совершенно не связаны с программированием. Они изучаются отдельно от навыков написания кода.
Поэтому если я вижу такую рекламу, то всегда уточняю, имеется ли у преподавателя опыт работы с аудиторией. Ведь если я попаду к преподавателю, не умеющему объяснять сложные вещи простым языком, это может очень сильно повлиять на мое отношение к учебе.
Этот момент особенно важен, когда вы не ходите на занятия, а изучаете материал дома. Мало того что вы постигаете сложные вещи, сидя за компьютером, к этому добавляются постоянные отвлекающие факторы в виде мобильного телефона, родных, с которыми вы живете, и т. д., в то время как вам необходимо соблюдать дисциплину. По сути, в этом случае все держится только на вашем собственном энтузиазме. В таких условиях качество и стиль подачи материала становятся очень важным моментом, который может влиять на успех достижения главной цели.
Лично для себя я решил, что абсолютно не важно, учусь ли я в классе или смотрю видеоуроки. Главное здесь – подача материала. Энергетика, манера речи и лексикон рассказчика очень важны. И если с самого начала я вижу, что в материале присутствует большое количество технических терминов, для меня это ненормально. Раньше я думал, что раз я изучаю сложные технические темы, курс должен включать в себя много непонятных терминов. Но, став программистом и поработав в этой сфере, я понял, что так быть не должно. Конечно, совсем без технических терминов в обучении не обойтись, но их появление должно быть плавным и равномерным. А если я слышу формулировку «Здесь мы используем вот это, но вам это пока не нужно знать, мы это будем изучать позже», то это плохой знак. Это значит, что курс плохо структурирован либо преподаватель не может объяснить материал простыми словами. В таких случаях я прохожу еще максимум два-три урока и, если такое продолжается, просто перестаю тратить время на этот курс.
Сейчас, будучи уже программистом, я могу с уверенностью сказать, что в самом начале материал для новичков вообще может состоять из минимума технических терминов и формулировок. На старте обучение должно быть легким и понятным. Дети уже сейчас учатся программировать с помощью игр начиная с пяти лет. И тот факт, что вы изучаете сложную техническую дисциплину, не должен оправдывать то, что преподаватели с самого начала забрасывают ученика сложными формулировками и монотонной подачей материала, убивая на корню все желание продолжать учиться.
Внимание! Это не конец книги.
Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?