Важливість хобі-проектів [закрито]


103

Хочу знати, наскільки важливо програмувати у вільний час? Чи потрібно працювати своїм 9-5 програмістом, а потім повертатися додому і працювати над своїм хобі, щоб стати кращим програмістом?

Це означає, що я знаю, що ти краще покращуєшся програмуванням, ну, програмуванням.

Чи враховують потенційні роботодавці хобі-програмування під час інтерв'ю чи вони запитують це лише з цікавості?

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


6
Що стосується частини "не починати щось, що вже зроблено" - якщо це проект FOSS, завжди є можливість приєднатися до команди та працювати разом.
TC1

41
"Ви не перестаєте грати, тому що старієте; ти старієш, тому що перестаєш грати. "- Бен Франклін.

1
Чому ти не маєш хобі-проекту? (Питаю серйозно.)
Алекс Фейнман

4
Я вважаю, що проект хобі, від природи, зробить вас кращим програмістом. Якщо у вас її немає, ви просто будете вважати програмування як щоденною роботою, а не як щось цікаве, складне та веселе.
Maxpm

1
Роботодавці запитують, бо хочуть знати про речі, якими ти захоплюєшся. Щось добре поєднується з певним робочим середовищем, деякі з них не роблять. Я сумніваюсь, що більшість компаній винуватить вас у тому, що ви не хобите проект. Але якщо ви у захоплений час захоплюєтесь чимось, вони теж пристрасні, це може бути показником гарної придатності.
SoylentGray

Відповіді:


145

Я відчуваю провину за те, що не маю хобі-проекту

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

але все, що я можу думати про те, вже зроблено.

Ба! Кого хвилює, якщо це вже зроблено? Зробити це знову! Робити це краще! Або прийміть, що ви, можливо, не зможете зробити це краще і зробіть це все одно. Де був би Microsoft, якби вони сказали "добре, хтось уже створив базу даних / електронну таблицю / текстовий процесор / операційна система / IDE / менеджер проектів / менеджер грошей / диспетчер грошових ресурсів на основі С на основі єдиного успадкування, динамічний об'єкт, орієнтований на мову / веб-браузер / веб-сервер / музичний плеєр / мобільна платформа / пошукова система, тож ми будемо шукати щось ще ... »?

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


78
Проекти можуть бути схожими на гуппі - ви заводите пару, і перш ніж дізнатися про це, у вас є 35. Кілька з цих гуппі можуть перетворитися на домашніх улюбленців, а один або два з них можуть набути кота чи собаку розміром . Але почніть з гуппі, і не соромтеся промивати тих, що не виходять.
Калеб

5
+1 Так! Тільки тому, що це робилося раніше, не означає, що ви не повинні цього робити. Просто зробіть те, що хочете зробити, ви багато чого навчитеся робити самі.
Спайк

14
Один з найкращих способів навчитися джазовому імпрові - це копіювати соло великих музикантів. Програмування точно таким же чином - будуйте речі, які вже існують, і ви навчитесь створювати щось нове.
derekerdmann

6
"Якщо річ варта зробити, то варто зробити погано". (GK Chesterton) Те, що ви дізнаєтесь, створюючи поганий двигун блогу або поганий клієнт електронної пошти, буде неоціненним, особливо якщо ви коли-небудь платите, щоб зробити хороший.
Ерік Вілсон

16
+1 "Ба! Кого хвилює, якщо це вже було зроблено? Зробіть це ще раз! Зробіть краще!" - У бізнесі може бути погано винаходити колесо, але багато цікавого робити вдома. Прохолодна частина це не мусить бути навіть краще.
SoylentGray

59

Я думаю, що проекти хобі важливі

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

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

Лише виконання щоденного помелу 9-5 може застоювати вас як розробника, якщо ви не представляєте нових речей чи нових ідей. Для мене здійснення хобі-проектів - це засіб для досягнення мети зробити мене кращим, розумнішим та ефективнішим розробником.

Потенційні інтерв'юери враховують хобі-проекти

На мій досвід, якщо ви робили проект хобі за відповідною технологією, яку ваш роботодавець зараз використовує або "дивиться". Ви отримуєте бонусні кудоси за те, що вже ознайомилися з відповідною технологією. Це особливо актуально для нових технологій, які тільки що потрапили в мейнстрім, де ігрові умови вирівнюються щодо технологічного досвіду.


4
+1 за "Тільки щоденне подрібнення 9-5 щодня може застоювати вас як розробника".
Столи Бобі

15
@Bobby: "може" - це оперативне слово тут. Як це буває, 9-5 моїх "шліфувань" не дозволяють мені застоюватися ... Я думаю, мені пощастило :-))
Мар'ян Венема

1
+1 Хобі-робота в ІМО - це єдиний спосіб, коли ви справді можете вивчити інші рамки, якщо, звичайно, ви не зайняті 9-5. Я схильний вважати, що робота з хобі допомагає і в інтерв'ю, але тільки якщо ви насправді маєте що показати, а не просто так, так, я зіграв з цим.
DBlackborough

+1 для співбесіди, моє зайняття написанням програм для Android безпосередньо призвело до того, що я отримав своє поточне становище, хоча я не займаюся мобільним програмуванням на цій посаді.
Biff MaGriff

@Marjan Venema: Абсолютно. У мене було декілька, що робили. Але це може бути трохи "ви отримуєте те, що вкладаєте" теж. Що за пару моїх попередніх робіт, безумовно, був невдалим з мого боку, щоб максимально використовувати їх.
Столи Бобі

41

Проблема вашої поточної роботи полягає в тому, що для виконання вашої роботи вам, ймовірно, потрібен лише обмежений набір навичок. Світ програмування настільки величезний, що легко застрягти в колії рік за роком. За допомогою програмування хобі ви можете розгалужуватись та бути готовими до інших технологій, перш ніж з'явиться можливість у вашому поточному становищі чи в іншому місці.

Але важливо усвідомити, що програмісти-любителі не просто програмують.

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

Але іноді вони надихаються написати програму для задоволення власних конкретних потреб; винне задоволення програміста, оскільки воно має саме ті функції, які вони хочуть. А потім вони втомлюються і викидають. Оце розкіш хобі!


Я згоден, що мова йде не лише про програмування. Я, і я впевнений, що більшість програмістів щодня майже всі пункти у вашому списку роблять.
Пітер ван Нікерк

7
+1 Стільки "програмування" складається з інших заходів, крім того, як забивати новий код у редактор.
StevenV

26

IMHO - це не обов’язково проекти хобі як такі, що покращують тебе (хоча вони точно не шкодять), але залишаються відкритими і витрачають час на вивчення нових речей. Як зазначав @Rick, окрім власне кодування, це може приймати багато різних форм. Ви можете, наприклад, читати книги, але якщо у вас є ноутбук, навіть код - під час поїздок на роботу та з роботи.

Зауважте також, що абсолютно потрібно підтримувати рівновагу .

  • Якщо ви не витрачаєте жодного (свого вільного) часу на навчання, ви будете застоюватися, і в якийсь момент може вам зовсім набриднути своєю професією і не зможете приймати нові виклики.
  • Якщо ви витратите занадто багато свого вільного часу на навчання, ви не встигнете на цю цікаву, але важливу річ, яку називають Життя, таким чином, у перспективі ви можете вигоріти та / або отримати проблеми зі здоров’ям.

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


5
+1 за життя. Я не працюю в типовій компанії, але вважаю, що навчання та оновлення є частиною моєї роботи. Так багато мого навчання відбувається на роботі. Зрозуміло, я не працюю над повномасштабними хобі-проектами на роботі, але я знаходжу можливості використовувати нові речі "просто тому, що" у своїх різних робочих проектах. Тож для мене життя важливіше, ніж хобі.
Філ

2
+1 на все життя! Важливо мати баланс між роботою та життям. Ви дуже швидко вигораєте, якщо цього не зробите!
Стівен Стрига

1
+1 Зараз мені важко з цим. У мене є дві маленькі дочки (6,11), які вимагають моєї уваги, моя денна робота (50 годин), а потім ще 8 - 16 годин на контрактній роботі. Деякий час керував цим, роблячи 6-5 корінь, проводь час із сім’єю до сну близько 9ш, а потім за контрактом працюй до всякого часу. Це спрацювало, але я дійсно вигорів. Просто ще не вирішили, що з цим робити.
Омін

10

Робіть побічні проекти! Не думайте про це як про щось нове в Інтернеті, подумайте про це як про практику своїх навичок, пісочницю для вивчення / оволодіння технологіями та підходами.

Як роботодавець я завжди питав своїх потенційних колег, чи роблять вони якісь цікаві побічні проекти. І навіть у випадку, якщо це не були видовищні ідеї, але їх автори виявляли хвилювання з цього приводу - це завжди було великим профі.


2
Я запитую це в інтерв'ю. Якщо хтось не займається хобі-програмуванням, я не буду заважати їм, тому що на життя є набагато більше, а з родиною може бути менше часу на таке (усі мої проекти застоювалися, коли у мене були діти) - але я вважайте це бонусом, оскільки це показує, що вони мають реальний інтерес та ініціативу. Я не можу сказати, скільки людей блокують авторів, якщо вони повинні починати з "main ()".
phkahler

7

Програмісти, яких я зустрічаю, яким важко бути в курсі нових технологій, - це хлопці, які трактують це як роботу. Їхні колеги - ті, хто не відстає від нових речей, - це ті, хто робить речі вдома.


+1 за приємну стислу відповідь. Але будьте обережні, щоб не припускати причинності.
Калеб

6
Чому ви не можете бути в курсі нових речей на роботі? Здається, проблема тут є поганим, обмеженим роботодавцем, а не відсутністю проектів-любителів.

6

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


4

Якщо ви справді маєте інтерес та енергію до цих проектів, то будь-ласка, робіть їх. Але я не хотів би сказати, що це необхідно для будь-якого серйозного програміста. Якщо ви працюєте на повний робочий день з програмуванням, а також займатися у вільний час, це не обов'язково підвищить ваш інтерес до нього, це може мати протилежний ефект. Особисто я раніше займався хобі-проектами, але зупинився. Я вже програмував 5 днів на тиждень, і мені здалося здоровішим робити вільний час щось зовсім інше.

Крім того, якщо ваш роботодавець не дає вам місця для тестування нових речей на роботі, навчання та вдосконалення постійно, то, ймовірно, вам слід шукати нову роботу, а не робити ті речі у вільний час. Хороший роботодавець усвідомить, що у власних інтересах підтримувати свої навички оновленими, удосконаленими і розширеними

З точки зору роботодавця (я одна з таких), хобі-проекти будуть заслугою, якщо у вас немає фактичного досвіду роботи. Тоді всі хобі та шкільні проекти будуть дуже важливими для того, щоб відображатись як орієнтири під час співбесіди.

Але якщо у вас є досвід, вони менш актуальні: хоча вони можуть вказувати на пристрасть до вашої торгівлі, вони в той же час можуть вказувати на те, що ви трохи глузник. Зі свого особистого досвіду я не можу знайти жодного зв’язку між хобі-проектами та хорошими / поганими кандидатами, не думаю, що вони особливо актуальні, якщо ви не здобули школу і подали заяву на першу роботу.


1
+1 за те, що він є єдиною відповіддю, яка говорить про те, що хобі-проект не потрібен завжди хороша річ (вимагає часу та енергії). Особисто я маю багато чого робити за час, коли я не працюю, і в мене рідко є час на програмування (хоч перегляд ТАК не настільки вимагає реального програмування). Ці речі включають в себе заняття, соціальне життя, відпочинок, щоб я міг бути продуктивним, коли повертаюся на роботу в понеділок (я багато сплю; о)) тощо. Не кажучи, що це погано, ці хлопці, можливо, / напевно, краще, ніж Я для роботодавця, але я вважаю за краще мати більш врівноважене життя особисто.
n1ckp

3

Я більше в вікторинах і подібних невеликих шматочках коду, ніж повномасштабних проектах (хоча спробуйте попрацювати над деякими проектами OSS, якщо знайду час). Тож для мене немає великого приводу сказати, що я не маю чудової ідеї для проекту. Просто напишіть якийсь вирішувач судоку і спробуйте втілити щось на зразок Dancing Links, щоб зробити це швидше.

Наскільки вони важливі для того, щоб стати кращим розробником, може залежати від вашої роботи. Якщо це вже дуже вимогливо, ви можете отримати всю необхідну підготовку. В іншому випадку вибір правильного проекту (або вікторини для вирішення) навчить вас будь-якій кількості нових речей і надасть вам зв’язок із широкою сферою знань, яку багато робочих місць не пропонують, оскільки ви часто обмежені у використанні невеликого набору інструменти для чітко визначеного домену.

І так, деякі компанії серйозно зацікавлені у ваших проектах. Якщо нічого іншого, вони дають вам багато можливостей поговорити про те, що ви дуже добре знаєте під час інтерв'ю.


1
Що стосується вікторин тощо, я працюю над загадками, як Project Euler.
Пітер ван Нікерк

3

Самі хобі-проекти не матимуть важливого значення в більшості інтерв'ю. Там є кілька людей, котрі піклуються про те, щоб ви робили кодування як хобі, але більшість - ні. ЯКЩО, навички, які ви здобуваєте з програмування хобі, можуть бути важливими в інтерв'ю!

Додаткове програмування збоку, безумовно, буде вигідним у програмуванні, аж до того, що ви перегораєте ... Однак, навіть поза проблемою вигорання, вам також потрібно врахувати, що роботодавці часто шукають інших навичок поза програмою. Якщо ви програмуєте цілодобово, ви не розвиваєте цих ІНШИХ навичок! Баланс ... :-)


2
У своєму останньому раунді інтерв'ю я очікував зробити кілька тестів на код. Натомість ця одна компанія попросила переглянути якийсь мій опублікований код. Ну, єдиний, що я міг би їх юридично показати, це мій проект хобі (Приурочений захід, який я не робив надійним та чистим). Проект з'явився і в інших інтерв'ю. Люди піклуються. Але ти маєш рацію в тому сенсі, що нікого не хвилює те, що ти пішов до коледжу, їм байдуже те, що ти там дізнався.
Філіп

3

Для одного я думаю, що проекти хобі важливі, тому що в іншому випадку ви будете застоюватися і втрачати задоволення.

Моя пропозиція знайти новий проект хобі:

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

Найкраще було б таке, яке здається вам суворо. Тому що чим більше інопланетянин на вас виглядає, тим більше він розширить ваш горизонт.

Також знання багатьох мов з різним синтаксисом дозволяє вам зосередити увагу на синтаксисі як важливому при програмуванні. Це лише послідовне подання синтаксичних дерев і не має великого значення. Це покращує зосередженість на семантиці, що набагато корисніше на практиці.

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

Для пошуку невеликих проектів для роботи над проектом Euler дуже рекомендується.


Я б переформулював це трохи - використовуйте нову мову, щоб зробити свій проект хобі. Тоді проект - це мотивація, а не навчання.
phkahler

Гарна пропозиція, зробив це
Peer Stritzinger

2

Я аматорський веб-розробник, що не має коледжної освіти (поки що не працюю над власним особистим проектом. Мене запросили на перше співбесіду на роботу з програмування пару тижнів тому, оскільки я працював над власним особистим проектом.

Враховуючи це анекдотичне підтвердження, робота над моїм особистим проектом "хобі" - це найкраще, що я зробив для просування своєї кар'єри в розвитку ... після вступу до коледжу.

Отже, так, інтерв'юери, безумовно, беруть до уваги ваші особисті проекти, інакше вони б навіть не потрудилися розмовляти зі мною.


1
Це справді гарна порада всім, хто не має досвіду роботи та шукає свою першу роботу програміста.

2

Інші багато висвітлювали, але я хочу зосередитись на цій частині:

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

Мені здається, що це пропускає точку "хобі-проекту". Безумовно, правда, що багато хобі-проектів створюються для інших або, принаймні, з урахуванням суспільного споживання - ці проекти потребують певної послідовної роботи з часом, і з цієї причини можуть бути непростими. Зрештою, хто хоче зробити ще одне недостатньо підтримуване, неякісне щось чи інше, яке в кінцевому підсумку відмовляється через пару місяців?

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

Це, в свою чергу, змусило мене розглянути можливість створення плагіна Notepad ++, щоб забезпечити кращі функції виділення синтаксису для Redcode, що змусило мене розглянути можливість вивчення трохи С ++ . Спираючись на моє порівняльне знайомство з .NET, я зараз замислююся над тим, щоб налаштувати себе на Visual C ++ .

І річ у тому, що нічого з цього насправді не "має значення", принаймні не як проект. Чорт, я не впевнений, що ти навіть можеш назвати це проектом як такий, як купа речей, з якою я псуюся, тому що це привернуло мою увагу. Я маю на увазі, вам знадобиться трохи часу та організації, щоб переконатися, що ви насправді щось отримаєте , але нікого не буде хвилювати, якщо я перестану мати час на Haskell, коли школа починається.

І нікому не буде байдуже, якщо виявиться, що розробка плагінів для Notepad ++ важче, ніж я очікував, і я відмовляюся - дійсно, я заглянув у Perl, перш ніж зануритися в Redcode, і я покинув його досить швидко, тому що у мене виникли труднощі з отриманням оточення налаштовано належним чином. Це показало відсутність наполегливості? Так. Але нікого не цікавить, бо це моє хобі , а це означає, що я можу грати з усім, що мені подобається.

Тому не відчувайте, що вам потрібно вибрати якийсь проект хобі, який навчить вас навичкам маркетингу - це просто перетворить ваш вільний час на більш неоплачений робочий час. Навички є результатом того, що ви робите, але вони не є причиною . Зараз я краще розумію декларативне програмування, і як працюють мови монтажу, і як програми використовують DLL. І я дізнався купу речей про командний рядок Windows та інші речі, про які ви б не подумали, пов’язані з тим, про що я говорив досі.

Справа в тому, що знайдіть щось абсолютно нове і подивіться, чи це так цікаво, як здається. Якщо це так, чудово, а якщо ні, рухайтесь далі. Чи мали у вас колись навіть найменші цікавості щодо упорядників чи перекладачів? Подивіться LOLCODE . Якщо це робить вас таким же щасливим, як і мене, тоді саме час почати дізнаватися про компілятори . І ей, може, вам варто повернутися і подумати про виділення синтаксису ще раз. Насправді це, мабуть, буде наступний проект, який я розпочинаю.

Якщо це не ваша річ, спробуйте щось нижчого рівня, ніж ви звикли. Або вищого рівня. Це не має значення. Єдине , що робить справу в тому , що , коли ви дивитеся на це, ви думаєте , «Fun!»


0

Цей проект є необхідним для серйозного програміста, особливо якщо ви працюєте фрілансером.

Замість того, щоб працювати 6 днів на тиждень, 1-денний відпочинок, ви можете працювати 5 днів на тиждень, 1 день для тестування нових теорій та особливостей та 1-денний відпочинок.

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


0

Я беру участь у співбесіді та наймі в своєму магазині. «Хобі-проект» - це завжди для нас плюс.

Маючи більш-менш готовий особистий проект, ви показуєте, що вам дуже подобається створювати програмне забезпечення, і показує, що ви вмотивовані дізнаватися нові речі та вдосконалювати свої навички.

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

Вас запам’ятають, по-доброму.


0

Я вважаю, що програмування у вільний час служить двом цілям:

1) Це дозволяє мені здійснити щось особисте, що приносить користь, без обмежень робочих проектів. Це особливо важливо, коли я мав справу зі складними та розчарувальними проблемами у своїх робочих проектах.

2) Це дає мені можливість розширити і посилити свої навички програмування, оскільки я вільний створювати все, що завгодно.

Тим не менш, я думаю, що також важливо збалансувати це з деякими захопленнями, які не є комп’ютером. Для мене це підтримка струмка і стежок за моїм будинком.


0

Маючи заявку на домашніх тварин - це чудовий спосіб змусити себе вивчити частини вашої поточної платформи, про які ви, можливо, не думали. Наприклад, ви можете бути чудовим розробником C #, який працює над додатком ASP.Net на роботі. Але якщо у вашій команді є хлопець, присвячений CSS, ви, можливо, ніколи не навчитесь його належним чином. Однак якщо у вас є веб-проект для домашніх тварин, вам доведеться навчитися робити CSS. Це справедливо для цілого ряду технологій, до яких ви зіткнетесь, якщо у вас є власний проект, де ви єдиний розробник.

Щоб чудово записатись на всі переваги заявок на домашніх тварин, ознайомтеся з цією публікацією .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.