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

Шаг 1 - идея

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

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

С этого момента моя страсть к программированию резко пошла вверх - с того первого «Hello World», когда я вычеркнул несколько строк HTML и JavaScript и увидел, как они сливаются во что-то, что реально происходит в моем браузере, меня зацепило. Даже если вы тот, кто никогда раньше не задумывался о программировании, я не могу порекомендовать вам достаточно, чтобы вы попробовали это и убедитесь в этом сами. Это не понравится всем, но если вы, как и я, в детстве любили игрушки, такие как Lego - эта концепция брать набор строительных блоков, относительно неинтересных сами по себе, и собирать их вместе, чтобы сделать что-то крутое - может быть, это работа для вас.

Шаг 2 - сгибание ног

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

Как бы это ни было сложно, но это еще и забавная часть - все новое, все захватывающее, вы будете узнавать что-то новое каждый божий день, и нет ничего лучше, чем это ощущение прогресса, которого вы достигли за этот период. Читайте книги, слушайте онлайн-курсы, как будто они выходят из моды (такие сайты, как Udemy, здесь ваши друзья), все, что вам больше подходит - главное, наслаждайтесь! Не позволяйте неудачам сдерживать вас - вы будете проводить дни подряд, ударяясь головой о клавиатуру, пытаясь отладить странные ошибки, но в конечном итоге вы совершите прорыв, узнав что-то новое в процессе. Что вам нужно помнить, так это то, что с этим сталкиваются все, даже разработчики с многолетним опытом. По словам Алана Дж. Перлиса:

Есть два способа писать безошибочные программы; работает только третий.

Одна вещь, которую я действительно рекомендую, - это не слишком мучиться по поводу первоначального выбора языка, так как вы всегда можете переключиться на что-то другое в дальнейшем. Например, я потратил месяцы на изучение «C # 6.0 и .NET 4.6 Framework», будучи уверенным, что сделаю для себя карьеру в .NET - теперь я разработчик Ruby on Rails. Только когда я решил создать веб-сайт для блога о моем прогрессе (следуя руководству по DIY Wordpress), я понял, что веб-разработчик кажется довольно забавным, и полностью переключил с этого область моей учебы!

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

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

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

Шаг 3 - нетворкинг

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

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

Оставьте свои заботы за дверью и хорошо проводите время - как только вы преодолеете первоначальные бабочки, это, пожалуй, самая веселая часть, и мне просто жаль, что у меня не хватило смелости застрять в ней раньше. Есть множество отличных вариантов - такие сайты, как Meetup, перечисляют множество регулярных местных мероприятий, таких как наш собственный ежеквартальный Web Meet Guildford, где мы приглашаем людей собраться в пабе в городе, чтобы поболтать, обсудить друзья, и выпейте за нас. Это отличный вечер, и если вы находитесь в этом районе, вам обязательно стоит его проверить!

Шаг 4 - финишная линия старта

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

Когда я начинал в Kyan, им требовались тестировщики (я был первым из них), и у меня не было прямого опыта работы с Ruby on Rails, поэтому меня взяли на должность гибридного тестировщика / разработчика. Изначально большая часть моего времени была потрачена на тестирование и помощь в создании внутренней команды / практики тестирования, но с самого начала мне было предоставлено множество возможностей попрактиковаться в своих навыках и улучшить их, что позволило мне укрепить свою уверенность в себе. и мастерство с течением времени.

Всегда заключалась договоренность о том, что со временем мне будет предоставлена ​​поддержка, необходимая для продвижения моей карьеры до должности штатного разработчика, и Киан выполнил это обещание, а затем и некоторые: мне был предоставлен полный доступ к нашим репозиториям кода, поощряемый даже в первые дни (если я чувствовал себя комфортно) попытки исправить найденные мной ошибки; Меня направляли в направлении книг, курсов и конференций, которые способствовали бы моему профессиональному развитию, и все это покрывается индивидуальным бюджетом обучения, на который все сотрудники имеют право; Я был партнером одного из наших старших разработчиков, который при необходимости наставлял меня.

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

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

Последнее слово ...

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

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

Поздравляем с национальной неделей кодирования!

Стив

Первоначально опубликовано на kyan.com.