趣味プロジェクトの重要性[終了]


103

知りたいのですが、空き時間にプログラムすることはどれくらい重要ですか?あなたの9-5をプログラマーとして働いてから、家に帰って趣味に取り組み、より良いプログラマーになる必要がありますか?

これは、あなたがプログラミングでプログラミングを上手に行えることを知っています。

将来の雇用主は、インタビューで趣味のプログラミングを考慮しますか、それとも好奇心からこれを求めますか?

私は趣味のプロジェクトを持っていないことに対して罪悪感を覚えますが、私ができると思うことはすべてすでに終わっています。だから、私はこれについて2つの心で、すでに行われたものを始めるか、私がオリジナルのものを思い付くまでそれを残すのですか?


6
「すでに行われていることを開始しない」という部分では、それがFOSSプロジェクトである場合、チームに参加して一緒に作業する可能性が常にあります。
TC1

41
「年をとったからといって、遊ぶのをやめない。遊ぶのをやめるので、あなたは年をとる。

1
趣味のプロジェクトを持っていませんか?(私は真剣に尋ねます。)
アレックスファインマン

4
趣味のプロジェクトを持つことは、本来、あなたをより良いプログラマーにすると信じています。持っていない場合は、プログラミングは面白くてやりがいのある楽しいものではなく、日常的な仕事だと考えるでしょう。
Maxpm

1
雇用主は、あなたが情熱を持っていることを知りたいので、尋ねます。あるものは特定の作業環境とうまく調和し、あるものはそうではありません。ほとんどの会社が趣味のプロジェクトを持っていないことであなたを責めるとは思えません。しかし、あなたがオフタイムに何かに情熱を持っているなら、彼らもそれに情熱を持っているので、それは良いフィット感の指標になります。
-SoylentGray

回答:


145

趣味のプロジェクトを持っていないことに罪悪感を覚える

罪悪感を感じることは、プログラミングプロジェクトに着手するクレイジーな理由です。おそらく、プログラミングを嫌い始めるための良い方法です。ので、何かに取り組むあなたがしたいあなたは思いませんので、あなたがしているになって

しかし、私が考えられることはすべてすでに行われています。

ああ!すでに行われている場合、誰が気にしますか?再びそれを行う!うまくやれ!または、あなたがそれをもっと上手くできないかもしれないことを受け入れて、とにかくそれをしなさい。「まあ、誰かが既にデータベース/スプレッドシート/ワードプロセッサ/オペレーティングシステム/ IDE /プロジェクトマネージャー/マネーマネージャー/ Cベースの単一継承の動的オブジェクト指向言語/ Webブラウザー/ Webサーバーを作成している」 / music player / mobile platform / search engine、だから私たちは何か他のことを探します...」

真剣に、Webサーバーを作成する場合、おそらくApacheをアウトパフォームすることはないでしょうが、その過程で貴重な教訓を確実に学ぶことができます。あなたはAngry Birdsを売る見込みはありませんが、簡単な小さなビデオゲームを書くことはあなたにも多くを教えてくれます。


78
プロジェクトはグッピーのようなものにすることができます。カップルを始めて、それを知る前に35を手に入れることができます。 。しかし、グッピーから始めて、うまくいかないものをフラッシュすることをheしないでください。
カレブ

5
+1うん!それが以前に行われたからといって、それを行うべきではないという意味ではありません。やりたいことをやるだけで、自分でやることから多くを学ぶことができます。
スポイケ

14
ジャズの即興演奏を学ぶ最良の方法の1つは、偉大なミュージシャンのソロをコピーすることです。プログラミングはまったく同じ方法です-すでに存在するものを構築し、新しいものを作成する方法を学びます。
-derekerdmann

6
「何かをする価値がある場合、それはひどくする価値があります。」(GK Chesterton)悪いブログエンジンや悪いメールクライアントを作成する際に学んだことは、非常に貴重です。
エリックウィルソン

16
+1「バフ!既にやったら誰が気にしますか?もう一度やりましょう!より良くやれ!」-車輪を再発明するのはビジネス上悪いかもしれませんが、家でやることはたくさんの楽しみです。クールな部分は、さらに良くする必要がないことです。
SoylentGray

59

趣味のプロジェクトは重要だと思います

私は趣味のプロジェクトを使って、理論、設計慣行、9-5ではできなかった新しいフレームワークをテストします。すなわち、関数型プログラミング、アルゴリズム、設計パターン、新しいフレームワーク、新しい言語など。

これは、作業中の新しいプロジェクトにどれだけ迅速かつ効率的に取り組むことができるか、またはクライアントから新しいプロジェクトを選択するか、問題の領域について十分に知らなかったために見逃してしまうかの違いを意味します。

新しいものや新しいアイデアを導入していない場合、開発者としてあなたを停滞させることができるのは、毎日9〜5回のグラインドを行うことです。私にとって趣味のプロジェクトを行うことは、私をより良く、より賢く、より効率的な開発者にするための手段です。

将来のインタビュアーは趣味のプロジェクトを考慮に入れます

私の経験では、雇用主が現在使用している、または使用している「見ている」関連技術で趣味のプロジェクトを行った場合。問題の技術にすでに慣れているため、賞賛を得ています。これは特に、技術経験に関して競争の場が平準化されている主流になったばかりの新しい技術に関連しています。


4
「毎日9〜5回のグラインドを行っている場合にのみ、開発者として停滞する可能性があります」の+1。
ボビーテーブル

15
@ボビー:「缶」はここでの操作上の言葉です。たまたま私の9-5の「グラインド」では停滞することはありません...ラッキーだと思います:
Marjan Venema

1
IMOの趣味の仕事+1は、もちろん忙しい9-5でない限り、他のフレームワークを本当に学ぶことができる唯一の方法です。趣味の仕事は面接でも役立つと思う傾向がありますが、実際に何か見せたいことがある場合に限ります。
DBlackborough

インタビューのために+1を行いました。Androidアプリを書くことをいじったことで、このポジションでモバイルプログラミングをしていなくても、現在のポジションを取得することができました。
ビフ・マグリフ

@Marjan Venema:もちろんです。私はいくつかのことをしました。しかし、それは少し「あなたが入れたものを手に入れる」こともあります。私の以前の仕事のいくつかでは、それらを最大限に活用できなかったことは間違いありません。
ボビーテーブル

41

現在の仕事の問題は、おそらく職務を遂行するのに限られたスキルのみが必要なことです。プログラミングの世界は非常に広大であるため、毎年わだかまりに陥るのは簡単です。趣味のプログラミングにより、現在の位置または他の場所で機会が生じる前に、分岐して他の技術の準備をすることができます。

しかし、趣味のプログラマーはプログラミングだけではないことを理解することが重要です。

  • 彼らはブログを読む
  • ツールをインストールします
  • 彼らはソースコードを読む
  • オープンソースプログラムをデバッグします
  • 彼らはパッチを提出します
  • StackExchangeプログラミングサイトに参加している

しかし、彼らは自分自身の特定のニーズを満たすためにプログラムを書くことに触発されることがあります。プログラマーが望んでいる機能を正確に備えているからです。そして、彼らはそれに疲れて捨てます。それは趣味の贅沢です!


プログラミングだけではないことに同意します。私と私は、ほとんどのプログラマーが、リストのほとんどすべての項目を毎日実行していると確信しています。
ピーター・ヴァン・ニーケルク

7
+1「プログラミング」の多くは、新しいコードをエディターに打ち込むこと以外のアクティビティで構成されています。
スティーブンV

26

私見では、必ずしも趣味のプロジェクト自体があなたを良くするわけではありません(確かに傷つけることはありませんが)。@Rickが指摘したように、実際のコーディングとは別に、多くの異なる形式を取ることができます。たとえば、ノートブックを持っている場合はコードを読むこともできますが、通勤や通勤中に本を読むことができます。

また、バランスを保つ必要があることに注意してください。

  • 自由時間の学習に時間を費やさないと、停滞し、ある時点で職業に完全に飽きてしまい、新しい課題に取り組むことができなくなる可能性があります。
  • 余暇に多くの時間を費やすと、その好奇心はあるが重要な「ライフ」と呼ばれる時間がないので、長期的には燃え尽きたり健康上の問題が発生する可能性があります。

もう1つ:趣味のプロジェクトに取り組む(推奨)のは簡単ですが、若くて独身です。後の段階で、あなたは家族を得るかもしれません、そしてそれは何年もの間あなたの自由な時間の大部分を排除します(少なくともあなたがそれをうまくやりたいなら-そしてそれ以外の点は何ですか?)。したがって、学習のために貴重な時間を割くために、より効率的に時間を管理する必要があります。


5
生命を持つための+1。私は典型的な会社に勤めていませんが、仕事の一部を学び、最新の状態に保つことを考えています。私の学習の多くは職場で起こります。確かに、仕事で本格的な趣味のプロジェクトに取り組んでいるわけではありませんが、さまざまな仕事のプロジェクトで「理由」だけで新しいものを使う機会を見つけています。だから、私にとって、人生を送ることは趣味を持つことよりも重要です。
フィル

2
+1フォーライフ!ワークライフバランスを保つことが不可欠です。そうしないと、非常に早く燃え尽きます!
スティーブンストライガ

1
+1私は今これで苦労しています。私の注意を必要とする2人の若い娘(6,11)、私の仕事(50時間)、そして契約労働でさらに8〜16時間います。しばらくの間、これを6〜5日で管理し、9時ごろに就寝するまで家族と時間を過ごし、その後いつでも仕事を請け負いました。うまくいきましたが、本当に燃え尽きています。まだ何をすべきかまだ決めていません。
オミヌス

10

サイドプロジェクトをしてください!Webに何か新しいものをもたらすと考えてはいけません。スキル、学習/マスタリングテクノロジーとアプローチのためのサンドボックスを実践していると考えてください。

雇用主として、私は常に潜在的な同僚に何か面白いサイドプロジェクトをやっているかどうかを尋ねてきました。そして、それらが壮観なアイデアではなかったとしても、著者はそれについて興奮を示しました-それは常に大きなプロでした。


2
インタビューでお願いします。誰かが趣味のプログラミングをしない場合、人生にはもっと多くのことがあるので、彼らに対してそれを保持しません。彼らが本当の興味とイニシアチブを持っていることを示すので、それをボーナスと考えてください。「main()」から開始する必要がある場合、ライターをブロックする人の数はわかりません。
-phkahler

7

私が会うプログラマーは、新しいテクノロジーを最新の状態に保つのに苦労していますが、それを仕事として扱う人です。その対応-もののない新しいものに追いつくには、自宅で物事を作るものです。


素晴らしく簡潔な答えのために+1。ただし、因果関係を仮定しないように注意してください。
カレブ

6
なぜ仕事で新しいものに追いつくことができないのですか?ここでの問題は、趣味のプロジェクトの欠如というよりも、悪い、偏狭な雇用主のようです。

6

あなたは考えることができるすべてがすでに行われていると言いますが、あなたが使用するすべてのツールはあなたが望むように機能しますか?私は頻繁に、ツールが私が望んでいるすべてのことにほぼ完全に対応していることを発見し、私の趣味のプロジェクトはギャップを埋めようとすることから生まれました。常に成功するとは限りませんが、試してみるのは楽しいですし、エンドユーザーとしての動機や仕様に問題はありません


4

それらのプロジェクトに本当に興味とエネルギーを持っているのなら、ぜひやってください。しかし、真面目なプログラマーには絶対必要だとは言いません。プログラミングでフルタイムで作業している場合、自由時間でもそれを行うと、必ずしもそれに対する関心が高まるとは限りませんが、逆効果になる可能性があります。個人的には趣味のプロジェクトをやっていたが、やめた。私はすでに週5日プログラミングをしていましたが、私にとっては自由時間でまったく違うことをする方が健康に思えました。

また、雇用主が職場で新しいことを試し、勉強し、継続的に改善する余地を与えていない場合は、空き時間に新しいことをするのではなく、新しい仕事を探すべきでしょう。優れた雇用主は、自分のスキルを更新、改善、拡大していくことが自分たちの利益になることに気付くでしょう。

雇用主の観点から(私はその1人です)、実際の仕事の経験がない場合、趣味のプロジェクトはメリットになります。すべての趣味と学校のプロジェクトは、面接中に参照として持ち出すことが非常に重要になります。

しかし、あなたが経験を持っている場合、それらはあまり関連性がありません。彼らはあなたの貿易に対する情熱を示すかもしれませんが、同時にあなたが少しオタクであることを示すかもしれません。私の個人的な経験から、趣味のプロジェクトと良い/悪い候補者との間に関連性を見つけることは本当にできません。


1
趣味のプロジェクトは必ずしも良いことではない、と言う唯一の答えの1つであるため、+ 1(時間とエネルギーが必要)。個人的には、仕事をしていない間はやることがたくさんあり、プログラミングの時間はめったにありません(SOをブラウジングすることは実際のプログラミングをそれほど要求しません)。そのようなことには、家事をすること、社会生活をすること、休むことなどがあり、月曜日に仕事に戻ったときに生産的になります(私はよく眠ります; o))、など。私は雇用主のために、しかし私は個人的にもっとバランスのとれた生活をすることを好みます。
n1ckp

3

私は、フルスケールのプロジェクトよりもクイズや同様の小さなコードの塊にいます(ただし、時間があれば、いくつかのOSSプロジェクトで作業してみてください)。ですから、私にはプロジェクトについて素晴らしいアイデアがないと言う言い訳はあまりありません。数独ソルバーを作成し、Dancing Linksのようなものを実装して、高速化してください。

あなたがより良い開発者になるためにそれらがどれほど重要であるかはあなたの仕事に依存するかもしれません。これがすでに非常に厳しい場合は、必要なすべてのトレーニングを受けることができます。それ以外の場合、適切なプロジェクト(または解決するクイズ)を選択すると、新しいことを何でも教えてくれます。明確に定義されたドメイン用のツール。

はい、一部の企業はあなたのプロジェクトに真剣に興味を持っています。他に何もなければ、彼らはあなたがインタビュー中にあなたが非常によく知っていることについて話す機会をたくさん与えます。


1
クイズなどに関しては、Project Eulerのようなパズルの仕事をしています。
ピーターファンニーケルク

3

趣味のプロジェクト自体は、ほとんどのインタビューでは重要ではありません。あなたが趣味としてコーディングをすることを気にかける人は何人かいますが、ほとんどはそうではありません。ただし、趣味のプログラミングから習得したスキルは、インタビューで重要になる場合があります!

サイドでの余分なプログラミングは、あなたが燃え尽きるまで、間違いなくプログラミングで有利になるでしょう...しかし、燃え尽き症候群の問題を超えてさえ、雇用主はしばしばプログラミングを超えた他のスキルを探していることを考慮する必要があります。24時間年中無休でプログラミングしている場合、それらのその他のスキルを開発しているわけではありません!残高... :-)


2
インタビューの最後のラウンドでは、いくつかのコードテストを行うことを期待していました。代わりに、この1つの会社は、公開されているコードの一部を確認するように要求しました。まあ、合法的に彼らに見せることができたのは私の趣味のプロジェクト(堅牢でクリーンなものにしたわけではない時限イベント)でした。このプロジェクトは他のインタビューでも取り上げられました。人々は気にします。しかし、あなたは大学に行ったことを誰も気にしないという意味であなたは正しいです、彼らはあなたがそこで学んだことを気にします。
フィリップ

3

趣味のプロジェクトは重要だと思います。そうしないと、あなたは停滞して楽しみを失うでしょう。

新しい趣味のプロジェクトを見つけるための私の提案:

趣味のプロジェクトを行うための新しいプログラミング言語を学びます。例えば、良い目標は、1年に1つの新しい言語を学ぶことです

ベストはあなたに完全に奇妙だと思われるものでしょう。エイリアンがあなたに見えるほど、あなたの地平線を広げるでしょう。

また、さまざまな構文を持つ多くの言語を知っていると、プログラミングの際に重要である構文に焦点を合わせることができます。これは構文木の連続的な表現にすぎず、それほど重要ではありません。これにより、セマンティクスへの集中が改善され、実際にはるかに役立ちます。

関数型プログラミング言語を試しましたか?分散プログラミング言語を試しましたか?パターンマッチング言語?

Project Eulerで動作する小さなプロジェクトを見つけるには、非常にお勧めです。


私はそれを少し言い換えます-あなたの趣味のプロジェクトを行うために新しい言語を使用してください。そして、プロジェクトは学習ではなく、動機です。
phkahler

良い提案、やった
Peer Stritzinger

2

私は、まだ大学教育を受けていないアマチュアWeb開発者であり、個人的なプロジェクトに取り組んでいます。私は自分の個人的なプロジェクトに取り組んでいたので、数週間前にプログラミングの仕事のための私の最初のインタビューに招待されました。

この逸話的な証拠を考慮に入れて、私の個人的な「趣味」プロジェクトに取り組むことは、大学に入学してから開発でのキャリアを前進させるために行った最高のことです。

ですから、確かに、インタビュアーはあなたの個人的なプロジェクトを考慮に入れます。


1
これは実務経験がなく、プログラマーとしての最初の仕事を探しているすべての人に本当に良いアドバイスです。

2

他の人も多く取り上げていますが、この部分に焦点を当てたいと思います。

私は趣味のプロジェクトを持っていないことに対して罪悪感を覚えますが、私ができると思うことはすべてすでに終わっています。だから、私はこれについて2つの心で、すでに行われたものを始めるか、私がオリジナルのものを思い付くまでそれを残すのですか?

これは「趣味のプロジェクト」のポイントを見逃しているように思えます。多くの趣味のプロジェクトが他の人のために、または少なくとも公共消費を念頭に置いて作成されていることは確かに真実です。結局のところ、サポートされていない低品質の何か、または数か月後に最終的に放棄される別のものを作りたいのは誰ですか?

しかし、趣味のプロジェクトが誰にとっても有益なことをしなければならない理由はありません。たとえば、私は最近Haskellを学び始めました。これは、純粋にこれまで使用していた命令型言語とはまったく異なるため、セットアップが非常に簡単だからです。また、好奇心からプログラミングゲームCore Warで使用されているRedcodeアセンブリのような言語の学習を始めました。

これにより、Notecode ++プラグイン作成してRedcodeの構文強調表示機能を改善することになり、C ++の学習を検討することになりました。.NETに比較的精通していることを利用して、Visual C ++をセットアップすることを考えています

そして、少なくともプロジェクトとしてではなく、これは本当に「問題」ではありません。地獄、あなたがそれ自体をプロジェクトと呼ぶことさえできるかどうかはわかりません。つまり、実際何かを得るためには少しの時間と組織が必要になりますが、学校が始まってからHaskellに時間をかけるのをやめても誰も気にしません。

そして、Notepad ++のプラグイン開発が予想以上に難しいと判明しても誰も気にしません。実際、Redcodeに飛び込む前にPerlを調べました。環境が正しくセットアップされました。これは永続性の欠如を示しましたか?うん。でも、それは私の趣味なので、誰も気にしません。

ですから、マーケタブルスキルを教えてくれる趣味のプロジェクトを選ぶ必要があるとは思わないでください。それはただあなたの自由時間をより無給の仕事時間に変えるだけです。スキルはあなたがすることの結果としてもたらされますが、それは理由ではありません。宣言型プログラミングの理解が深まり、アセンブリ言語の動作方法、およびプログラムがDLLを使用する方法を理解しました。そして、Windowsコマンドプロンプトについて多くのことを学びました。そして、あなたがこれまで言及したものに関連しているとは思わなかった他のことも学びました。

要点は、完全に新しいものを見つけ、見た目ほど面白いかどうかを確認することです。それが素晴らしい場合、そうでない場合は、先に進みます。コンパイラーやインタープリターについて少しでも好奇心がありましたか?LOLCODEを見てください。それがあなたを私と同じくらい幸せにしてくれたら、コンパイラについて学び始める時です。そして、多分あなたは戻って、構文の強調表示についてもう一度考えるべきでしょう。実際、これはおそらく私が始める次のプロジェクトになるでしょう。

それがあなたのものでない場合は、以前よりも低レベルのものを試してください。またはより高いレベル。関係ありません。唯一の事ない問題は、いつということであるあなたがそれを見て、あなたが考える「楽しいです!」


0

これらのプロジェクトは、特にあなたがフリーランサーとして働いている場合、真剣なプログラマーにとって必須です。

週6日、1日休む代わりに、週5日、新しい理論と機能をテストするために1日、1日休むことができます。

テストの日は時間の無駄のように思えるかもしれませんが、その日のいずれかで既にテストしたプログラミング言語で新しい機能を実装することを与えられたとき、その利点を認識するでしょう。


0

私は私の店で面接と雇用に関与しています。「趣味プロジェクト」は私たちにとって常にプラスです。

多かれ少なかれ完成した個人プロジェクトを持つことは、ソフトウェアの作成を本当に楽しんでいることを示し、新しいことを学び、スキルを向上させる意欲があることを示しています。

面接で本当に前向きな印象を与えたい場合は、個人プロジェクトにラップトップを持参してください。それをインタビュアーに見せ、構築中に遭遇した課題について彼に伝え、あなたのコードを見せてください。荒削りな部分がどこにあるのか、またプロジェクトの今後の計画が何であるかを前もって伝えてください。

あなたは良い意味で記憶されるでしょう。


0

空き時間のプログラミングには2つの目的があると思います。

1)仕事のプロジェクトを制限することなく、個人的にやりがいのあることを成し遂げることができます。これは、作業プロジェクトで困難で苛立たしい問題に取り組んでいるときに特に重要です。

2)プログラミングスキルを広げて磨く機会を与えてくれるので、自由に作成できます。

それでも、コンピューター以外の趣味とバランスを取ることも重要だと思います。私にとって、それは私の家の後ろの小川と小道を維持しています。


0

ペットアプリケーションを使用することは、あなたが考えていないかもしれない現在のプラットフォームの一部を学習させるための素晴らしい方法です。たとえば、あなたは職場でASP.Netアプリケーションに取り組んでいる素晴らしいC#開発者かもしれません。しかし、チームにCSSに専念している人がいる場合、それを適切に学習することはできません。ただし、ペットWebプロジェクトがある場合は、CSSの実行方法を学習する必要があります。これは、自分が唯一の開発者である独自のプロジェクトがある場合に遭遇する多くのテクノロジーすべてに当てはまります。

ペットアプリケーションのすべてのメリットに関する優れた記事については、この投稿をご覧ください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.