IT 系新社会人のための学習ガイド 2010年新春版(改訂版)
2010年も早いものでもう4月になりました。
この春からIT系企業で初めて勤める、という新社会人の方も多いことと思います。
私はマイクロソフトで技術主任をしていた頃に、新人エンジニアを指導していました。 今回はそうした経験を踏まえ、20代半ば位までの新社会人のあなた、あるいは新卒から3年目くらいまでのあなた向けに、 IT系新人社員のための学習ガイドを書きました。
社会人のキャリアの考え方、姿勢、考え方を学ぶ
学生から新社会人になってまずやることは、社会人の心構え、マナー、働く姿勢を学ぶということです。 次のような書籍をしっかり読んで、働く姿勢は理想としてどうあると良いか考えてみると良いです。
特に IT 系の会社では作業はプロジェクトという単位で作業が発生します。
ひとつのプロジェクトがどのように始まって、管理されて、そして終了するのか。 そうした作業についても骨組みを理解しておくことは役に立ちます。 なんでも受身でいると、疑問を持つこと自体が難しいものです。あらかじめ理想的な状況を頭に入れておくことで、「こうしたほうが良いんじゃないか」など問題意識を持って働くことができるようになります。
プロジェクト管理については、次の一冊くらいは読んでおくとよいです。
このほか、「ビジネスマナー」「ビジネス文書の書き方」「効果的なプレゼンテーションの方法」 についても、 本を読むなり、セミナーを受講するなりしてください。
例えば「名刺交換の仕方」、「電話の対応の仕方」 等、わかりますか?
こうした常識的なことについては、運がよければ会社で教えてもらえたりします。しかし、 会社では給料をもらって働くわけですから、あなたが会社に何かをするのが基本です。 いつまでも、必要なものは会社から教えてもらおうなどと言って、学校に入学したような心構えではダメです。
英語学習
英語も継続的に勉強すべきです。一朝一夕には身につかないので、コツコツと学習を続けることが大切です。
特に外資系に勤めていればある日突然、アメリカのエンジニアと電話会議をすることになることもあります。 そうした状況にも慌てないためにも普段から学習を心がけるべきです。
TOEIC スコアを学習の成果の目安にしていけば良いと思います。750点位はなるべく早く取っておきましょう。
上記の本で勉強すれば、英語の基礎は固まると思いますが、残念ながらそれだけでは英語を聞いたり話したりできるようになりません。 やはりネイティブと会話をする機会を作らないと、英語はできるようになりません。
土日に英会話学校に通うなり、あるいはオンライン英会話スクールを利用するなどして、聞いたり話したりする機会を作ると良いでしょう。
ちなみに私は日本にいるときはイングリッシュタウンというオンライン英会話スクールを利用しました。 (私は米国のマイクロソフト本社での駐在を経て、現在は米国現地法人のIT企業に勤めています。)
オンライン英会話スクールについては、こちらのサイトに詳しく書いてあります。
» オンライン英会話スクール超入門
C 言語のすすめ
どんな道に進むにせよ、基本的なプログラミングについて理解しておくのはとても大切です。
大学でコンピュータを専攻した人など、基本的なことをわかっている人はよいのですが、 それ以外の人(例えば文系の学部を卒業してIT系企業に勤める人など)は、基本的な勉強を自発的にやるべきです。
いろいろな言語はありますが、私のおすすめは C 言語を学ぶことです。
なぜ C 言語かというと C 言語はメモリの割り当てや解放を自分でやらないといけない、とか、ポインタ操作等、取り扱いが難しい点が多数あるからです。 そうした点を経験しておかないと、メモリに関わるトラブルや効率向上などの問題点に向き合った時の理解が浅くなりがちだからです。
また、Windows の API は基本的に C 言語 (及び C++) で構成されていますから、OS について理解を深めようと思ったときに、 直に API に触れることが出来る C 言語はとても学習にも適していると思います。
Visual C++ Express 等の無料の C 言語の開発環境を利用しつつ、C 言語の入門書を読むと良いでしょう。 書店で C 言語の入門書を手にとって少し読み、わかりやすそうな本を選べばよいです。
いくつか良さそうな本を挙げますが、最初は読みやすさ重視で何冊か入門書を読破するのが良いと思います。
ちなみに、私がマイクロソフトで新人エンジニアの指導をしたときは、「独習C」の練習問題をしっかりやってもらいました。
プログラミングとデータ構造・アルゴリズムの勉強
基本的な C 言語が使えるようになったら、アルゴリズムとデータ構造に関する基本的な理解を身につけてください。 どういうコードが良くて、どういうコードが望ましくないのか、といった評価ができるようになることが目的です。
評判の入門者向け書籍は次のようなものです。
データベースの基礎を学ぶ
実際に MySQL を利用してデータベースの基本を学ぶとよいです。
もちろん RDB の基礎理論は非常に重要ですが、 最初はデータベースを実際に動かしてみないと、ピンと来ないでしょうから MySQL の入門書を利用してデータベースを使ってみるところから 始めると良いと思います。
ある程度データベースを使うことを経験してから、より良い設計をするための勉強をすればよいです。 最初の一年くらいは、簡単にデータベースを使うことを覚えれば十分です。
ネットワーク (TCP/IP) の基礎を身につける
ネットワークの初歩的な知識は身につけておきましょう。
特に今後は Web 上のサービスは今以上に増えることが予想されていますから、 必須の知識といえます。最低限、家庭内程度の規模でもよいので LAN の設定が出来て、それぞれの設定項目の意味を理解できていればよいです。
そのためには、TCP/IP を学習すればよいです。TCP/IP の学習書はこちらで決まりでしょう。
ちなみに、もう一歩進んでネットワーク・プログラミングを勉強したい人は、これからさらに WinSock の勉強をしてみると良いでしょう。 私は始めて WinSock のコードを書いたときは、面白くて夢中になりました。
Web サイト構築の基礎を学ぶ
基本的な Web サイト構築のノウハウは抑えておきましょう。
PHP, HTML, CSS, JavaScript の基礎を学べばよいです。
HTML、CSS、 JavaScript の入門書については特にお勧めはありませんが、基本的な入門書を数冊読んで、まず慣れるところから始めればよいでしょう。 PHP については次の書籍が良いと思います。
ある程度慣れてきたら実際に、簡単なウェブサイトを構築してみましょう。 ローカルでサンプルプログラムを書くだけにとどまらず、インターネット上にサイトを公開しましょう。
サイトを実際に公開しないと、どの程度のユーザーがサイトを訪れ、どのようにトラフィックが増えていくのか理解することはできません。 将来 SEO などを考えていく上でも、こうした経験は役に立ちます。
Web ホスティングサービスを利用して、インターネット上に自分のウェブサイトを用意します。
ホスティングサービスについては、海外のホスティングサービスは利用料も安く制限も少ないので良いでしょう。具体的には次のサイトを参考にしてください。
ホスティングを利用して LAMP 環境を手に入れたら次の書籍などを参考にして、実際のサイトを構築します。
まとめ ~ 万年初心者にならぬよう積極的に分野を絞ろう
実際のところこの程度だと、それぞれの分野を深く理解したとはいえませんが、1年目でこれだけ自分で学ぶことができたら、同期の人の中ではかなりデキる人になるのではないでしょうか。
それに何より、浅くとも広く学ぶことで自分が一番興味の持てる分野を早く見つけ出すことができます。ITの分野では次々と、 ニューテクノロジ、という名前で新しい技術が出てきますから、受身で学習すると万年初心者になってしまいます。
ここで紹介したメジャーな分野の基礎は身につけることは前提条件ですが、そうした基本を押さえた上で、 なるべく早く 「自分はこの分野に強みを持てるようにしよう」 という分野を決め、そこを深く追求すると良いと思います。
以上、IT系新社会人の方向けに、早めに身につけておくと良いポイントを紹介しました。
これを参考にして勉強を頑張ってください。