2011年11月20日日曜日

新米プログラマが何をすべきなのか



結論は出てないけど最近悩んでいることを書いとく

どういう成長がしたいかによっても変わるが、一般的に良いエンジニアと言われるようになるには、新米プログラマはどんなことを意識してどんなことを学ぶべきなのか?

ここでいう新米プログラマとは、プログラミング言語の入門本をクリアして簡単なモノをひと通り作れるけどセキュリティとか最適化とかちょっと突っ込んだことは無知なレベルを想定しています。

僕がまさにその新米プログラマなのです。


よく聞くのが、「一つのことに集中した方が成長が早いし、一つのことを極めた方が他のことを習得するスピードも早くなる」という意見。例えば、Javaの習得に集中してJavaを使えば何でも作れるってくらいになってから他の言語を勉強した方が、JavaとJSとrubyを同時に勉強するより生産性が高い。

でも実際の開発では、Javaでサーバー側を作っていてもフロントはJS。何か一つの言語を極めようとしてもモノを作ろうとしたら、その言語+HTML+CSS+JS+DB+OOP+shell+バージョン管理+その他の開発環境などなど重要度は違えど色々同時に勉強する必要があります。新米は覚えることが多くて混乱します。

マルチタスクは必至

だからと言ってプログラミング言語まで色々やると必要なレベルまで習得するのが遅れますよね。最近感じています。「開発の時間」と「勉強の時間」を作るべきところを「開発の時間」と「別の言語での開発の時間」というタスクになっています。

現在興味の赴くまま、サーバーをJava・フロントをJSで開発しつつ、同じJSってことでTitaniumでアプリでも作りつつ、rubyやscalaなんかをかじってみようかなとか考えています。色々誘惑がありますよね。

今は割りきって色々つまみ食いしちゃってます。モチベーションも継続するし、楽しいです。

しかし、このままだと確実に一生一流になれぬまま器用貧乏になりますね。僕は習得は得意ですが、追求は苦手です今のところ。どこかで一つ殻を突き破らねば。プロのエンジニアになるには得意分野を見つけて、深いとこまで追求しないとダメですよね。

はじめは、どんなものがあるのか色々つまみ食いして回って、来年4月あたりから殻を破るべく選択と集中をしようかなと考えています。




0 件のコメント:

コメントを投稿