Как работать на фрилансе с вашим набором навыков.

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

Это напомнило мне о себе, когда я работал в компании, использующей Symfony2 (фреймворк PHP), но мне не понравилось это после завершения большого проекта (индивидуальный магазин, вдохновленный Prestashop).

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

Сегодня тенденция состоит в том, чтобы знать как фронтенд, так и бэкенд области (будучи разработчиком полного стека), но в конце дня вы будете лучше знать одно или другое. Поэтому постарайтесь специализироваться на том, что вам удобнее.

Первый шаг

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

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

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

В моем случае я выбрал Ruby on Rails из-за двух золотых ресурсов: Railscasts (больше не обновляется с 2013 года) и Code School (был продан Pluralsight).

  • В Code School я смог изучить основы, следуя пути.
  • С помощью Railscasts я мог узнавать более конкретные предметы, те, в которых я чувствовал себя слабее.

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

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

Создайте свое первое приложение

Хорошо, теперь вы достаточно уверены в себе, чтобы разрабатывать приложение. Зачем ждать? Начните делать свое первое приложение!

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

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

Рекламируйте себя и найдите работу

Теперь у вас есть знания, ваше первое приложение и опыт работы в команде над проектом с открытым исходным кодом. Все это можно указать в своем резюме, поэтому не стесняйтесь сделать это сейчас. Если вы совместно пишете ответы в StackOverflow, вы можете создать свою Историю разработчика. Не забывайте и об LinkedIn.

Тогда пришло время искать работу! Если вы хотите попробовать работать удаленно (что я и рекомендую), предлагаю два инструмента для поиска интересных вакансий:

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

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

Работа в интересных проектах с хорошими клиентами — медленный процесс. Инвестируйте свое время и усилия в несколько проектов, которые вам действительно нравятся, это того стоит.