Разработка
April 21

Пет-проекты

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


Давайте так: если человек специалист в своем деле, то наверное уже 3-5-7-12-20+ лет человек знает, что делает. Выбрал себе сферу, стал в ней крутым.

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

Здесь должна быть шутка вида «как работает айтишник? Сидит за компом. Как отдыхает айтишник? Сидит за компом».

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

«Театр рождается внутри.
Спектакль — это побочный эффект, зрители — побочный продукт»
(приписывают Станиславскому)

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

Не, ну если есть желание написать 100500-й туду-лист на коленке, тоже окей, кто ж вам запретит. Было бы желание.


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

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

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

Мне кажется, как к вольному художеству к ним и надо относиться.
Нравится — ну, на стенку повесьте.


Когда сам зашился, полезно выдумать себе задачу/проект, который позволит выбросить коробку-в-голове, и взглянуть на типовые штуки под другим углом. Это не рынку надо, это вам надо. Можно применить методы ТРИЗ, чтобы выработать фичсет или новый набор ограничений. Заодно и про ТРИЗ вспомните.

Можно чужие тестовые поделать, там бывает забавное (потому что вообще, тестовое обязано быть обособленным, завершаемым и не привязанным к реальному рабочему процессу — за противоположное огрести можно).
Как раз нам подходит.

Из российского, помнится, Студия АЛГ подобным забавлялась — «нарисуй приложение для продажи воздуха», «напиши тест-кейс для умного шлагбаума», «создай конструктор борща», «спроектируй интерфейс бронирования пляжа». В западных каналах постоянно аналогичное пробегает, если самим не выдумывается.

Пет-проект должен иметь заявленную ценность и цель. Какую задачу вы решаете. Ценность «поиграться с технологиями» тоже ценность, цель «смотри как я могу» — тоже цель. Главное, чтобы они были. Мозгу полезно.

«Должен», в этом случае — всё еще для вас самих. Судей нет.



Немного подушним.

Отдельно хочу предостеречь от использования (и параллельного использования) кастомных наработок похожих на пет-проект где-то в рабочем процессе. Это вопрос про юристику и лицензирование.

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

Проблема 1. Имел ли право Вася так делать? Не факт.
С точки зрения Васи, он взял себе задачу и красиво ее решил, смотри какой молодец. Это полезно, Вася прокачался.

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

При этом доказывать всё вышеизложенное юристам придется именно Васе, т.к права работодателя уже (могут быть) ущемлены.

Проблема 2. Если Васе приходит в голову светлая мысль заинтегрить себе в рабочее решение компании свою только что написанную библиотеку, то компании придется выяснить лицензионную чистоту такого решения (раз), и оформить надлежащим образом все возникающие риски (два).

Что, если Вася завтра прекращает работу, и закрывает доступ к своему гитхабу? Что, если Вася решит в одностороннем порядке поменять схему лицензирования — например, опубликовать код под открытой лицензией — что идет вразрез с лицензионной политикой компании и, в ряде случаев OS-моделей, заставляет корректировать лицензию родительского большого продукта? Такой балет компании обычно не нужен.

Проблема 3. Что, если Вася писал вообще несвязанную с рабочим проектом дичь, но использовал для написания и отладки корпоративные ресурсы, технику и материалы, или даже рабочее время? В ряде юрисдикций это однозначный залёт — см. эпизод из сериала Кремниевой Долины (Silicon Valley, Netflix/HBO 2014) если чтобы весело. Если не весело, то юридическую практику.

Как минимум, в сомнительных случаях — всегда порекомендую дойти до технического руководства и/ли юристов компании с вопросом «а можно я вот такое напишу (написал) и выложу у себя/в опенсорц?» Электронная переписка и ответы в ней — уже артефакт, в случае если дело дойдет до разбирательств.

Но все еще горячо советую работу и пет-проекты не смешивать. А если смешивать, то взаимно не использовать.