Веб-портфолио

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

«Мастерская художника» (Александр Лутай [ceshurik])

«Мастерская художника» (Александр Лутай [ceshurik])

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

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

В чём отличие портфолио (Portfolio) от резюме (CV, Curriculum Vitae)

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

Резюме можно составить на базе портфолио. Из резюме можно делать ссылки на работы, опубликованные в портфолио.

Где разместить портфолио

Варианты, которыми пользовался я или воспользовался бы:

  • Привлекательные сайты-портфолио можно сделать, используя конструктор сайтов Wix — при этом не требуются знания программирования и вёрстки — подойдёт даже тем, кто ещё только планирует изучать веб-технологии
  • GitHub Pages — бесплатный сервис для публикации статической информации, тесно связанный с репозиториями GitHub
  • в качестве хранилища несложных работ (HTML + CSS + JS) можно использовать Сodepen (пример http://codepen.io/copist) — многим это нравится, потому что интересные работы можно скопировать себе и поэкспериментировать
  • портфолио в виде блога на базе WordPress на бесплатном или платном хостинге
  • сделать свой сайт-портфолио самостоятельно на каком-нибудь языке программирования и разместить в облачном сервисе Cloud9, который также является удобной средой разработки вместо настольной IDE.

Список специализированных сервисов портфолио: Где и как создать себе сайт-визитку, портфолио или галерею [ lifehacker ]

Основываясь на личном опыте, хочу порекомендовать хранить резервные копии всех выполненных проектов (целые веб-сайты или отдельные веб-страницы) на своём хостинге. Я столкнулся с тем, что за 15+ лет часть сайтов, над которыми я работал, уже не существуют, а часть значительно изменилась. А если же у тебя есть резервная копия отдельных страниц или целого проекта, то сможешь поставить ссылки на свои копии, если оригинальные проекты больше не работают или сильно изменились.

Этот блог на базе WordPress расположен платном shared хостинге TheJetHost с удобной панелью управления, на нём же работают несколько проектов написанных на Javascript и PHP. Для более сложных проектов на базе NodeJS, Python, Ruby и PHP я использую Virtual Dedicated Server на FirstVDS и DigitalOcean.

Что разместить в портфолио?

1. Контакты (Contact Details)

Прочитав историю в портфолио с тобой захотят связаться. Надо дать несколько способов, но не слишком много. Адреса электронной почты будет достаточно, можно ещё добавить сервис быстрого обмена сообщениями (Skype, WhatsApp или Telegram), номер телефона на сайте размещать нежелательно. Можно воспользоваться сервисами, которые заменят имейл и номер телефона на картинки.

2. Биография (Bio, About)

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

Напиши рассказ о себе хорошим русским языком. Это универсальный совет на все случаи жизни: все можно рассказать и объяснить, и если ты не можешь излагать мысли интересно и понятно, то это — красный флажок — дальше будет хуже: возможно, автор такой биографии не может ни договориться с работодателем, ни понять задачу, ни описать решение.
А два-три интересных абзаца зацепят внимание, выделят тебя среди остальных. Грамотная речь без ошибок вызовет доверие.

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

Хорошо составленная биография помочь тебе перейти на уровень, который я называю «Прочитал — и как будто с человеком уже давно знаком». Ещё не виделись, а уже хочется пообщаться, причём пообщаться уже на какую-то конкретную интересную тему.

3. Подходящий опыт (Relevant experience)

Нужны только работы, которые относятся к той работе, которую ты ХОЧЕШЬ выполнять. Возможно, в прошлом ты был дизайнером или занимался SEO, а теперь решил стать веб-программистом. Исключи из портфолио те работы, которыми ты не хотел бы больше заниматься, а также те, которые не могут пригодиться при работе на этой должности.

  • Ты выполнял работу по SEO аккуратно и пунктуально, всё делал точно и  вовремя? OK, подойдёт как демонстрация аккуратности, особенно если сайт вышел в ТОП.
  • Ты сам рисовал дизайны сайтов? Подойдёт для frontend разработчика, но бесполезно для backend.
  • Ты развозил команду по домам? Понятно, что это хорошее дело, но этот пункт не нужен.

При поиске нового места работы по тому же профилю портфолио бывает битком забито выполненными работами. Но что делать новичкам? Откуда взять работу, если ничего ценного ещё не делал?

Список работ для новичков:

  • Для студентов — твоя курсовая или квалификационная работа, если она была по этой специальности.
  • Перечисли все самостоятельно выполненные работы. Учебные работы по жёсткому учебному процессу не котируются, “стерильные” работы из codecademy и htmlacademy не нужны. Только те, где была значительная самостоятельная работа. Даже если это самостоятельная работа при изучении книги, даже если это была попытка сделать стотысячный клон известного решения (блог, форум, интернет-магазин, фото галерея), проект для друзей, сайт класса — если ты сделал всё сам, то это твоя работа и твой опыт, они ценятся.
  • Если участвовал в конкурсе работ, но твоя работа не прошла в призёры — это твой опыт, добавь работу сюда.
  • Если выполнял тестовое задание при устройстве на работу — это твой труд, результаты которого можно продемонстрировать (пример).

К каждой работе нужно приложить описание:

  1. Дата или период выполнения работы
  2. Для кого и что планировалось сделать. Это может быть техническое задание, описание задачи в обычном стиле, макет в системе прототипирования, графический макет (PSD), скриншот, блок-схема алгоритма, спецификация на API.
  3. Что в итоге сделал. Подойдут скриншоты (очень выгодно будут смотреться скриншоты до и после улучшения), ссылки на резервные страницы с результатами или на страницы действующего сайта, ссылки на репозиторий исходного кода.
  4. Что получилось хорошо. Что вызывало гордость, радость, воодушевление. Это может быть твоё личное описание, рецензия заказчика на бирже фрилансеров, отзыв коллег, комментарии в соц сетях. Может быть была премия от заказчика или компании?
    Укажи, какие технические и нетехнические навыки пригодились или появились.
  5. (для новичков) Что получилось не хорошо. Как бы это можно было исправить.

Работы нужно размещать в хронологическом порядке, самые свежие первыми. Максимальная «глубина» истории — 3-4 года. Более старые нужно удалять или оставлять о них только упоминания. Также рекомендую после трудоустройства удалить из портфолио пятый пункт описания работ («Что получилось не хорошо…») , чтобы там осталось только хорошее о себе и своих работах. Но можно и оставить, если регулярно актуализировать список и в этом пятом пункте обновлять варианты исправления недочётов с учётом современных знаний, методов, навыков («сейчас бы я …»).

4. Подходящие навыки (Relevant Skills)

Не надо сходить с ума и перечислять вообще всё, что умеешь. Выдели то, что ты умеешь лучше всего.

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

4.1. Профессиональные, технические навыки (Hard Skills)

Пример списка навыков одной из моих курсанток на программах поддержки:

  • CSS/CSS3/HTML5
    • фиксированная вёрстка
    • резиновая вёрстка
    • адаптивная вёрстка
    • Graceful Degradation
    • Progressive Enhancement
  • CSS фреймворки
    • Twitter Boostrap 3
  • Язык программирования JavaScript
    • функциональное программирование
    • ООП
    • модульная архитектура
  • jQuery
    • jQueryUI
    • шаблонизация ($.tmpl)
    • роутинг HTML5 ($.routing)
    • AJAX
  • AngularJS
    • базовая архитектура приложения
    • шаблонизация
    • роутинг
  • MySQL
    • проектирование модели данных
    • индексы
    • внешние ключи
    • импорт / экспорт структуры и данных в консольном режиме
  • настройка зависимостей проектов
    • composer
    • bower
    • npm
  • препроцессоры
    • SCSS
    • LESS
  • сборка проектов
    • webpack
    • grunt
    • gulp
  • работа с системой версионности git
    • github
    • bitbucket
    • + установка продукта из git репозитория на сервер Ubuntu
  • Язык программирования PHP
    • функциональное программирование, базовые управляющие конструкции, основы объектно-ориентированного программирования
  • фреймворк Laravel 5 (PHP)
    • роутинг, упрощённо
    • работа с базой, упрощённо
    • реализация REST
    • работа с JSON
    • обработка данных форм
  • CMS WordPress (PHP)
    • создание и изменение тем
    • настройка виджетов
  • CMS Joomla (PHP)
    • создание и изменение тем

Большой список, не правда ли? И по каждому из пунктов надо указать, какая работа может подтвердить навык, то есть указать гиперссылки на работы из первого пункта портфолио. Следи, чтобы не было “битых” ссылок.

Очень важно подтвердить технические навыки. Иногда это бывает чрезвычайно сложно, например, по причине подписанного соглашения о неразглашении (NDA). В этом случае ты не сможешь вставить результаты своей работы в портфолио и, как ни удивительно, ничем не отличаешься от начинающего программиста c таким же пустым портфолио. Например, по  этой причине у меня пустой профиль на Upwork и какие-то древнейшие работы на fl.ru — я более пяти лет работал с закрытыми проектами. Стаж есть, а примеров работ нет.

Чтобы «закрыть прореху», тебе надо будет придумать и реализовать свой личный проект (pet project), который продемонстрирует твои навыки. Твоё отличие от начинающего — ты сможешь спроектировать правильно и реализовать быстро. Буквально пара выходных и готов новый сервис, как у меня получилось на зимних каникулах. Не забудь выложить результат в репозиторий и добавить качественную инструкцию, как например, вот у меня в одном из ранних тестовых заданий — сокращателе ссылок.

4.2. Нетехнические навыки, личные качества (Soft Skills)

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

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

Продемонстрировать такие личные качества в портфолио — ещё более сложная задача, чем доказать технические навыки. Но считается, что профессиональный рост обеспечивается на 15% техническими навыками и на 85% личными, поэтому хоть и сложно, ну нужно.

У тебя есть идеи, что из этого списка можно продемонстрировать в портфолио и как это сделать? Давай обменяемся идеями и сделаем наше портфолио максимально эффективным. Чтобы заказчик или работодатель посмотрел и сказал — «О, этот спец на вес золота! Он тот, кто мне нужен!».

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

5. Аттестация, сертификаты, дипломы (Certification, Certificates, Diplomas)

В порядке увеличения важности

  1. просто перечень курсов, которые прошёл
  2. ссылки на страницы, где перечислены пройденные уроки, выполненные задач (htmlacademy.ru, codewars.com) или хотя бы бейджики за достижения (codecademy.com)
  3. ссылки на курсы, где выдаются виртуальные сертификаты
  4. сертификат, полученный онлайн (электронный или бумажный вариант)
  5. сертификат при оффлайн тестировании (электронный или бумажный вариант)
  6. диплом о высшем или специальном образовании

По четвёртому и пятому пунктам — список ресурсов, на которых можно получить сертификат:

По третьему пункту — список сервисов, на которых есть опросники с не очень строгой оценкой, при этом работодатели и заказчики обращают внимание на результаты:

Часто вижу в профилях графические индикаторы уровня знаний, так называемые Skill Bars. Предлагаю воспользоваться моим сервисом Web-Mastery-Gauge для построения таких графиков.

Диаграмма навыков [ web-mastery-gauge.ru ]

Диаграмма навыков [ web-mastery-gauge.ru ]

Знания иностранных языков ценятся, поэтому сертификаты с курсов иностранного языка будут уместны.

6. Подходящие социальные профили (Social Profiles)

Для разработчиков есть две социальные сети, ссылки на которые являются чуть ли не обязательными:

  • Github
  • Linkedin

Bitbucket ценится ниже чем, чем Github, но ссылка на свой профиль в этом сервисе — тоже хорошо. Российский аналог Linkedin — это МойКруг, я там встречал отличные профили веб-разработчиков, прям конфетки.

Хорошим дополнением будет ссылка на stackoverflow, hachcode, toster и другие профессиональные сообщества разработчиков, особенно если у тебя там высокая репутация.
Если есть свой профессиональный блог или профессиональный канал на Youtube — это ценная ссылка в портфолио.
Выкладываешь слайды со своих конференций на SlideShare — отлично.

Можно, конечно, указать свой Twitter, Facebook, Vkontakte, если есть. Я лично стесняюсь их, потому что там большой риск заполнить свою ленту всякими несерьёзными лайками и перепостами, но эти профили позволят заказчику или работодателю составить лучшее представление о тебе как о личности. Обычно профессиональные качества со временем проявляются в хобби, увлечениях, интересах и отношениях с другими людьми (это называется профессиональная деформация).

7. Получение новый знаний (Self-Studying, Mastering, Skill Growing)

«Век живи — век учись» — это про информационные технологии. Учить новое нужно постоянно. И было бы неплохо отразить это в портфолио.

Почему?

Мне встречались квалифицированные специалисты, которые по разным причинам, вынужденно или осознанно, переставали следить за технологиями. Они достигли высокого уровня мастерства в одной узкой специализации. Но жизнь заставила их сменить место жительства или перейти на удалённую работу и оказалось, что в их специализации нет хороших предложений, а их 10+ лет стажа по узкой специализации не достаточны на новом рынке. Некоторые вообще не знают, что такое веб и HTTP. Некоторые пишут с нуля базу данных на C вместо использования популярных SQL/NoSQL решений.

В 2003 году я ушёл из компании, занимавшейся разработкой биллинговой системы для ЖКХ, потому что почувствовал — я заперт в узкой специализации, в одной технологии, мне будет трудно сменить место работы и я навсегда останусь привязанным к этой компании. Теперь я знаю достаточно много про разные биллинговые и платёжные системы и знаю более двух десятков языков программирования. Не все из них даже на 50%, но разобраться в чужом коде могу. Это позволяет мне быть универсальным веб-разработчиком.

Один программист 45 лет попросил составить ему план изучения технологий на 5 лет вперёд с целью … не скучать на пенсии и не зависеть от государства. Да, если он закончит план, то скучать или голодать ему не придётся. Информационные технологии — самое быстро развивающееся направление — его знания 100% пригодятся.

А у тебя как обстоят дела с самообразованием? Куда планируешь пойти учиться? Что планируешь изучить? Что ты изучаешь сейчас? Над чем экспериментируешь?

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

8. Профессиональные интересы

Это только профессиональные интересы, ничего личного.

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

8.1. Текущие интересы  (Professional interests)

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

Примеры профессиональных интересов:

  1. Получить практику в разработке на PHP
  2. Изучить фреймворки Yii, Zend, и Symfony2.
  3. Получить сертификат Zend Certified PHP Engineer
  4. Углубить знания Javascript, Angular.js, Node.js

8.2. Профессиональные цели (Professional aims)

Твои интересы на ближайшие 3 — 5 лет, чтобы работодатель понял, куда ты будешь развиваться.

Примеры профессиональных целей:

  • Провести полный цикл веб-разработки от проектирования до сопровождения
  • Разработать профессиональный веб-инструмент (фреймворк, CMS, CRM или иной) для какого-нибудь специального применения
  • Работать с конечными пользователями, с клиентами
  • Создать высоконагруженное веб-приложение
  • Создать мультиязычный веб-проект
  • Разработать мультиплатформенное веб-приложение
  • Стать руководителем команды разработки
  • Изучить интернет-маркетинг и SEO
  • Работать удалённо
  • Свободно общаться на английском

Насколько подробно публиковать интересы и цели — решать тебе. Можно наметить только ориентиры (этакий todo list), а можно детально расписать план с указанием меток на шкале времени, как делается в SmartProgress. Планирование — отличный навык, даже если пока план реализуется не в срок.

9. Фото (Photo)

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

Выбери самую качественную фотографию. Стиль — деловой, но не слишком строгий (Business Casual). Для вдохновения — поищи в гугле по фразе «мужское портфолио фото». Будь на фото такой, какой ты бы был после того, как закончилась какая-нибудь официальная встреча, но то того, как начался банкет.

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

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

10. Версия для скачивания (Printable Copy, Hard Copy)

Многие предпочитают иметь отпечатанный на бумаге экземпляр резюме или портфолио. Оформи резюме в виде документа, который можно распечатать или сделай сайт-портфолио printer-friendly. По отзывам HR-специалистов, нет «лучшего» формата документа, поэтому рекомендую иметь идентичные версии в форматах PDF и DOC, на всякий случай ODT и просто HTML. Если подскажешь ссылку на сервис, который сразу все эти форматы поддерживает — моё огромное спасибо!

Советую в копию для печати добавить короткую ссылку и QR код для перехода на онлайн-версию веб-портфолио с смартфона или планшета. Лучше если веб-портфолио при этом будет с реализовано с поддержкой «отзывчивой» вёрстки (responsive layout).


Хочешь иметь этот лист под рукой? Скачай всю статью в электронном виде целиком (формат: html или PDF, объём ~10 страниц А4, время чтения 5 минут)

На какой e-mail выслать бонус?

Твой e-mail не будет передан кому-либо
Иногда я присылаю уведомления о публикации других статей на моём сайте http://copist.ru/

Вопросы из этой статьи:

  • У тебя есть идеи, что из этого списка можно продемонстрировать в портфолио и как это сделать? Давай обменяемся идеями и сделаем своё портфолио максимально эффективным. Чтобы заказчик или работодатель посмотрел и сказал — «Этот спец на вес золота — он тот, кто мне нужен!».
  • Если подскажешь ссылку на сервис, который генерирует печатные версии резюме в форматах PDF/DOC/ODT/HTML — моё огромное спасибо!

Бесплатное составление портфолио и резюме

cоздать портфолио

Cервис Web-Mastery-Gauge для вычисления уровня владения навыками и генерации индикаторов для социальных сетей и блогов

Изображение «Мастерская художника» было позаимствовано у Александра Лутай [ceshurik]

Павел Волынцев

Уже более 15 лет занимаюсь разработкой веб-проектов. Fullstack Senior Developer. IT евангелист — доношу свет знаний об информационных технологиях. Профессиональные цели: Дать людям возможность дать людям больше.

Читайте также:

  • bitbacket
    Исправьте, пожалуйста.

    • Спасибо. Всегда ошибаюсь в этом слове 🙂

  • Mohana M

    Hello admin, your blog is very unique and interesting. I gathered some needful information through your blog. Thank you.
    Hadoop Admin Training | Devops Training | Data Science Training

    • Thank you

      • Mohana M

        Welcome sir…

  • Elena Yakymchuk

    Hello! I’m representative of SerfCompany. Our scope of work is Mobile Development, Web Development, Custom Software Development, Automatisation and robot-applications
    We use B2C (business to customer) and B2B (business to business) models.
    http://serfcompany.com/
    we are looking for new projects