Как работать на фрилансе с вашим набором навыков.
Недавно я получил электронное письмо от читателя. Он спросил меня, как работать фрилансером с его набором навыков, которые совершенно не связаны с веб-технологиями. Однако он знаком с некоторыми языками интерфейса и бэкенда.
Это напомнило мне о себе, когда я работал в компании, использующей Symfony2 (фреймворк PHP), но мне не понравилось это после завершения большого проекта (индивидуальный магазин, вдохновленный Prestashop).
Я очень хотел сделать что-то с Ruby on Rails. Моя цель состояла в том, чтобы полностью перейти на эту структуру и продолжать зарабатывать деньги, но изменения были настолько разными, что мне нужно было много думать о том, как сделать это быстро и эффективно, поэтому, когда я был готов, я начал для поиска новой работы.
Сегодня тенденция состоит в том, чтобы знать как фронтенд, так и бэкенд области (будучи разработчиком полного стека), но в конце дня вы будете лучше знать одно или другое. Поэтому постарайтесь специализироваться на том, что вам удобнее.
Первый шаг
Тогда первым шагом будет изучение и усвоение концепций технологии, которая вам нравится больше всего. Под понятиями я подразумеваю попытки освоить основы.
Ознакомившись с основами, вы сможете изучить дополнительные элементы на ходу во время работы над проектом. Не пытайтесь выучить все сразу, потому что вы не запомните всю информацию. Вы в конечном итоге потратите свое время.
Чтобы сделать процесс обучения приятным, я бы порекомендовал найти технологию, за которой стоит хорошее сообщество, предоставляющее хорошие учебные пособия, чтобы вы могли не читать большие книги. Да, я рекомендую учебники вместо книг. Я предпочитаю богатый веб-формат и видео. Для меня это работает быстрее, чем книга (и не так легко устареет).
В моем случае я выбрал Ruby on Rails из-за двух золотых ресурсов: Railscasts (больше не обновляется с 2013 года) и Code School (был продан Pluralsight).
- В Code School я смог изучить основы, следуя пути.
- С помощью Railscasts я мог узнавать более конкретные предметы, те, в которых я чувствовал себя слабее.
После этого, обладая хорошими базовыми знаниями, я нашел Ruby gems удивительный ресурс функций, которые я мог легко добавлять в свои приложения.
Это ускорило мой процесс обучения, и мои приложения загружались почти мгновенно. Поскольку Ruby лучший друг программиста (это слоган языка), я мог сосредоточиться на приложении, а не на инструменте.
Создайте свое первое приложение
Хорошо, теперь вы достаточно уверены в себе, чтобы разрабатывать приложение. Зачем ждать? Начните делать свое первое приложение!
Подумайте о том, что вы могли бы клонировать (существует множество руководств по клонированию наиболее типичных приложений на любом языке). Может быть, вы могли бы построить что-то оригинальное, вперед! Более того, вы можете сделать это с открытым исходным кодом, разместить его на Github и найти соавторов.
Когда вы закончите свое первое приложение, вы сможете найти другие приложения с открытым исходным кодом, над которыми вы можете сотрудничать, чтобы получить некоторый опыт работы в команде. Это очень важный аспект при удаленной работе, потому что ваш код будет проверяться, и вам придется его улучшать. Взгляните на открытые проблемы, возможно, вы могли бы подобрать одну и предоставить исправление.
Рекламируйте себя и найдите работу
Теперь у вас есть знания, ваше первое приложение и опыт работы в команде над проектом с открытым исходным кодом. Все это можно указать в своем резюме, поэтому не стесняйтесь сделать это сейчас. Если вы совместно пишете ответы в StackOverflow, вы можете создать свою Историю разработчика. Не забывайте и об LinkedIn.
Тогда пришло время искать работу! Если вы хотите попробовать работать удаленно (что я и рекомендую), предлагаю два инструмента для поиска интересных вакансий:
- Работаем удаленно
- Задания StackOverflow (фильтрация по местоположению, позволяющая удаленно)
Если вы предпочитаете работать над разными проектами, я считаю, что удаленный подход просто необходим. Используя сайты, которые я рекомендовал, вы можете найти компании, которые ищут разработчиков для работы в течение ограниченного времени в неделю, поэтому у вас может быть несколько клиентов для начала.
Другой альтернативой является использование сайта для фрилансеров, такого как Upwork, но вам нужно будет конкурировать в цене с другими разработчиками. Думаю, найти там хороших клиентов будет очень сложно и долго.
Работа в интересных проектах с хорошими клиентами — медленный процесс. Инвестируйте свое время и усилия в несколько проектов, которые вам действительно нравятся, это того стоит.