今年もボスの研究室に 3 回生が配属されました。多分、配属されてからどんな勉強をしたら良いのか分からないという事があると思いますので、卒業する迄に是非身に付けておいて欲しいスキルを書いておきます。

一覧

大体こんな感じです。

  • UNIX 系コマンドに慣れる
  • Emacs / Vi (Sublime Text / Atom) を使う
  • 何か 1 つのプログラミング言語を身に付ける
  • HTML, CSS を覚える
  • ひたすら本を読む (Web のエントリも)

UNIX 系コマンドに慣れる

特に SSH の利用については、鍵の生成、コンフィグの設定、公開鍵の設定位は最低限理解しておきましょう。
多分研究室にリモートログインしてごそごそなんて事がしたい時が出てきます。
リモートで作業する際には CUI の作業がメインになると思うので、
ここで UNIX 系のコマンドの習熟が効いてきます。

出来る事なら Linux / BSD (Mac も) とかを実機にインストールして
ワークステーションとして普段から運用すると良いと思います。
その時は、作業時には全ての作業はターミナルでやる事を意識しましょう。

また、制限された環境と自分で何でも出来る権限を持った環境の両方を経験しておく事は後々為になります。
制限された環境では、自分の欲しいソフトウェアのセットアップを行なって下さい。ソフトウェアをインストールするという行為がどういう事か良く理解できます。

普段の作業環境は、一度は X Window System が無い状態から環境を設定しておくのが吉です。それが何か分からない人は調べましょう。

Emacs / Vi (Sublime Text / Atom) を使う

技術業界で良く笑いのネタにされていますが、この辺のエディタに習熟しておくと (後々) 幸せになれます。

Emacs / Vi は少ない労力で大きな効果を得る為の機能がふんだんに搭載されており、
カーソルを操作する部分にもキーバインドを割りあてています。また、そのエディタを使用するテクニックを載せた書籍も多くある為、生産的な記述を意識する事が出来る様になります。ちなみに僕は Emacs 信者です。

Sublime Text や Atom エディタは最近出始めたエディタですが、非常に出来が良いので、次点でこの辺の習熟に労力を割くと良いです。もはや Emacs / Vi が時代遅れだっていう人はこちらですね。個人的には Atom が良い感じです。

何か 1 つのプログラミング言語を身に付ける

研究室にいる間に、自身の作業を効率化する為のプログラムを書ける程度の能力を最低限身に付けると幸せになります。文字列のチェックや置換等を、ファイル IO や HTTP メソッドの GET あたりに絡めて利用出来る様になるのを目指すと良いかも。

覚えた方が良い言語は、特に指定しませんが、Ruby か Python あたりでいいんじゃないでしょうか。PHP? PHP はやりたい人がやれば良いとは思いますが、あまりおすすめしません。そもそも僕は PHP は言語にカウントしてませんけど。

C/C++/Java のあたりは出来る事にこした事はありませんが、前述の言語が出来ないのにわざわざ頑張る必要は今のご時世では無いと思われます。計算機科学を学ぶ場合は必要です。

それでも何をやれば良いのか分からない人はとりあえず競技プログラミングをやりつつ、アルゴリズムとデータ構造を学んで下さい。

HTML, CSS を覚える

(HTML, CSS は言語じゃないので) 言語を覚える話と別枠ですが、HTML, CSS を覚えて下さい。
WEB の時代に HTML, CSS が分からないのは問題大有りです。
JavaScript まで覚えろとまでは良いませんが、自分用の Web ページをそれなりにデザイン出来る位のスキルはないとまず間違いなく支障が出ます。もはや情報の学生にとっては最低限の嗜みなのです。デザインの理論等に関しては専門的な話なので出来ると良いなっていうレベルです。

HTML, CSS を書く時は構造化を意識して書く様にするとグッドです。モチベーションとか意識が高いのなら WordPress を使いましょう。今は需要があります。

ひたすら本を読む (Web のエントリも)

要するに最新、古典関わらず情報を取りいれ続ける取り組みが必要です。研究活動の中では、最新情報や業界標準の情報を集める能力が必要になります。そして、新しい業界に足を踏みいれた場合には常識を知らない事が大きな痛手になります。なので、ある程度枯れた情報を集める事から始める事をオススメします。

業界の単語を覚え始めて来ると、ある程度情報に対しての抵抗が薄れて来るので、ここまで来るとある種の壁を越えたと言えます。その後は、常識を集めつつ、最新情報の収集にシフトして下さい。その際には、RSS や Twitter を利用すると良いです。

RSS は兎に角業界の有名なサイトを登録する所から始めましょう。それがどこか分からない場合は、特定のワードで検索し、情報を多く、頻度が高く配信されているサイトを選んで下さい。そして毎日読みましょう。

Twitter は、その業界の有名人を片っぱしからフォローするのが上等手段です。そしてリストを作成して常時監視しましょう。業界の有名人は、良く業界の最新ネタをポストするので日頃眺めているとだんだん知識が蓄積されていきます。見ている人数が少ない場合は知識に偏りが出るので、なるべく多くの人をフォローして下さい。堂々と間違っている事を発言する人もいるので、そういう人に騙されない審美眼も養いましょう。

まとめ

僕が個人的にやっといた方がいいなーと思う物をリストアップしてるので色々思う所はあると思いますが、それ程無茶な振りでもないと思うので、勉強したいけど何すればいいのか分からん人は参考にして貰えると幸いです。