Если вы читаете эту статью, потому что находитесь в начале пути самообучения программированию или уже достигли его середины и начинаете сомневаться, то воспользуйтесь приведёнными историями для мотивации. Если же вас привела сюда другая причина, то просто порадуйтесь историям людей, осиливших этот непроторённый путь.
Путь разработчика-самоучки напряжённый и полон изматывающих неожиданностей. В этой области нет универсального рецепта роста от новичка до полноценного разработчика. При этом есть множество уникальных историй людей, которые преодолели все трудности и достигли желаемого уровня.
Мне это было очень интересно, и я собрала ряд таких историй, размещённых на портале Medium. Их авторы такие же люди, как и мы с вами. Они с усилием добивались своей конечной цели — трудоустроиться, будучи программистами-самоучками. Надеюсь, что знакомство с их опытом поможет вам оглянуться на своё прошлое, оценить настоящее и вдохновит на уверенное движение вперёд, как это было со мной.
Обратите внимание: в конце статьи представлено краткое содержание ключевых моментов всех историй для тех, кто не захочет много читать.
1. Как я стала разработчиком-самоучкой в ведущей ИТ-компании. Лексис Хансон
Лексис Хансон окончила колледж по направлению “Бизнес и финансы”. В дальнейшем она стала преуспевающим аккаунт-менеджером, но при этом чувствовала, что эта работа не даёт ей полностью раскрыть себя. Её склонность к критическому мышлению, логике и числам порождала в ней тягу к созданию чего-либо, к разработке.
В связи с этим она решила записаться на мастер-класс RailsBridge, где получила истинное наслаждение от каждой проведённой там минуты. Вскоре после этого один знакомый инженер-разработчик порекомендовал Лексис некоторые хорошие обучающие ресурсы, что окончательно разожгло в ней огонь. Когда она уже достигла стадии поиска работы, то сначала встретила несколько отказов. Тем не менее она сохраняла упорство и в конце концов оказалась перед выбором между тремя хорошими предложениями: одно из компании FAANG, второе от стартапа и последнее от компании, в которой она уже работала.
Как ей это удалось?
Она с безумием бороздила сетевые просторы, отлично освоила один язык программирования, регулярно писала код, выделила для себя ряд лучших ресурсов, сохраняла настойчивость и нашла единомышленников для совместного обучения.
2. Как я сменила мытьё полов в солярии на разработку ПО. Ненна
В детстве Ненна любила играть в видео игры, читать научную фантастику, рисовать, писать рассказы, сочинять музыку, громко играть на трубе и изучать всё, что ей станет интересно. В 2016 она поступила в Университет им. Джорджа Вашингтона на факультет экономики, однако постоянные переезды вынудили её приостановить обучение. Чтобы оставаться при деле и свести концы с концами она устроилась в салон загара консультантом.
Однажды в завершении рабочей смены, Ненна окончательно осознала, что больше никогда не вернётся в этот салон. Она уволилась, позвонила тёте — профессору по компьютерным наукам и информационным системам в Бостоне и попросилась какое-то время пожить у неё. Тётя согласилась, и Ненна на последние деньги купила билет на самолёт.
Бостон был для неё возможностью начать всё с нуля, учитывая то, кем она хотела бы стать. Предпосылки к этому возникли, когда она пообщалась со знакомым человеком, который закончил университет в Хьюстоне, получив степень в биологии, но в итоге нашёл себя в разработке ПО для iOS. Он прошёл обучающий курс и получил работу разработчика iOS, не имея в этой области соответствующей степени. Этот пример вдохновил Ненну, и она погрузилась в самообучение. Её врождённое любопытство, а также страсть к самообразованию и технологии в итоге привели её в O’Reilly Media в качестве разработчика, где она занялась внедрением инноваций в их обучающую онлайн-платформу.
Как ей это удалось?
Она принимала все вызовы, которые встречала на пути, никогда не прекращала обучение, верила в себя, прошла 14-недельный курс обучения, использовала свободные онлайн-ресурсы и общалась с окружающими её единомышленниками, в том числе на Meetup.com
3. Прорыв в среду IT без учёной степени. Джейсон Ванг
Джейсон Ванг — из семьи иммигрантов, прибывших в Америку на поиски лучшей жизни. Он поступил в университет на сестринское дело, затем переквалифицировался в международный бизнес, после чего на третьем году обучения решил бросить учёбу. Переехав в Сиэтл, он несколько лет перебивался случайными заработками и размышлял о решительном переходе в индустрию IT. Благодаря поддержке родителей и воодушевлению со стороны друзей, летом 2018 он принял решение “всё или ничего”.
Посвятив себя самообучению и пройдя курсы, он прошел путь от новичка до стажёра, а затем и до инженера-разработчика всего за один год.
Как ему это удалось?
Он отлично освоил алгоритмы и структуры данных, не переставал писать код, изучал сетевые ресурсы, старался всё делать профессионально, проводил время на форуме программистов и никогда не утрачивал веру в себя.
4. Уроки, освоенные мной на пути разработчика-самоучки. Виктор Кассон
Виктор Кассон был старшим сотрудником колледжа и никогда не испытывал тяги к программированию. Однажды, во время прогулки между занятиями ему в голову пришла идея о приложении, которое, как ему показалось, может сделать большой прорыв. Он стал утрачивать интерес к текущей работе и решил посвятить свободное время созданию этого приложения. Виктор купил несколько книг, посвящённых разработке на Android, копипастил код, создавая приложение, которое не обладало богатым функционалом и редко запускалось без сбоев. При этом он постоянно сохранял фокус именно на конечном продукте.
Так продолжалось, пока он случайно не попал на занятие по компьютерной науке, где он осознал, что должен посвятить себя обучению и в итоге решил забросить это приложение. С течением времени он сбалансировал своё поведение и стал относиться к обучению более серьёзно. Позднее он уже получал удовольствие от программирования и в итоге начал карьеру в качестве разработчика ПО.
Как ему это удалось?
Он начал фокусироваться на процессе, а не на конечном результате, создал прочное основание, стал завсегдатаем Stack OverFlow, организовал среду, позволявшую совмещать ему учёбу и работу, а также поддерживал связь с людьми через Meetup.com
5. Как я заполучил первую должность разработчика? Я готовился к ней как сумасшедший. Джонатан Пак
Джонатан был типичным подростком, вынужденным к моменту окончания школы сделать один из важнейших выборов в жизни — что именно он хочет изучать в колледже. Он решил поступить на “Обеспечение поставок и логистику”, но спустя два года обучения, Джонатан был обеспокоен чувством неудовлетворённости, которое стал считать чем-то обыденным для студента.
В действительности проблема была в том, что он не нашёл в себе реальной увлечённости чем-либо. Незадолго до начала своего третьего года обучения, он открыл для себя возможности саморазвития, а позже познакомился с программированием. В итоге он прошёл собеседование в развивающемся стартапе, который оказался его первой компанией, где он добился успеха и продолжает работать до сих пор.
Как ему это удалось?
Он ежедневно писал код, сам себе устанавливал цели, использовал каждую возможность обучения, разработал свой собственный стиль и всегда напоминал себе следующую цитату:
“Дайте мне шесть часов, чтобы срубить дерево, и я потрачу первые четыре на заточку топора.” — Авраам Линкольн.
6. Я трудоустроенный программист-самоучка, обучившийся на бесплатных ресурсах. Антон Одман
Антон, как и многие другие, работал на обычной работе с 9 до 17 и хранил надежду на то, что однажды ему удастся сменить свою карьеру. Не бросая основную работу, он посвящал свободное время обучению программированию. В итоге, спустя два года, он получил свою первую должность разработчика.
Как ему это удалось?
Он смог достичь успеха, не потратив ни монеты! Он был очень инициативен и пользовался множеством бесплатных онлайн ресурсов, где изучал основы, обучался писать код, практиковал, а также принимал активное участие на форумах и в сообществах Reddit.
7. Путешествие разработчика-самоучки Амита Шекхара
Амит закончил Индийский институт технологии по специальности гражданская инженерия. У него было ощущение, что эти четыре года обучения он потратил впустую, но при этом продолжал напоминать себе, что получил важные навыки по решению задач. Внутренне же он всегда питал интерес к принципам работы программного обеспечения, и в конце 2014 года Амит впервые взялся за чтение книги по программированию, посвящённой языку Java.
По счастливому стечению обстоятельств уже через месяц его взяли на работу в один из стартапов в Дели. Собеседование было полностью построено вокруг знакомой ему темы, а именно области решения задач. После этого собеседования он получил проект на Android и, успешно с ним справившись, был принят на постоянную работу.
Как ему это удалось?
Он учился реализации, ежедневно программировал, изучал материалы открытых источников и даже начал вести блог, чтобы лучше разобраться в том, чему он научился. Помимо этого, он посещал конференции и общался в сети с другими разработчиками.
8. Как за 9 месяцев я вырос из новичка в разработчика ПО. Остин Такаберри
Остин закончил хороший институт и получил степень в химической инженерии, имея при этом приличный бал по успеваемости. После института он устроился в качестве инженера-технолога на перерабатывающий завод. Он не занимался программированием со школы, но однажды у него возникло желание сменить карьеру на разработчика ПО.
Спустя девять месяцев и семь дней полного погружения в программирование с сильным намерением сменить деятельность, он в итоге получил своё первое предложение работы.
Как ему это удалось?
Он составил план, ставил перед собой цели, хорошо разобрался в ключевых основах компьютерной науки, посещал семинары, принимал участие в открытых проектах и пользовался бесплатными сетевыми ресурсами для обучения.
9. 5 вещей, которым я научилась как разработчик-девушка. Стэйси Гох
Стэйси училась на факультете бизнеса и была погружена в мир финансов, надеясь сделать себе имя и войти в среду богатого общества. Однако она не испытывала удовлетворения в том, чем занималась и от того, какое влияние при этом имела.
Она бросила индустрию финансов и решила пойти стажером в стартап, посвящённый мобильному приложению, где научилась премудростям цифрового маркетинга и освоила вывод продукта на рынок. Тем не менее она всё ещё не была удовлетворена. Стэйси хотела создавать продукты, которые помогут улучшить жизнь людей, поэтому она решила освоить программирование, чтобы создавать такие продукты самостоятельно.
Спустя два года она стала инженером ПО и возглавила связи с разработчиками в компании Oikos.
Как ей это удалось?
Она нашла интересующую её область технологий, использовала онлайн ресурсы для обучения, создавала приложение после освоения каждого фреймворка, много читала, работала на сторонних проектах и сохраняла терпение.
10. Как перейти в индустрию технологий с помощью самообучения. Джойс Акико.
Джойс сделала свой выбор в пользу формального обучения, т.к. сперва не знала, чем реально хотела бы заниматься. Она получила степень по психологии и чувствовала, что оказалась перед ограниченным выбором карьерных лестниц. Она прошла ещё два года обучения и получила степень по управлению кадрами, что вызвало в ней те же ощущения, что были и прежде. Испытывая беспокойство, недостаток возможностей и огорчение, она в итоге решила самостоятельно обучиться программированию.
В результате Джойс стала создавать сайты для своих друзей, а потом и для реальных заказчиков, став на какое-то время разработчиком- фрилансером. В конце концов она устроилась на работу в компанию на должность директора по продукту.
Как ей это удалось?
Если она сталкивалась с тем, что не могла сделать, то тут же училась этому. Она нашла для себя интерес и всё время ему следовала, не прекращала обучение, применяла на деле все освоенные навыки и создавала продукты для закрепления своих навыков.
Выводы
Самое важное для разработчика-самоучки:
Вы наверняка заметите, что в этих историях есть некоторые схожие моменты. Это принципы, которые, будучи применёнными на практике, помогли добиться успеха в описанных случаях.
Будьте инициативны
Осознайте, что всё, что вы хотите изучить, может быть найдено онлайн. Ключ к становлению успешным разработчиком в том, чтобы уметь самостоятельно решать проблемы и находить ответы. Например, Антон смог отыскать необходимые ресурсы и обучиться всему самостоятельно, не потратив ни копейки. Это вполне реально, и вы тоже это сможете.
Продолжайте учиться
В среде разработки процесс обучения никогда не останавливается. Страсть к познанию нового — это тот стимул, который будет двигать вас по жизни. Всегда можно найти для изучения что-то новое, что поможет нам улучшить жизнь или усовершенствовать рабочий процесс. Также важно обсуждать полученные знания с другими и экспериментировать. Например, Амит обучился, занимаясь реализацией, изучая открытые проекты и ведя блог для лучшего освоения нового материала.
Создайте прочное основание
Создание крепкой основы в навыках программирования и области решения задач поможет отличать хорошее от превосходного. Добавьте к этим навыкам принципы программирования и вы сможете разобраться с любой проблемой, которая встретится на вашем пути. Например, Виктор сместил свой фокус с конечного результата на сам процесс и создал тем самым прочное основание для программирования.
Ставьте цели и придерживайтесь их
У вас обязательно должна быть цель. Ваше обучение может долго идти в никуда, если не будет никакого внешнего воздействия, подталкивающего вас. Это воздействие необходимо создать. Нужно, чтобы всегда присутствовал мотивирующий фактор. Возьмите пример с Остина: осознайте цель, составьте план по её уверенному достижению и в процессе отслеживайте свой прогресс.
Интернет
Использование интернета может оказать существенное влияние на достижение успеха. Никогда нельзя предугадать, насколько окружающие могут помочь, а люди в IT среде зачастую очень к этому расположены. Возьмите пример с Джейсона: познакомьтесь с как можно большим числом профессионалов. Ходите на семинары, пишите сообщения людям на разных платформах, посещайте технологические факультеты и не стесняйтесь обращаться к преподавателям и студентам, которых там встречаете. Можете даже ставить цели по знакомству с определённым числом людей каждую неделю. Возьмите с собой записную книжку, задавайте вопросы и записывайте ответы. Эти люди либо уже находятся там, где хотите оказаться вы, либо идут с вами по одному пути, поэтому учитесь у них.
Будьте настойчивы
Если бы все программисты сдавались при возникновении сложностей, то в мире бы их вообще не было. Если вы легко сдаётесь перед лицом проблем, то никогда не сможете достичь успеха. Вспомним Лексис. Когда она начала искать работу, то несколько раз получала отказ. Тем не менее она продолжала упорствовать и в итоге получила аж три хороших предложения на должность инженера: одно от компании FAANG, второе от стартапа и третье от компании, где уже была трудоустроена.
Верьте в себя
Верьте, что вы можете сделать всё, на что настроите своё сознание. Верьте, что вы добьётесь успеха. Верьте, что вы можете освоить все необходимые навыки, чтобы стать тем, кем желаете. Верьте в себя, и вы сможете достичь всего. Вспомните Ненну, она верила в себя, несмотря на все невзгоды, стресс, она приостановила обучение, пошла работать в салон, уволилась и нацелилась на то, чтобы оказаться в сфере программирования. Она добилась этого, потому что верила в себя.
Будьте деятельны и не переставайте писать код
Когда вы начинаете изучать основы программирования и получаете необходимый фундамент знаний, используйте его для создания каких-нибудь проектов. Не стремитесь освоить всё сразу, а постепенно применяйте полученные знания на практике. Лучший способ обучения — это практика. Например, Джойс применяла все освоенные навыки на деле и создавала множество проектов для их закрепления.
Что вам теперь делать?
Возьмите пример с разработчиков, о которых прочитали. Пусть их истории успеха служат для вас мотивацией и напоминанием о том, что раз смогли они, значит сможете и вы. Подумайте, сможете ли вы применить какую-либо из их стратегий в своей жизни? Возможно, одна из этих историй зародила в вас идею, которую вы захотите применить в своём случае? Если так, то стоит приступать к действию!
Читайте также:
- 5 мудрых цитат известнейших программистов
- Как добиться большей зарплаты на собеседовании
- Как преодолеть синдром самозванца: 6 советов разработчикам
Перевод статьи Angelica Dietzel: 10 Self-Taught Programmers Who Became Full-Time Developers.