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

Не из тех «новичков», которые изучали информатику 4 года в колледже и университете; не из тех «новичков», которые всегда увлекались компьютерами с тех пор, как они были в утробе матери, и все, что связано с технологиями, пришло к ним естественным образом; и я определенно не из тех «новичков», которые работали в сфере технологий большую часть своей взрослой жизни и немного устали от старого синтаксиса Python, но изо дня в день кодируют на других языках.

Я * настоящий * новичок!

Я не изучал ничего похожего на компьютерные науки в школе или университете. Я никогда не сталкивался с программированием в каком-либо качестве (нет, даже HTML). Я думал, что кодирование - это зеленая болтовня, которую вы видели на экране в фильме «Матрица» (шутка… не совсем). Я никогда раньше даже не открывал свой Терминал (серьезно). И до недавнего времени я даже представить себе не мог, что когда-нибудь захочу стать инженером-программистом или разработчиком (не говоря уже о том, чтобы даже попробовать).

Это была очень новая территория!

Начало

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

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

Так что я сделал то, что сделал бы любой человек со смутным любопытством, но не представляющий, что они ищут… Я погуглил.

Я: «Как ты научишься программировать?»

Google: онлайн-учебные пособия / Bootcamp / Программирование - это сложно / Вызов для новичков в коде / Обучение программированию за 600 фунтов стерлингов / Специальное предложение / JavaScript / Веб-разработка для начинающих / Как я научился программировать / Bootcamp / Code Academy / Udemy / Научитесь программировать бесплатно / Онлайн-курс / Код бесплатно / Общая ассамблея: Введение в программирование на Python для начинающих /

Я: нажимает ссылку на веб-сайт Генеральной Ассамблеи, видит «Предварительный опыт программирования не требуется» для курса, платит за курс.

Кто ее впустил?

Я прибыл в лондонский филиал Генеральной Ассамблеи и вошел в комнату, полную энтузиастов с открытыми ноутбуками, и был готов начать свой путь к изучению Python!

Фасилитатор курса поприветствовал зал и попросил поднять руки тех, кто имеет опыт работы с Python / Data Science. Я сидел удобно, зная, что у меня нет ни того, ни другого, потому что это был курс для начинающих, и никакого опыта программирования не требовалось, так зачем мне что-то знать ?! Я и еще один посетитель подняли руки.

Зачем людям, имеющим опыт работы с Python, посещать курс Intro To Python?

У нас было три слайда в презентации, и внезапно все стало чрезвычайно техническим и сложным. Переменные, массивы, структуры данных и алгоритмы «ключ-значение» - я понятия не имел, что происходит. Фасилитатор курса передал нам список из прибл. 30 алгоритмов задач и нам велели их решать; сигнализируйте о внутренней панической атаке! Я сфотографировал проблемы и отправил их одному из моих друзей, который тоже учился программировать, и он тоже был сбит с толку, почему проблемы такой сложности были представлены в курсе, который рекламировался для начинающих. В этот момент я был очень ошеломлен и провел остаток курса, сдерживая слезы и отговаривая себя от ухода.

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

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

На 10 шагов назад

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

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

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

Ага! Это Терминал!

И снова я почувствовал себя глупо и ясно, что все эти месяцы работы не были настоящим кодированием. Я все еще ничего не знал!

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

Ежегодно разрабатываются тысячи онлайн-руководств по курсам HTML, CSS, Ruby и JavaScript разработчиками с многолетним коллективным опытом. Можно подумать, что для учащихся на всех уровнях - особенно для начинающих - будет доступно множество методов обучения и интерактивных инструментов, охватывающих весь жизненный цикл программирования. На самом деле эти курсы предназначены для ознакомления учащихся с основами синтаксиса, но в конечном итоге вы просто следуете набору инструкций без какого-либо контекста или понимания того, что вы делаете и какими должны быть ощутимые результаты.

После нескольких месяцев ощущения себя обманутым мне посоветовали попробовать курс под названием Learn Python The Hard Way - как будто последние несколько месяцев попыток разобраться в Python заставили меня изучить легкий путь! Меня уверили, что этот онлайн-курс, хотя и не бесплатный и очень сложный, обеспечит прочную основу для освоения Python. Единственная загвоздка заключалась в том, что "Learn Python The Hard Way" требовал, чтобы учащийся чувствовал себя комфортно с Терминалом.

Ах, Терминал - мой стойкий друг, мы снова встречаемся!

Больше никаких пустых взглядов

Я получил очень своевременное электронное письмо от Люка Мортона, директора MadeTech, с новостями о том, что у них есть вакансия в своей программе наставничества и они могут предложить мне наставника по Python. Я был связан с MadeTech через сетевое мероприятие blackgirl.tech и был так взволнован, что они смогли объединить меня с кем-то, кто хорошо разбирается в Python и готов поделиться некоторыми своими знаниями. Меня привлекла компания MadeTech, потому что они искренне хотели мне помочь!

«Мы совершенствуемся, чтобы развивать компанию» - MadeTech Ethos

Вот тут и началась настоящая работа!

За 5 месяцев наставничества с MadeTech я стал увереннее, поскольку мой наставник находит время, чтобы показать мне веревки, в том числе моего заклятого врага, Терминал, и я не боюсь сказать: «Я не понимаю». Я учусь опрашивать код и задавать вопросы, и я действительно могу сохранить в памяти часть синтаксиса Python. Впервые с начала этого путешествия я наконец-то смог увидеть мощь и разнообразие программирования в реальном мире!

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

Мой совет всем, кто хочет научиться программировать, но не знаком с миром программирования

Те, кто пойдет по пути самообучения, столкнутся с другими проблемами, нежели те, кто выберет степень в области компьютерных наук или выберет маршрут Bootcamp. Если, как и я, вы жонглируете карьерой на полную ставку, постоянно боретесь за достижение 7+ часов сна в день и в целом взрослую жизнь / жизнь, то у вас, без сомнения, будет ограниченное количество времени, которое можно посвятить разработке кода. навыки и умения.

Онлайн-руководства

Хотя я не большой поклонник онлайн-руководств по программированию, я понимаю, что у каждого свой стиль обучения, и некоторые люди могут найти их полезными. Я бы порекомендовал такой инструмент, как FreeCodeCamp, который был написан веб-разработчиками-самоучками и имеет полную учебную программу, специально предназначенную для того, чтобы помочь тем, кто находится на пути самообучения, преодолевать препятствия на протяжении всего пути. Если вы изучаете Python или Ruby - курсы Learn Code The Hard Way будут вашим спасателем, когда вы погрузитесь в глубокую часть программирования, и их настоятельно рекомендуют.

Найдите наставника

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

В настоящее время я получаю бесплатное наставничество по Python 1-2–1 с Стивеном Лейтоном через MadeTech и на собственном опыте убедился в преимуществах, которые эффективная программа наставничества может иметь на вашем пути программирования! Мне лично нравятся мои занятия с наставником, и мне нравится решать проблемы и улучшать свое понимание мира программирования. Основное внимание MadeTech уделяет тому, чтобы помочь организациям превратиться в высокопроизводительные команды разработчиков программного обеспечения за счет гибкой поставки программного обеспечения и обучения на местах. Они предоставляют качественное программное обеспечение и поощряют передовой опыт, потому что это имеет смысл для бизнеса. Наборы автоматических тестов, анализ качества кода, коллегиальные обзоры, парное программирование - это всего лишь несколько практик, которыми они придерживаются, и они посвящены созданию продуктов, которые могут реально изменить бизнес их клиентов.

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

Сообщество

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

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

Мне нравилось посещать встречи Code & Chill и мероприятия Intro to Python, проводимые замечательной благотворительной организацией - blackgirl.tech, которая оказывает поддержку в обучении и оказывает яростное сообщество темнокожим женщинам и небинарным людям, заинтересованным в обучении программированию.

Новички объединяются

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

Удачи вам в пути и не позволяйте никому (включая вас) говорить вам, что у вас нет того, что нужно !!

Не стесняйтесь связаться со мной в LinkedIn и продолжайте писать код!