ユーザー名非公開
回答5件
小さな会社を経営しております。プログラマーです。 自然言語や楽器の演奏と同様の言語の習得です。英語が話せない人と話せる人がいるように見えるのは、勉強をしたことがない人であって、勉強するというのは3割理解できるのを7割にする・・みたいなことで、何年で終わるというものでもないと思います。 特定のことをしたいだけなら、ほんの数日で大丈夫だったりします。海外旅行でバスの乗り場ぐらい聞ければ周囲からは「すごい!英語を話せる人!」と思われたりしますが、当人は「やめてくれ。全然わかってないから」という気分になりますよね。ですが、バスの乗り場が聞けるのはやっぱり「話せる」のではあるし、どこまでやっても「できた気分」にはならないのだと思った方がいいのではないでしょうか。 業務での利用でも、プロジェクトのコアで初期の部分を作る人はそれなりでしょうけど、残りのほとんどの人は「ここの売上の表を店舗単位のやつを真似して、部門単位のを作ってください」とかいう感じで仕事しています。そんなのを何年やっててもインターネットサービスをひとつ立ち上げることすらできないですから、習得した気分にはならないです。 手持ちの技術でできることがあれば、それはもう習得してて、よくわからないまま動くものなんだと思っていいのではないでしょうか。
習得って言うのが、どのレベルかわかりませんけど、何かしら仕事がある。っていうレベルなら、 80時間くらい人に教えてもらえばあると思います。独学なら120時間くらいやるとあるんじゃないでしょうか。 ただ、そのレベルだと、まあそんなに待遇は良くないかもしれないですね。 入社した後にエースと呼ばれる人は、500時間から1500時間くらいやってると思います。
習得というのがどこまでのレベルをさしているかわかりませんのが、どうなりたいのかを明確にされてはいかがでしょうか。 とりあえずリファレンスを見ないでコーディングできるレベルか、言語仕様まで理解した上でコーディングできるレベルか。 前者であれば100hもかければできそうな気がしますが後者は実体験がないため検討つきませんが、800hくらいは必要かもしれません。 また余談ですが、プログラミング言語を覚えればなにかモノを作れるかというと別の話になるかと思います。 少なくとも何か実現したいことがあって、その実現手段としてjavaを選ばれたのだと思います。 実現したいことが実現できたら、ひとまずはそこまででよいかとも思います。 学術的な意味も込めて言語習得を目指されているならば別ですけどね。
個人的はありますが、業務に耐えうるレベルには3年くらい掛かるでしょう。中堅5年ベテラン10年くらいです。 他の言語を習得されていればもっと短縮できます。
プログラムって何時間勉強したからどれだけできる、とかそういうものではないです。 あと、会社の作ってるもの、環境、もろもろで必要になる言語は違いますし、必要になるレベルも違います。なので、何を持って習得したかも判断が微妙です。 そういう考えはやめ、常に勉強し、フットワーク軽くいろいろなことを勉強できる、キャッチアップできるようになれば良いと思います。