Работаете полный рабочий день и хотите научиться программировать? После многочисленных неудачных попыток именно этот совет стал причиной моего окончательного успеха.

предыстория

Мне всегда нравилась идея создавать что-то — придумывать идею и превращать ее в реальность. К сожалению, я довольно ужасен в создании физических вещей. Я не очень силен, я не очень терпелив, у меня нет денег, чтобы купить много инструментов или места для их хранения, и у меня нет твердой руки.

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

Но научиться кодировать во взрослом возрасте может быть сложно

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

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

Но…. было слишком много ресурсов. И так много разных вещей, которые люди скажут вам, что вам нужно изучить — html, css, LESS, SASS, git, jquery, JSON, javascript, npm, командная строка, реакция, angular, Foundation…. что значили все эти термины?!?

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

Я чувствовал себя нелепо подавленным. Мне удалось пройти курс Codecademy по html и css, который был простым и веселым, но я все еще чувствовал, что у меня очень мало практических знаний, и определенно недостаточно для создания веб-сайта.

Итак, я прошел курс

В конце концов, я отложил свои амбиции в области кодирования, пока несколько лет колесил по миру и сосредоточился на развитии своих навыков письма — пока, работая в технологической компании, я не понял, что пришло время вернуться к этому. лошадь. Я увеличил свой бюджет на обучение и записался на неполный курс Front-End Web Development за 4500 долларов в General Assembly.

Примечание: это была ужасная ошибка, и я настоятельно рекомендую НЕ делать этого. Почему? Они научат вас немного программировать, но не научат вас хорошим практикам, не дадут вам досконального понимания материала или не объяснят вам, почему вы должны что-то делать. Наш учитель даже не знал ответов на многие вопросы, которые мы задавали, и гуглил их перед нами.

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

Если вы думаете пройти курс General Assembly только для того, чтобы включить его в свое резюме, я должен сказать вам, что все в моем классе получили 100%, даже несмотря на то, что некоторые из веб-сайтов были только наполовину закончены и очень просты. Я получил 100% итоговую оценку еще до того, как сдал финальное задание, которое мой учитель не просмотрел и не дал мне никакого отзыва. Так что на самом деле это не имеет большого значения.

У меня было много других проблем с классом, но чтобы этот пост не превратился в одно длинное нытье, я думаю, что лучше всего сравнить этот опыт с одним из тех курсов местного колледжа для пожилых людей, которые учат их «основам Microsoft Word». '. Конечно, вы чему-то научитесь, но вы будете учиться на очень-очень низком уровне, и вы не поймете, почему что-то работает именно так.

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

Но было в этом одно хорошее

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

Мне невероятно повезло, что я работаю в компании-разработчике программного обеспечения, и у меня много замечательных друзей и коллег, которые являются первоклассными разработчиками. Многие из них были достаточно замечательны, чтобы проводить со мной время, рассказывая мне, что я делаю неправильно, показывая мне, что я на самом деле должен изучать, и направляя меня к лучшим ресурсам, чем рекомендовал курс Генеральной Ассамблеи (который был «все, что вам действительно нужно, это w3schools.com').

Вот что я создал к концу

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

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

Так как же вы можете учиться успешно?

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

Выберите курс с дедлайном

Если вы по натуре прокрастинатор, как и я, вы никогда не успеете сделать это, если у вас нет дедлайна.

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

Я настоятельно рекомендую пройти наностепень Udacity. Я просмотрел так много их видео, и они невероятно интересны, увлекательны и просты для понимания. Вы строите вместе с ними, а с инструкторами из Google, Amazon, IBM и других компаний вы можете доверять тому, чему они вас учат.

Будьте ответственны перед людьми, на которых хотите произвести впечатление

Вы знаете тех людей, которым вам так очень хочется думать, что вы круты, умны и талантливы? Да, скажите этим людям, что вы делаете веб-сайт и что он будет офигенным.

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

Выберите проект, который вам действительно небезразличен

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

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

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

Получите это перед аудиторией

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

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

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