Если вы — айтишник без опыта коммерческой разработки, попасть сразу в сильную команду, очевидно, непросто. Будучи руководителем направления frontend-разработки, я каждый год с коллегами просматриваю множество портфолио кандидатов, включая джунов, и отобрал типы проектов, которые зацепили нас больше всего.
Дисклеймер
Большая часть постоянных читателей Хабра — уже опытные ребята, давно работающие в IT. Поэтому, если вам есть что дополнить или возразить — пожалуйста, делайте это в комментариях. Например, расскажите о том, как вы сами попали в IT. Это поможет начинающим, легче сориентироваться и посмотреть на проблему с разных сторон.
Курсовые и дипломные работы
Если вы студент-айтишник, для вас есть лайфхак: можете составлять портфолио из лабораторных, курсовых и дипломных работ. Многие преподаватели либо сами работают в IT-компаниях, либо имеют контакты с потенциальными работодателями. Поэтому выбирайте сложные и интересные вам темы, чтобы обратить на себя внимание.
Так, в качестве курсовой работы я написал «убийцу ВК». «Убийца» получился настолько грозным, что мог лишь выводить профиль пользователя и отправлять сообщения, жутко тормозил и периодически крэшился. Но преподаватель все равно оценил старания и помог устроиться на первую работу. Скрины, увы, не сохранились, а очень жаль.
Собственные проекты
Если у вас нет собственного пет-проекта, ничего удивительного — у большинства моих коллег их тоже нет. Но если вы в начале своего пути в IT и решительно настроены, реализовывайте проекты, которые вам действительно интересны. Это единственный способ сохранять мотивацию, иначе для вас это превратится во вторую работу, и не факт, что любимую.
Далее приведены несколько примеров от меня и коллег. Конкретно эти проекты выполнены уже работающими специалистами, но похожие нам показывают кандидаты, которых мы впоследствии берем на работу. Или на стажировку, а уже оттуда — на работу.
Приложение для турнира по кикеру
Кикер и настольный теннис, как известно, традиционные айтишные виды спорта. Мне лично очень полюбился кикер, и азарт, а также желание померяться статистикой, сподвигли меня написать приложение для настольного футбола с матерной озвучкой голов. Приложение простое: оно считает голы и позволяет выбирать, кто из четырех игроков забил мяч. Затем вся статистика выводится на сайт с рейтингами.
Мы провели несколько турниров внутри компании и дали возможность посоревноваться участникам 404 феста и Дизайн-выходных, и ребята остались довольны. А во время различных ярмарок вакансий университеты интересуются, притащим ли мы стол для кикера. Правда, озвучку приходится отключать :)
Шуточный тотализатор со слухами о новинках Apple
В компании, где я работаю, есть добрая традиция собираться командой и вместе смотреть презентации Apple. Перед каждым событием или WWDC мы пытаемся угадать, какие яблочные девайсы анонсируют в этот раз.
Чтобы угадывать было веселее, мой коллега ради забавы создал в Google-таблицах «яблочный тотализатор». Для этого он написал формулу для подсчета вероятности с понижающим коэффициентом, чтобы наименее очевидные ставки приносили больше “яблок”.
Когда на яблочный тотализатор подсадили почти всю компанию, поняли, что в табличке стало тесновато. За пару недель создали отдельный сайт, открыли доступ всем желающим, а «Яблочный тотализатор» превратился в «Яблозатор».
Во время презентации iPhone 11 в «Яблозаторе» делал ставки Wylsacom — с его стрима в приложение залетела толпа гиков, и, судя по всему, виртуальные яблоки пришлись им по вкусу. Так из Google-таблицы «Яблозатор» стал фановым сервисом с пиковым онлайном в 10 000 пользователей.
Улучшайзинг Прибывалки
Не всегда нужно придумывать проекты с нуля. Порой достаточно хорошенько посмотреть по сторонам — возможно, вы можете существенно улучшить что-то, чем уже активно пользуются.
Прибывалка — когда-то популярное приложение, с помощью которого отслеживали движение муниципального транспорта в Самаре: через сколько приедет автобус или куда подевался трамвай. Прибывалка появилась задолго до аналогичной функции в картах Яндекса и Гугла. И хотя приложением ежедневно пользовались тысячи горожан, в какой-то момент версия для iOS перестала обновляться и морально устарела.
В далеком 2015 году мои коллеги, дизайнер и iOS-разработчик, решили переделать iOS-версию приложения. Через несколько недель их версия вышла в официальный релиз.
Проекты с курсов
Курсы — это хорошо. Благодаря им можно узнать, как работает тот или иной инструмент и сразу же применить полученные знания на практике. Но проекты, которые студенты создают на курсах, не произведут впечатления на ревьюера. Тудушки и интернет-магазины по туториалам ничего не скажут опытному разработчику о ваших способностях мыслить и самостоятельно находить решения. Поэтому сразу совет: применяйте полученные на курсах навыки на собственных проектах, которыми затем пополните портфолио.
Лучше меньше, да лучше
Главный урок для джунов: кейсы в портфолио могут не только не помочь, но и навредить. У нас был случай, когда мы отказали кандидату из-за большого количества слабых пет-проектов и контрибьюшенов, а на это место взяли человека с минимальным набором нужных на тот момент навыков.
Поиску работы я также посвятил серию постов в ТГ моей команды, рассказал, с чего начинал я сам. Плюс там же о нашем техническом стеке фронтенд-разработки, моем опыте в мобильной разработке на React Native и немного о фановых проектах.
Подводя итог
Курсовые, лабы, дипломы
Если учитесь в университете, не теряйте времени. В технических вузах много занудных предметов, поэтому, когда появляется возможность сделать что-то интересное и практически применимое во время учебы, используйте её. Я получил свой первый оффер как раз благодаря студенческому проекту.
Пет-проекты
Собственный проект нужно начинать с горящими глазами, иначе зачем это всё? Даже предельно простая задумка будет хорошей, если вы действительно хотите воплотить её в жизнь. Работайте над проектами, которые интересны вам и полезны другим. И помните: на первых порах полезность и практическая применимость важнее чистоты кода.
Курсы
Шаблонные приложения не помогут устроиться в классную компанию. Главная польза курсов — они помогают освоить новые инструменты. Используйте полученные навыки в собственных проектах.
И напоследок: не добавляйте в портфолио всё подряд, выбирайте проекты, в которых вы уверены.
Успехов!
artemfisher
Какое проекты считаются сильными, а какие слабыми? Можете привести какие-то плюс минус конкретные критерии. Интересует больше со стороны бэкенда (Java, Spring).