Примерно через 9 месяцев обучения программированию я принял предложение Guardian Newspaper присоединиться к их программе Digital Fellowship в качестве младшего инженера-программиста.

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

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

Что значит самоучка?

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

Когда я начал подумывать о карьере в сфере технологий, я не понимал, что существует такая вещь, как «самоучка». Я просто предположил, что любой, у кого нет степени CS, должен будет пройти учебный курс, такой как Makers Academy, General Assembly или Flatiron. Итак, осенью 2018 года я начал готовиться к подаче заявки на буткемп.

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

К счастью, я получил стипендию на конференции Mozilla View Source в Лондоне. Это была моя первая техническая конференция, и там я встретил женщину, которая стала для меня важным наставником. Она была первой, кто сказал мне, что мне не нужно проходить учебный курс и что я определенно могу найти работу, обучаясь самостоятельно.

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

Как выбрать, чему учиться?

Существует так много разных ресурсов, которые могут помочь вам в вашем учебном путешествии. Например, вы можете использовать такую ​​платформу, как CodeAcademy, Freecodecamp, Exercism, Codewars или курс Udemy или Coursera.

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

Я бы сказал, начинать с поставленной цели. Почему вам интересно научиться программировать? Какую работу вы бы хотели? Фронтенд или бэкэнд?

Как только у вас появится представление о том, какой работой вы хотите заниматься, найдите объявления о работе, которые описывают работу вашей мечты. Какие навыки и компетенции им требуются? Какие языки вам нужно выучить? Какие фреймворки для тестирования? Вам нужно разбираться в программах git и bash? Запишите требования.

Сможете ли вы найти в LinkedIn людей с такой же должностью? Если это так, стоит обратиться к ним и спросить, какой совет они могут дать относительно доказательств, которые вы должны создать, чтобы подать убедительное заявление о приеме на работу начального уровня. Будет ли профиль GitHub с вашей работой достаточным доказательством? Вам это вообще нужно или вам просто нужно пройти технический тест, чтобы получить работу своей мечты? Ответы на эти вопросы определят наш путь.

Как я могу структурировать свое путешествие с самоучкой?

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

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

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

Поиск наставников

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

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

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

Я использовал сообщества с открытым исходным кодом, чтобы найти участников, которые были бы счастливы поработать со мной. Я также использовал встречи, такие как Codebar в Лондоне, и такие компании, как Thoughtbot, у которых есть рабочие часы, где вы можете работать вместе с профессиональным разработчиком.

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

Как держать себя в руках

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

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

Один из моих любимых постов об отказе от замечательной Линь Нгуен: https://link.medium.com/oJ8r28u0vX. Я читаю и перечитываю подобные статьи всякий раз, когда мне плохо, чтобы поддерживать свою мотивацию.

Вот актуальное недавнее электронное письмо, которое я отправил своему наставнику:

- - - - - Пересылаемое сообщение - - - - -

Ср, 12 июня 2019 г., 10:12 Амина Адевуси написала:
Привет,
Я чувствую, что бьюсь о множество стен. Я изо всех сил пытаюсь пройти этап технических испытаний. Я не знаю, как продолжать этот путь сбалансированным образом (с работой на полную ставку и семьей), зная, что мне может потребоваться немало месяцев, прежде чем я узнаю достаточно, чтобы пройти технические тесты.
Я буду очень признателен за вашу поддержку и за любые советы, как продолжить.
Спасибо,
Амина xx

— — — — — — — — — — — — — —

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

Выбор подходящей работы

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

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

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

Быть видимым

Один из моих наставников подтолкнул меня выступить на технических конференциях. Я никогда не думал, что смогу это сделать. Интересно, что я могу предложить технической аудитории?

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

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

Шагая по себе

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

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

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

Я могу вам помочь?

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

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

Если вам понравилась эта статья, ознакомьтесь с моими последними здесь: https://www.aminaadewusi.com ❤️