Мы в Alconost весьма любим и ценим сторонние проекты, и порой отвлекаемся на них прямо в рабочее время. Так родились бесшабашные и задорные видео о стобаксовой купюре в разных художественных стилях, о том, как сделать инфографику вирусной, об истинной цене ожидания в Интернете… У этих роликов не было заказчика — мы просто получили удовольствие, придумывая, рисуя и анимируя их. Для программистов сайд-проекты тоже имеют особое значение. Мы перевели целую статью шведского предпринимателя и разработчика Дэвида Эльбе об этом.
Я встречал сотни разработчиков. У лучших из них всегда были сторонние проекты, над которыми они колдовали по ночам. Как работодатель, я это всячески поддерживаю. Но существует немало компаний, которые запрещают подобную деятельность.
Давайте поговорим о том, почему я считаю сайд-проекты хорошей идеей, как использую их для саморазвития и на что вам стоит обращать внимание.
Личностный рост
Разработка и программирование (в частности, веб-разработка) — это быстро развивающиеся области, где придется периодически изучать нечто новое. Не поймите неправильно — вам не обязательно пробовать каждый новый Javascript-фреймворк и облачные базы для того, чтобы быть хорошим разработчиком. Я вообще за то, чтобы быть экспертом лишь в нескольких областях, с поверхностными знаниями всего остального. Если решили сосредоточиться на Django и jQuery — тем лучше для вас. Но если столкнетесь с Go, Dart, Less, Slim и Gulp, то обязательно попробуйте и их.
Такая проба может быть весьма поверхностной — буквально посмотреть пару примеров и понять, что может новая «фишка». А если появится интерес, то на этой новой «фишке» вполне можно сделать небольшой проект. Попробуйте пересобрать какое-нибудь простенькое приложение на понравившемся новом языке или фреймворке.
Сначала лабораторные тесты
Ученые не просто так проверяют новое лекарство сначала в лабораторных условиях, прежде чем дать его человеку. Все может пойти не по сценарию, даже если в теории никаких проблем не предвидится.
Работодатель должен быть вам благодарен за пробы новых инструментов в собственных проектах, а не в рабочей среде. Я видел слишком много коммерческих разработок, где все пошло не так из-за того, что разработчик захотел попробовать что-то новенькое. Иногда все работает и с этим новым MongoDB-adapter, но иногда — нет. И ни у кого не хватает опыта для того, чтобы понять, что с этим делать. Так что сначала опробуйте новинку в личном проекте, прежде чем даже подумать о ее использовании на работе.
Какой проект подойдет?
Мне нравится делать такие продукты, которые бы решали мои проблемы либо помогали кому-то еще. Это может быть небольшой ruby gem, веб-приложение, софт для Android или виджет для новых Apple Watch.
Временные рамки
Еще одна полезная вещь — временные рамки. Это работает не для всех, но мне нужно некоторое внешнее давление для завершения проекта в разумный срок. Поэтому в первый день каждого месяца я сворачиваю любую затянувшуюся задачу и начинаю новую. Это не значит, что я больше никогда к ней не вернусь. Просто любой проект должен быть полезным и актуальным.
Сторонние проекты должны радовать
Помните, что частные проекты должны радовать, и это важно. Новая технология не всегда любопытна сама по себе, поэтому не заморачивайтесь с тем, что решает чью-то проблему, но не интересно лично вам.
Иначе такое увлечение будет ощущаться как работа, с ничтожной пользой для реального дела. Если не хватает средств — обсудите с работодателем запуск проекта в формате фриланса. Или в качестве продукта с перспективой продажи, что только повысит вашу ценность в глазах руководства.
Сделайте проект общедоступным
Всерьез рассмотрите возможность открыть исходный код (Open Source). Так вы сможете узнать еще больше. И нет, это не помешает заработать в будущем.
Что? Заработать? Уже интересно.
Сторонний проект не должен быть во имя денег. Разработчики зарабатывают достаточно, чтобы не подрабатывать на стороне. Вместо этого, сфокусируйтесь на решении проблемы и познании нового.
Ведь всегда приятно получить неожиданную оплату за созданный для себя продукт. Помню свою первую продажу в App Store — это было простенькое приложение для ведения счета местной хоккейной команды. Было странно осознавать, что кто-то хочет потратить деньги на мой “домашний” проект.
Я мог бы много написать о заработке, но лучше просто сфокусироваться на решении проблемы. Тогда и продавать будет проще, если появится необходимость.
Порой оно не работает
Помните, я говорил, что лучащаяся новизной технология — не всегда хорошая идея? Иногда подобные задачи занимают времени намного больше ожидаемого, либо навевают тоску через пару недель. Это нормально. Именно поэтому такая деятельность второстепенна и направлена только на себя. Отбросьте неинтересное и займитесь чем-то еще. В любом случае, у вас будет аргумент при обсуждении нового подхода или уже знакомой библиотеки. Все будут благодарны за небольшой частный тест-драйв, который может сберечь уйму времени в реальном проекте.
Помогите кому-нибудь с его задачей
Разбор чужого кода и исправление ошибок позволяет многому научиться. Githubs trending repos — отличное место для поиска готовых перспективных решений.
А каков ваш опыт с сайд-проектами?
Статья переведена специалистами Alconost Translations. Кстати, мы уже переводили популярную статью Дэвида о восьми различных типах программистов — советуем ознакомиться!
Комментарии (29)
Simplevolk
07.10.2015 13:19Вопрос-нужно ли доводить сайд-проекты до конца? Или просто можно попробовать технологию, и переключиться на что-то новое.
Lure_of_Chaos
07.10.2015 13:47Стоит развивать. Лучше сделать его опенсорсным и хостить на GitHub или подобном, делась с сообществом и принимая пулл-реквесты. Немало успешных стартапов выросли именно из проектов «для себя\друзей\мамы» (http://geektimes.ru/post/262258/) — кто знает, может быть, и Ваш проект тоже постигнет удача. В конце-концов, если не будет времени на развитие, всегда можно отдать заинтересованным лицам
Newbilius
07.10.2015 14:01+4Но существует немало компаний, которые запрещают подобную деятельность.
А как можно запретить программировать в свободное время? o_OAntelle
07.10.2015 14:49В одной компании, которая с виду казалась благоразумным работодателем, так и сказали на собеседовании: «у нас — никаких своих проектов, никакого фриланса в свободное время, у нас даже есть юрист, который этим занимается». Интересно, насколько легально иметь такой запрет в договоре? Подскажите, кто знает юридические тонкости.
phprus
07.10.2015 14:58+3Например, в США легально, а в России — нет.
Если, конечно, под свободным временем понимается исключительно НЕ рабочее время, а не ситуации когда часы рабочие, но задач нет и нечем заняться на работе.Antelle
07.10.2015 15:00+3Т.е., в США мне могут сказать, что в 2 часа ночи я не могу написать пару строчек кода? Или нельзя исключительно для получения прибыли?
32bit_me
07.10.2015 16:08+3В ряде штатов США (почти везде, на самом деле), любой код, который вы напишете даже дома, будет автоматически принадлежать работодателю. И это касается не только кода.
Известная история, Возняк, работавший в HP, спрашивал разрешения у начальства на то, чтобы выпускать Apple I, хотя он разработал его дома. Ему разрешили (с формулировкой «кому может понадобиться личный компьютер?»). Иначе это было бы незаконно.Antelle
07.10.2015 16:16О как, спасибо. Это относится только к деятельности, связанной с работой (например, программист — нельзя работать над приложениями) или вообще ко всему — допустим, инженер рисует что-то в свободное время, или музыку пишет?
oledje
07.10.2015 21:46+4Любопытно, а можно пруф?
На сколько я знаю все наоборот. Все что вы пишите, даже в рабочее время, принадлежит вам. Для того, чтобы плоды вашей деятельности принадлежали компании, существуют специальные условия в контрактах.32bit_me
08.10.2015 03:59Я необднократно читал про это в разных источниках в 90-е и 00-е, но сейчас этих статей уже не найду. Да, там именно шла речь о произведениях интеллектуального труда, созданных в нерабочее время. Возможно, всё изменилось.
oledje
07.10.2015 23:16+1Вот нашел хорошее разъяснение по данному вопросу:
www.brightjourney.com/q/working-company-intellectual-property-rights-stuff-spare-time
Судя по всему автоматически принадлежать работадателю ничего не будет. Скорее наоборот, автоматически все принадлежит работнику. Все зависит от трудового договора.phprus
08.10.2015 09:52На мой взгляд изначально вопрос был не в том, как по умолчанию, а как можно сделать договором или другими способами.
В США можно распространить трудовой договор и на код (интеллектуальную собственность) написанный в нерабочее время. В России трудовой договор не может распространяться на нерабочее время.
h0tkey
07.10.2015 16:25И второй вопрос, по важности не уступающий вопросу «как?» — зачем? :)
Нет, серьёзно интересно, какие цели может преследовать работодатель, запрещая сторонние проекты?alekciy
07.10.2015 17:11Потеря фокуса с основного проекта. Что бы мыслями не ушел куда-то туда… Как ни крути на разработке вопрос концентрации на задаче довольно важный.
h0tkey
07.10.2015 17:26Тогда было бы здорово узнать чужие мнения и опыт по вопросу, работает ли это.
На мой взгляд, то же самое, что запрещать жениться или детей заводить — мысли не о том будут — а то и вообще из офиса не выпускать.
Если не утрировать, то мне казалось, что смена деятельности, наоборот, повышает продуктивность, и это даже без учёта всех плюсов, описанных в статье.alekciy
07.10.2015 18:09Если на работе ты пишешь код, в сайд-проекты ты пишешь код, то это точно не смена деятельности.
h0tkey
07.10.2015 18:35Я бы возразил, что сайд-проекты бывают разные и что разработчик, занятый в
кровавомэнтерпрайзе, может по выходным заниматься инди-геймдевом и не только писать код, но ещё и рисовать и даже музыку сочинять для этого, но тут, наверное, спорить не о чем, я вашу мысль понял.
0xd34df00d
13.10.2015 13:26Если на работе я пишу, условно, парсер человеческого языка на плюсах, а дома — вычислительный эксперимент для своей научной работы по регрессионным моделям на хаскеле, то вполне себе смена деятельности.
wasil
07.10.2015 16:47+7С другой стороны, проведя на работе за монитором 8 — 12 часов, прийти домой и засесть опять за компьютер…
Если возраст за 35, дети и т.п. сделать это не так просто…
Если работодатель считает сайд-проекты столь полезным почему бы не выделить немножко рабочего времени, как например, Гугл?limonte
07.10.2015 22:05Гугл вот уже больше двух лет как не выделяет 20% рабочего времени на эксперименты.
redmanmale
07.10.2015 22:33+3Мои сайд-проекты это обычно интересные мне фичи из backlog'а продукта, над которым я тружусь на работе.
Которые по завершении и демонстрации становятся частью продукта.
Vedomir
08.10.2015 11:42-2Я встречал сотни разработчиков. У лучших из них всегда были сторонние проекты, над которыми они колдовали по ночам. Как работодатель, я это всячески поддерживаю.
Де-факто получается что разработчик по ночам, в ущерб собственному здоровью, не говоря уже о банальном отдыхе и личной жизни бесплатно выполняет для работодателя услуги по тестированию и изучению новых технологий для их последующего использования на благо работодателя.
Это просто психологический трюк позволяющий обманом выжать из сотрудника больше за меньшие деньги. Если человеку просто сказать — поработай пожалуйста бесплатно ночами на меня — реакция одна, если сказать — твоя работа по ночам очень способствует твоему развитию и вообще жутко интересное и полезное дело и не надо думать о деньгах — реакция другая.
Саморазвитие конечно хорошо, но развиваться надо не только в одной узкой профессиональной области — но и в других, на которые даже стандартная рабочая неделя и 5 дней по 8-12 часов оставляет не так уж и много времени. Даже если не учитывать развлечения, социальную и личную жизнь есть самое банальное физическое здоровье — которое круглосуточным сидением за монитором очень сильно подрывается.
Хотя конечно есть серьезные сомнения даже на уровне объективного подсчета выгоды для работодателя — будет ли суммарная производительность сотрудника регулярно и много перерабатывающего, выше? Была масса материалов о том что даже 8 часов в день с полной продуктивной работать не получается — и даже про массовый переход на шестичасовой день.
Хотя конечно все возражения снимаются если работодатель разрешает заниматься сторонними проектами в рабочее время.
NeonXP
Отличная статья, читал как про себя. Полностью согласен с идеей сайд проектов, сам веду несколько «личных» проектиков, для себя и друзей. В них очень удобно попробовать «ту клёвую новомодную штучку», так как нет никакой ответственности если всё в проекте сломается.
В частности, мне как бекенд разработчику интересно бывает посмотреть что там в «другом лагере» всяких Angular'ов и React'ов. А опыта в этом маловато, потому ломаю всё постоянно. Но как же это весело, интересно и познавательно!
И наоборот, обкатаю технологию, разберусь в плюсах и минусах, и уже потом, имея конкретные аргументы можно предложить к реальному проекту.