Почему вашему портфолио кодирования нужны библиотеки и пакеты
14 ноября 2022 г.Создание готового к работе портфолио проектов по программированию не происходит за одну ночь, но если вы похожи на большинство разработчиков-самоучек, вы, вероятно, создали хорошую коллекцию приложений для задач, калькуляторов и других игрушечных программ. Дело в том, что приложения для конечных пользователей — это прекрасно, но я здесь, чтобы убедить вас, что добавление библиотеки в ваше портфолио сделает вас намного более перспективными. р>
Специальная библиотека, которую я написал, несколько раз помогала мне найти работу, но я расскажу об этом позже.
Подождите, в чем разница между приложением и библиотекой?
Приложения — это обычные программы. Они начинают и делают некоторые вещи. У них есть точка входа, такая как функция main()
. С другой стороны, библиотека (она же пакет) состоит из некоторого кода, предназначенного для использования в других программах. Если вы когда-либо использовали go get
, npm install
или pip install
, значит, вы включили стороннюю библиотеку в свой код.
Вот несколько примеров.
| Имя | Тип | |----|----| | Докер | Приложение | | Кубернетес | Приложение | | Дискорд | Приложение | | иди-кролик | Библиотека | | пустышка | Библиотека | | Лодаш | Библиотека |
Что вообще такое "портфолио проекта"?
Проект портфолио – это просто проект, которым вы можете поделиться с потенциальными работодателями – как готовый продукт, и код. Его основная цель — просто помочь вам в поиске работы, он показывает, на что вы способны, и, честно говоря, отличное портфолио может многое сделать для вашего README.md с описанием того, что они делают и как их использовать. * Сделайте что-нибудь интересное. Чем интереснее ваш проект, тем больше вероятность, что вы привлечете внимание менеджера по найму.
Я рекомендую сделать хотя бы один из ваших портфолио проектов библиотекой и хотя бы один приложением.
Я бы также рекомендовал привести в порядок свой профиль GitHub или GitLab, в конце концов, именно там живет ваше портфолио. Это нормально, если в вашем GitHub указано больше двух-трех проектов из портфолио как общедоступных, но вы, вероятно, захотите закрепить только свои лучшие работы.
Хорошо, а зачем мне создавать библиотеку для своего портфолио?
- Разработка хорошей библиотеки свидетельствует о глубоком понимании разработки и архитектуры программного обеспечения.
- Инженеру легче понять, чем полезна библиотека, чем случайное приложение, которое может быть или не быть целевым пользователем
- Вашему проекту будет проще завоевать популярность на GitHub как на библиотеке, которая может выступать в качестве социального доказательства.
- Многие разработчики начального уровня не создают библиотеки, поэтому вы будете выделяться
Давайте рассмотрим каждый пункт подробнее.
1. Библиотека демонстрирует инженерные и архитектурные навыки
Создать небольшое приложение, используя ужасные методы кодирования и архитектуры, довольно просто. Пока это работает, ваши пользователи даже не заметят, что код дерьмовый, верно?
С библиотеками это не сойдет с рук. Ваши пользователи — разработчики, поэтому, если открытые функции, классы и типы вашей библиотеки плохо написаны, это ужасно очевидно. И наоборот, кто-то может легко и быстро просмотреть вашу документацию, чтобы увидеть, есть ли в вашей библиотеке хороший API.
Когда менеджеры просматривают вашу работу, важно, чтобы они могли быстро сказать, что вы создали что-то потрясающее, и пакеты могут эффективно сообщать об этом.
2. Случайный менеджер по найму, скорее всего, будет вашим "целевым пользователем"
Создать классное приложение, которое люди будут использовать, очень сложно, и оно почти не зависит от навыков программирования. Однако в процессе найма очень помогает, если люди, проводящие собеседование, считают, что вы создали что-то классное.
Когда вы создаете приложение, вы обычно создаете его для определенного типа людей. Например, Tinder создан для (в основном) одиноких людей, которые ищут отношения. Людям, состоящим в счастливых моногамных отношениях, вряд ли будет интересен Tinder.
Однако, когда вы создаете библиотеку, даже если ваш интервьюер не является пользователем вашей библиотеки (например, из-за несоответствия языка программирования), он, скорее всего, поймет и оценит техническую проблему, которую решает ваша библиотека. Приложения решают всевозможные проблемы, от выставления счетов за медицинские услуги до скуки. Библиотеки действительно решают одну-единственную проблему: техническую сложность, и это понимает каждый разработчик.
3. Библиотеки могут быстрее набирать обороты
Хотя в этом нет необходимости, это очень поможет вам в поиске работы, если один из ваших проектов сможет получить за собой "социальное доказательство". Звезды GitHub, сообщения в блогах со ссылками на эту технологию и внешние запросы на вытягивание — все это быстро сигнализирует читателю, что этот проект «законен».
Я не говорю, что вы должны тратить свое драгоценное время на маркетинг своего портфолио, но дополнительное преимущество библиотек перед приложениями состоит в том, что они, как правило, легче набирают обороты в кругах разработчиков. Если вы создаете библиотеку, решающую значимую техническую проблему, даже если она небольшая, а затем публикуете ее на NPM или в любом другом месте, наиболее подходящем для языка, у вас есть хорошие шансы получить пару пользователей и поклонников.
4. Большинство разработчиков не создают библиотеки
Когда вы подаете заявку на свою первую работу разработчика, вы конкурируете со многими другими новыми разработчиками. Откровенно говоря, большинство кандидатов занимаются одними и теми же старыми делами, из-за чего команде по найму сложно найти лучших людей. Все, что вы можете сделать, чтобы выделиться положительно, поможет!
Тот факт, что у большинства разработчиков даже нет хорошего портфолио проектов, уже будет очко в вашу пользу. Однако, если в дополнение к этому у вас есть классная библиотека с простым API, вы окажетесь в действительно хорошем месте.
Библиотеки и пакеты, которые помогли мне в работе
Я написал пару небольших пакетов, которые помогли мне в поиске работы. Хотя я не упоминаю их всех в каждом интервью, по крайней мере один упоминался в моих последних трех интервью. Ну, последние 3 собеседования, на которых я согласился на работу.
Вот они в порядке убывания старшинства в моем портфолио:
Удачи в текущих и будущих поисках работы!
Также опубликовано здесь
Оригинал