Top.Mail.Ru
Истории

От любителя веб-разработки — к профессионалу. Я сделал это без специальных курсов

Истории
Михаил Иванов
Михаил Иванов

Автор (издание РБ.РУ).

Михаил Иванов

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

От любителя веб-разработки — к профессионалу. Я сделал это без специальных курсов

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

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

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

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

Мне светили 6 лет обучения и кредит свыше $50 тысяч, если бы я решился. Такой вариант отпадал.

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



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

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

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

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

Я ответил на все вопросы и подробно рассказал про свои приложения.

В этой компании я проработал 2,5 года, а затем устроился веб-разработчиком в другое место.


Учатся всю жизнь

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

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

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

«Все мы ученики в ремесле, в котором никто никогда не становится мастером».

— Эрнест Хемингуэй

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

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


Как стать профессионалом, а не просто любителем?

Источник: Depositphotos

У меня есть несколько советов.


1. Поймите, что вы способны на это.

Каждый может научиться веб-разработке.

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

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

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

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

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

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

Во всем присутствует элемент удачи. Иногда проблемы просто разрешаются. Один раз я подал заявку в агентство по веб-разработке, и так вышло, что они как раз искали кандидата на тот момент, а я соответствовал требованиям.

Но что есть удача?

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

Удача играет свою роль, но дело не только в ней. Вы можете увеличить шансы на удачу: вам просто надо проявлять решительность.

Удача никогда не найдет вас, если вы не будете прилагать усилий на пути к заветной цели.


2. Примите решение стать мастером в своей профессии.

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

Это такое свободное чувство, когда вы имеете возможность менять проекты по настроению, но, как говорил адмирал Акбар, это ловушка! Если вы ничего не усвоите из этой статьи, то попробуйте понять это:

Чтобы стать профессионалом, вы должны принять решение. Примите решение и не сдавайтесь, пока не достигните цели.

Это касается всего.

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

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

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

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

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

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

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


Майк Роу, ведущий Dirty Jobs на CNN.


3. Начните создавать прямо сейчас.

Многие начинающие разработчики попадают в ловушку: они слишком много читают, но мало чего делают.

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

Бывало ли так, что вы закончили читать книгу о программировании и сразу же принялись кодить, но внезапно поняли, что понятия не имеете, что следует делать? Тогда вы знаете, о чем я говорю.

Решение простое, но совсем не легкое: начните создавать.

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

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

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

У вас будут проблемы, и вам будет нелегко. Это хорошо. Именно в такие времена мы больше всего усваиваем.


4. Представьте себя в Сети.

Как только вы начнете создавать, вам следует выходить в Сеть. GitHub — хороший вариант для начала.

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

Я также рекомендую завести сайт-портфолио:

  1. На сайте будет представлена информация для потенциальных заказчиков.
  2. Здесь вы сможете размещать свои работы.
  3. Сайт послужит платформой для операций.

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

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

У вашего сайта должна быть цель.

Большинство людей просто размещают онлайн-резюме, но вам следует сделать больше. Сайт — лишь средство к достижению цели.

Если вы хотите получить работу в определенном проекте или с определенным фреймворком — напишите об этом на сайте.

Я рекомендую разделить сайт на 4 основные секции:

  • Главная страница

Главная страница — лицо сайта. На ней должно быть представлено, кем вы являетесь и чем занимаетесь.

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

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

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

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

В дополнение к своему сайту попробуйте писать для больших изданий. Не забудьте указать ссылку на ваш сайт на странице профиля.


5. Учите других тому, что знаете сами.

Давайте посмотрим на историю Криса Койера, основателя CSS-Tricks.

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

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

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

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

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


Крис Койер, основатель CSS-Tricks.

6. Создавайте, чтобы решать проблемы.

Чтобы стать профессиональным веб-разработчиком, вы должны делать все с определенной целью.

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

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

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

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

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

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

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


7. Смотрите на себя, как на ученика.

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

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

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

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

В своей книге The Art of Work Джефф Гоинс рассказывает об отношениях между мастером и учеником в 21 веке.

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

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


8. Учитесь работать вместе с другими.

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

Вам предстоит работать с партнерами, боссами, коллегами, клиентами, партнерскими фирмами и многими другими.

Умение работать с другими чрезвычайно важно.

В мире веб-разработки коммуникация имеет большое значение. Допустим, с вами связался представитель компании и объяснил, что они от вас ждут. Если вы не сможете представить возможное решение, то создадите проблемы в будущем.

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

Но обучиться коммуникации довольно просто.

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

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

Советую начать с этого сайта.


Начните действовать

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

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

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

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

 Источник.

Материалы по теме:

Заметки HR-а: почему так сложно найти хорошего разработчика

3 причины переехать в Литву и 3 причины никогда этого не делать

7 трендов 2017 года в области создания ботов

Разработчиков софта обяжут раскрывать исходный код при госзаказах

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Программирование 2.0: как ИИ-ассистенты упрощают разработку
  2. 2 Как геймдев-стартапам сократить расходы и сроки за счет опенсорса
  3. 3 7 советов, которые помогут вендору грамотно организовать поддержку партнеров
  4. 4 Популярные технологии, документация и единый стиль кода. Что учесть при разработке MVP ИТ-проекта
  5. 5 Корпоративные коммуникации в 2024 году
DION
Что ждет рынок корпоративных коммуникаций в 2024 году?
Подробнее