Важность хобби проектов [закрыто]

103

Я хочу знать, насколько важно программировать в свободное время? Нужно ли работать 9-5 программистом, а потом вернуться домой и заняться своим хобби, чтобы стать лучшим программистом?

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

Учитывают ли потенциальные работодатели программирование хобби в интервью или спрашивают об этом просто из любопытства?

Я чувствую вину за то, что у меня нет хобби-проекта, но все, что я могу придумать, уже сделано. Так что я как бы в раздумье, начать что-то, что уже сделано, или оставить это, пока я не придумаю что-то оригинальное?

Pieter van Niekerk
источник
6
В части «не начинать то, что уже сделано» - если это проект FOSS, всегда есть возможность присоединиться к команде и работать вместе.
TC1
41
«Вы не прекращаете играть, потому что стареете; Вы стареете, потому что перестаете играть ». - Бен Франклин.
1
Почему у вас нет хобби проекта? (Серьезно спрашиваю.)
Алекс Фейнман
4
Я верю, что наличие хобби-проекта по своей природе сделает вас лучшим программистом. Если у вас его нет, вы просто будете думать о программировании как о повседневной работе, а не как о чем-то интересном, сложном и веселом.
Макс.
1
Работодатели спрашивают, потому что они хотят знать о вещах, которые вы увлечены. Что-то хорошо сочетается с конкретной рабочей средой, а некоторые нет. Я сомневаюсь, что большинство компаний обвинят вас в отсутствии хобби-проекта. Но если вы увлечены в свободное время чем-то, что они также увлечены этим, это может быть показателем хорошей подгонки.
SoylentGray

Ответы:

145

Я чувствую себя виноватым из-за отсутствия хобби проекта

Чувство вины - это безумная причина, чтобы начать программировать. Возможно, это хороший способ начать ненавидеть программирование. Работайте над чем-то, потому что хотите , а не потому, что думаете , что должны .

но все, что я могу придумать, уже сделано.

Ба! Кого волнует, если это уже сделано? Сделай это снова! Сделать это лучше! Или примите, что вы, возможно, не сможете сделать это лучше, и в любом случае. Где бы была Microsoft, если бы они сказали: «Ну, кто-то уже создал базу данных / электронную таблицу / текстовый процессор / операционную систему / IDE / менеджер проектов / менеджер денег / динамический объектно-ориентированный язык на основе C с одним наследованием / веб-браузер / веб-сервер» / музыкальный плеер / мобильная платформа / поисковая система, так что мы будем искать что-нибудь еще, чтобы сделать ... "?

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

Caleb
источник
78
Проекты могут быть похожи на гуппи - вы начинаете пару, и, прежде чем вы это узнаете, у вас есть 35. Некоторые из этих гуппи могут превратиться в домашних животных размером с песчанку, а один или два из них могут стать размером с кошку или собаку , Но начните с гуппи и не стесняйтесь смывать тех, кто не работает.
Калеб
5
+1 ага! То, что это было сделано раньше, не означает, что вы не должны этого делать. Просто делай то, что ты хочешь делать, ты многому научишься, делая что-то самому.
Спойк
14
Один из лучших способов научиться джазовой импровизации - это скопировать соло великих музыкантов. Программирование происходит точно так же: создавайте вещи, которые уже существуют, и вы научитесь создавать что-то новое.
Дерекердманн
6
«Если что-то стоит того, то стоит делать плохо». (GK Chesterton) Вещи, которые вы узнаете при создании плохого движка блога или плохого почтового клиента, будут иметь неоценимое значение, особенно если вам когда-либо платят, чтобы сделать хороший.
Эрик Уилсон
16
+1 "Бах! Какая разница, если это уже сделано? Сделай это снова! Сделай это лучше!" - Может быть плохо в бизнесе изобретать велосипед, но это очень весело делать дома. Крутая часть, это не должно быть даже лучше.
SoylentGray
59

Я думаю, что хобби проекты важны

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

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

Только выполняя ежедневные старания 9-5, вы можете застыть как разработчик, если вы не представляете новые вещи или новые идеи. Для меня выполнение хобби-проектов - это способ сделать меня лучше, умнее и эффективнее.

Будущие интервьюеры принимают во внимание хобби-проекты

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

Джастин Шилд
источник
4
+1 за "Только 9-5 ежедневных заданий могут застаивать вас как разработчика".
Бобби Столы
15
@Bobby: здесь может быть слово «can». Как это случается, мой 9-5 "гринд" не позволяет мне застаиваться ... Думаю, мне повезло :-))
Марьян Венема
1
+1 IMO хобби - это единственный способ научиться другим фреймворкам, если, конечно, вы не заняты 9-5. Я склонен считать, что хобби помогает и на собеседованиях, но только если вам действительно есть, что показать, а не только, да, я играл с этим.
DBlackborough
+1 за собеседование, моя работа над написанием приложений для Android напрямую привела к тому, что я получил свою текущую должность, хотя я не занимаюсь мобильным программированием в этой должности.
Бифф Магрифф
@ Марджан Венема: Абсолютно. У меня было несколько, которые сделали. Но это может быть немного «вы получаете то, что вы положили» тоже. Что в нескольких моих предыдущих работах было определенно неудачей с моей стороны, чтобы максимально использовать их.
Бобби Столы
41

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

Но важно понимать, что программисты-любители не просто программируют.

  • Они читают блоги
  • Они устанавливают инструменты
  • Они читают исходный код
  • Они отлаживают программы с открытым исходным кодом
  • Они представляют патчи
  • Они участвуют на сайтах программирования StackExchange

Но иногда они вдохновляются, чтобы написать программу для удовлетворения своих собственных конкретных потребностей; удовольствие программиста, потому что оно имеет именно те функции, которые они хотят. А потом они устают от этого и выбрасывают его. Это роскошь хобби!

Рик Сладки
источник
Я согласен, что это не только программирование. Я, и я уверен, что большинство программистов ежедневно выполняют почти все пункты в вашем списке.
Питер ван Никерк
7
+1 Большая часть «программирования» состоит из действий, отличных от добавления нового кода в редактор.
StevenV
26

ИМХО, это не обязательно хобби-проекты как таковые, которые делают вас лучше (хотя они не причиняют вреда наверняка), но остаются открытыми и тратят время на изучение новых вещей в целом. Как заметил @Rick, он может принимать много разных форм, кроме собственно кодирования. Например, вы можете читать книги - но если у вас есть ноутбук, даже код - во время поездок на работу и обратно.

Обратите также внимание, что абсолютно необходимо соблюдать баланс .

  • Если вы не тратите (вашего свободного) времени на обучение, вы застаётесь, и в какой-то момент вам может надоест ваша профессия, и вы не сможете принять новые вызовы.
  • Если вы тратите слишком много времени на обучение, у вас не будет времени на эту любопытную, но важную вещь, называемую «Жизнь», поэтому в долгосрочной перспективе вы можете перегореть и / или получить проблемы со здоровьем.

Еще одна вещь: легко (предложить) работать над хобби-проектами, пока кто-то молод и неженат. На более поздних этапах вы можете завести семью, и это отнимет у вас большую часть свободного времени на многие годы (по крайней мере, если вы хотите сделать это хорошо - и какой смысл в этом?). Таким образом, вы будете вынуждены более эффективно распоряжаться своим временем, чтобы сэкономить драгоценное время на обучение.

Петер Тёрёк
источник
5
+1 за жизнь. Я не работаю в типичной компании, но я считаю, что обучение и постоянное обновление - часть моей работы. Так много моего обучения происходит на работе. Конечно, я не работаю над полномасштабными хобби-проектами на работе, но я нахожу возможности использовать новые вещи «просто потому, что» в своих различных рабочих проектах. Поэтому для меня жизнь важнее, чем хобби.
Фил
2
+1 за жизнь! Важно иметь баланс между работой и личной жизнью. Вы очень быстро сгорит, если вы этого не сделаете!
Стивен Стрига
1
+1 Мне сейчас тяжело с этим. У меня есть две маленькие дочери (6,11), которые требуют моего внимания, моя дневная работа (50 часов), а затем еще 8-16 часов на контрактной работе. Некоторое время он справлялся с этим, выполняя 6-5ish, проводил время с семьей до тех пор, пока не ложился спать около 9ish, а затем работал по контракту до тех пор. Это сработало, но я действительно сгорел. Просто еще не решил, что с этим делать.
Ominus
10

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

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

jkulak
источник
2
Я спрашиваю это в интервью. Если кто-то не занимается хобби-программированием, я не стану им противостоять, потому что в жизни гораздо больше, а с семьей может быть меньше времени для этого (мои проекты застоялись, когда у меня были дети) - но я делаю Считайте это бонусом, потому что это показывает, что у них есть реальный интерес и инициатива Я не могу сказать вам, сколько людей блокируют писателей, если им приходится начинать с "main ()".
phkahler
7

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

Tangurena
источник
+1 за хороший лаконичный ответ. Будьте осторожны, чтобы не принять причинно-следственную связь, хотя.
Калеб
6
Почему вы не можете идти в ногу с новым материалом для работы? Похоже, проблема здесь в том, что плохой, узколобый работодатель, а не отсутствие хобби-проектов.
6

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

Дэвид Сайкс
источник
4

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

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

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

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

user29079
источник
1
+1 за то, что был единственным ответом, который говорит, что хобби-проект не нужен, всегда хорошая вещь (требует времени и энергии). Лично у меня есть много дел в то время, когда я не на работе, и у меня редко есть время для программирования (хотя просмотр SO не так требователен, как фактическое программирование). Эти вещи включают в себя работу по дому, общественную жизнь, отдых, чтобы я мог быть продуктивным, когда я возвращаюсь на работу в понедельник (я много сплю; о)), и т. Д. Не говоря уже о том, что это плохо, эти парни, возможно, лучше, чем я для работодателя, но я предпочитаю иметь более сбалансированную жизнь лично.
n1ckp
3

Я больше в викторинах и подобных маленьких кусочках кода, чем в полностью масштабируемых проектах (хотя попробуйте поработать над некоторыми проектами OSS, если у меня будет время). Поэтому для меня нет особого оправдания, чтобы сказать, что у меня нет отличной идеи для проекта. Просто напишите немного решателя судоку и попробуйте реализовать что-то вроде Dancing Links, чтобы сделать это быстрее.

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

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

Торстен Мюллер
источник
1
Что касается тестов и тому подобного, я работаю над головоломками, такими как Project Euler.
Питер ван Никерк
3

Хобби-проекты сами по себе не будут иметь значения в большинстве интервью. Есть несколько людей, которые заботятся о том, чтобы ты занимался программированием как хобби, но большинство этого не делают. ОДНАКО, навыки, которые вы приобретаете в хобби, могут быть важны в интервью!

Дополнительное программирование на стороне определенно будет выгодно в программировании, вплоть до момента, когда вы перегораете ... Однако, даже помимо проблемы выгорания, вам также нужно учитывать, что работодатели часто ищут другие навыки, помимо программирования. Если вы программируете 24/7, вы не развиваете ДРУГИЕ навыки! Баланс... :-)

Брайан Кноблаух
источник
2
В моем последнем раунде интервью я ожидал провести несколько тестов кода. Вместо этого эта компания попросила посмотреть мой опубликованный код. Ну, единственно, что я мог юридически показать им, это был мой хобби-проект (мероприятие, рассчитанное по времени, которое я точно не сделал крепким и чистым). Проект также всплыл в других интервью. Люди заботятся. Но вы правы в том смысле, что никому нет дела до того, что вы поступили в колледж, они заботятся о том, что вы узнали там.
Филипп
3

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

Мое предложение найти новый хобби-проект:

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

Лучше всего будет тот, который кажется вам совершенно странным. Потому что чем более инородным он выглядит, тем больше он расширяет ваш кругозор.

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

Вы пробовали функциональный язык программирования? Вы пробовали распределенные языки программирования? Образцы соответствия языков?

Для поиска небольших проектов для работы над Project Euler очень рекомендуется.

оборота Peer Stritzinger
источник
Я бы немного перефразировал это - используйте новый язык для своего хобби-проекта. Тогда проект - это мотивация, а не обучение.
phkahler
Хорошее предложение, сделал это
Peer Stritzinger
2

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

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

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

Чарльз Спрейберри
источник
1
Это действительно хороший совет всем, кто не имеет опыта работы и ищет свою самую первую работу программиста.
2

Другие много рассказали, но я хочу сосредоточиться на этой части:

Я чувствую вину за то, что у меня нет хобби-проекта, но все, что я могу придумать, уже сделано. Так что я как бы в раздумье, начать что-то, что уже сделано, или оставить это, пока я не придумаю что-то оригинальное?

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

Но нет никаких причин, по которым ваш хобби-проект должен делать что-то полезное для всех. Например, я недавно начал изучать Haskell , просто потому, что он настолько сильно отличается от привычных языков, к которым я привык, и его действительно легко настроить. Я также только начал изучать язык ассемблера Redcode , используемый в программирующей игре Core War , опять же из любопытства.

Это, в свою очередь, побудило меня заняться созданием плагина Notepad ++ для обеспечения улучшенных функций подсветки синтаксиса для Redcode, что заставило меня задуматься над изучением C ++ . Опираясь на мое сравнительное знакомство с .NET, я теперь размышляю над тем, как настроить себя на Visual C ++ .

И дело в том, что все это на самом деле «не имеет значения», по крайней мере, не как проект. Черт, я не уверен, что вы могли бы даже назвать это проектом как таковым , так же как кучей вещей , с которыми я как-то возился, потому что это привлекло мое внимание. Я имею в виду, вам понадобится немного времени и организации, чтобы убедиться, что вы действительно что-то из этого получите , но никто не будет беспокоиться, если я перестану иметь время для Хаскелла, как только начнется школа.

И никого не волнует, если окажется, что разработка плагинов для Notepad ++ сложнее, чем я ожидал, и я сдаюсь - действительно, я изучил Perl, прежде чем углубиться в Redcode, и довольно быстро отказался от него, потому что мне было трудно получить среда настроена правильно. Это показало отсутствие настойчивости? Да уж. Но никого не волнует, потому что это мое хобби , а это значит, что я могу играть с тем, что я чувствую.

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

Суть в том, чтобы найти что-то совершенно новое и посмотреть, насколько это интересно, как кажется. Если это так, отлично, и если это не так, двигайтесь дальше. Вы когда-нибудь испытывали хоть малейшее любопытство к компиляторам или интерпретаторам? Иди, посмотри на ЛОЛКОД . Если это делает вас таким же счастливым, как и меня, тогда самое время начать изучать компиляторы . И, может быть, вам стоит вернуться и снова подумать о выделении синтаксиса. На самом деле, это будет следующий проект, который я начну.

Если это не ваша вещь, попробуйте что-то более низкого уровня, чем вы привыкли. Или более высокого уровня. Это не важно Единственное, что имеет значение, это то, что когда вы смотрите на это, вы думаете: «Весело!»

Argumentum ad Stultitiam
источник
0

Эти проекты необходимы для серьезного программиста, особенно если вы работаете фрилансером.

Вместо работы 6 дней в неделю, 1 день отдыха, вы можете работать 5 дней в неделю, 1 день для тестирования новых теорий и функций и 1 день отдыха.

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

deviDave
источник
0

Я занимаюсь интервьюированием и наймом в моем магазине. «Хобби-проект» - это всегда плюс для нас.

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

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

Вы будете помнить, в хорошем смысле.

Джим в Техасе
источник
0

Я считаю, что программирование в свободное время служит двум целям:

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

2) Это дает мне возможность расширить и отточить свои навыки программирования, так как я свободен создавать все, что захочу.

Тем не менее, я думаю, что также важно сбалансировать это с некоторыми некомпьютерными увлечениями. Для меня это поддержание ручья и следов за моим домом.

CodeMouse92
источник
0

Наличие приложения для домашних животных - отличный способ заставить себя изучить те части вашей текущей платформы, о которых вы, возможно, и не думали. Например, вы можете быть отличным разработчиком C #, работающим над приложением ASP.Net на работе. Но если в вашей команде есть парень, посвященный CSS, вы, возможно, никогда не научитесь этому должным образом. Тем не менее, если у вас есть домашний веб-проект, вам нужно научиться делать CSS. Это верно для целого ряда технологий, с которыми вы столкнетесь, если у вас есть собственный проект, в котором вы являетесь единственным разработчиком.

Для хорошего описания всех преимуществ приложений для домашних животных, проверьте этот пост .

epotter
источник