「スキルアップをしていく時間がない」とはよく聞く話だ。しかし、着実にスキルアップを図っていかないと、ITエンジニアとしては生き延びることはできない。では、皆はどんな方法でスキルを磨き、勉強をしているのだろうか? さまざまなエンジニアに登場していただき、自分のスキルアップ方法を紹介してもらう。1回目の今回は、編集者出身のエンジニアに語っていただこう。
鼻血と筋肉
中学のとき、塾のS先生が「12時間ぶっ通しで勉強してみろ。鼻血が出て気持ちいいぞ」といっていたので、気持ちがいいことに敏感な中学生だった僕としては、「そりゃあぜひとも」と思い早速試してみたのだが、鼻血も出ないし特に気持ちよくもなかった。でもそれ以来、取りあえず長時間机に向かうことに抵抗はなくなった。
で、思ったわけだ。あぁ、要するに勉強も筋肉なのねと。毎日使ってないとマッチョにはなれんわなと。
読めるだけ本を読む
というわけで、僕は取りあえず興味があることに関しては、読めるだけ本を読むことにしている。知りたいなと思ったことに関しては本を買いあさる。書籍も買うけど日々の読書に関しては、雑誌を中心にしている。数えてないが、たぶん月10冊ぐらい買っているだろうか。で、ひたすら読む。電車に乗っているときとかご飯を食べているときとかお風呂に入っているときとかトイレに行っているときとか、とにかく読みまくる(で、妻にいいかげにしてと怒られる)。
でも興味のないところはサクっと飛ばす。興味のないところを「これは知っておかないといけないかも」と思って読んだところで、どうせ頭に入らない。でも完全に飛ばすんじゃなくて、「ここに○○について書いてあったけど詳しくは知らん」と思えるぐらいには目を通す。それなら興味が出たときに読み返せるし、知らないということぐらいは知ることができる。関係ないけどこの仕事をやっていて一番イタイのは、「知らない」ってことをいえない人だと思う。知らないことは罪だとしても……。
と、仕事の話になったところで、僕が何の仕事をしているかを書き忘れているのを思い出した。基本的にはWeb絡みのお仕事が多く、Webサイトの企画とかディレクションをやったり、HTMLを書いたり、PerlでCGIを書いたり、PHPでスクリプト書いたり、それと連携するRDBMS(PostgreSQLとかMySQL)の設計をしたり、SQLを書いたり管理したり、Linuxなどのサーバを管理したり、あと、たまにShockwaveを触ってみたり。Rubyはやってみたくて数え歌まで作ったけど、仕事で使う機会がなくて本が積んであるだけ。
Javaは1.0.2のころはアプレット作ったりしたけど、どんどん“Java界”が本気っぽくなってきてソリューションがどうだとかいい出して嫌いになったし、そういう「大口」な仕事は受けない(受けられない?)ので、最近とんとごぶさた(なので、筋肉がなくなった)。また、CとかC++に関しては、この年になって「はじめてのC」なんて読むのもいろんな意味でほおを染めなきゃいけないので自分で禁止している。
で、そんな感じで仕事をしているけど、じゃあ仕事が忙しくてテンパっているときもずっと本を読み続けるのかというと、そんなことはない。仕事が忙しいときは仕事関係の本は一切読まないようにしている。疲れるし、そのとき取り掛かっている仕事の反省をするきっかけになって暗い気持ちになったり、「ここはひょっとしたらこうすればいいのか!」なんて冒険(ムチャともいう)をしてしまう可能性があるから(いや、絶対する)。半端な知識で泥沼になるよりは、いっそ知らない方がいいだろうと。
実は興味がある部分も、さほど真剣に読むわけじゃない。ほとんどが斜め読み。日々の読書は筋肉をつけるためというより、むしろ、筋肉を落とさないためのものかもしれない。
で、無理やり仕事にしてみる
さて、そういうわけで本を読んで基礎体力をつけた後は、無理やりにでも仕事にする。そうして負荷をかけることで筋肉を増強していくわけ。
といっても仕事でやるからには責任があるし、失敗したら「おいそこの能なし! 仕事はもういいからメロンパンでも買ってこい」とかいわれるだろうし、頭を丸めておわびしようにも、僕はすでにスキンヘッドだからもうこれ以上丸めらんないしで、なかなか大変だ。
が、その緊張の中で鍛える筋肉こそがホンモノになっていくのだろうと思う。そのときになって「あぁ僕全然分かってなかったです」とか思わないためにも、日々本を読んで仕事でやっておくか、距離感をつかんでおくって感じですかね。だから結構大事なのは、勉強させてくれるお客さまを確保することなのかもしれない(都合のいい話だ)。
ところでさっき、RubyやJavaについては勉強してないと書いたが、厳密にはそうじゃない。RubyやJava自体の勉強はしないが、オブジェクト指向がどうだとか、デザインパターンがどうだとか、そういうことに関してはRubyとかJavaとかの方が資料はあるし、僕はPerlが好きなんだけどPerl好きとして“TMTOWTDI”(一般にティムトゥディと読まれる。There's More Than One Way To Do IT.の略で、そのやり方はいろいろある、という意味で使われる)なわけで、J2EEなんかのことを本で読んでおきつつも、仕事ではPerlにそれを置き換えたりする。頭の中で移植するから、よっぽど体力を使う、という話もある。
Webは使わないのか
本の話ばっかりしたが、Webは全然見ないのかというとまったくもってそんなことはなく、逆に実際の作業に入るちょっと前からはWebを見る方が主になる。本は知らないことを知るためのツール、Webは知っていることをもっと知るためのツール、みたいな感じ。
実際問題、詳細な話や具体例なんかだと、Webの方が圧倒的に便利だ。ただし慣れてないうちから具体的なことを見せられても「よく分かんないです、先輩」といったことになる。なんていうのだろうか、彼女もいないのにデートコースを網羅した情報誌だけを読みあさっている状態と同じだと思うのだ。
Webを使うときはまず、欲しいページの具体的なイメージを描いて、できるだけたくさんの単語をGoogleのテキストボックスに打ち込んで検索する。軽めのページが欲しければ「笑」をキーワードに加えてみたり。あとは興味あるML(メーリングリスト)には結構入りまくってROMしてるので(管理者の人ごめんなさい)、その過去ログを検索したりもする。
でも、やっぱり頼りになるのは本家サイトやそのソフトのマニュアルだ。ただし、PHPみたいに翻訳マニュアルが充実している場合はよいけど、英語の情報しかない場合が意外と多く、困ってしまう。
「翻訳してみる
話は変わるけど、サーバ管理なるものを始めたとき、いっそUNIX系OSにまみれた暮らしをしようと思い立ち、会社でメインに使っているデスクトップをLinuxにした。最初は緊張したけど意外と日々の暮らしには問題なかった。逆に自分の暮らしを快適にしようとする努力が仕事の筋肉を鍛える効果もあってよい感じ。
さらに最近は、より筋肉をつけようとGentoo Linuxというディストリビューションを使っている。すべてソースからコンパイルするディストリビューションで、パッケージを管理するのはコンパイル手順を書いたシェルスクリプト(のようなもの)、インストーラもなくて手でパーティションを切らなきゃいけないので、結構勉強になる。ただ勉強になるのはいいが、いかんせん後発ディストリビューションなので日本語の資料がほとんどない。そこで、Gentooのドキュメント翻訳をやりませんかなんて話が流れたときに、「はーい」と手を上げて翻訳してみることにした。いまはGentooJPのメンバーにもなって翻訳にいそしんでいる。
と、ここで話がつながるわけなんだけど「英語なんか知るか。オレは日本人なんだ」なんて思っているより、だったらへなちょこでも気にせず翻訳してみるってのは、思った以上によい感じだった。まず、英語がそんなに怖くなくなった。しばらく仕事の関係で英語の文章を読む必要があり、それならこれも日々の基礎体力をつけるには役に立つだろうと。あと、翻訳をやるには思った以上にその技術について調べないといけないことが分かった。実際に翻訳していて分からないことの多くは、英語ではなく内容に関してってことが多い。だからイヤでも技術について勉強しないといけなくなるわけだ。
終わりに
さて、そんな感じで僕の勉強の仕方をダラダラ書いてみたわけだけ、皆さんどうでしょう? 多少は役に立ったのでしょうか。
ところで冒頭の鼻血の話で出てきたS先生だが、その後医者になり、ちょうど高校生になったばかりのぼくを老人医療の現場に連れて行ってくれたことがある。「勉強しとけ」って。子どもにはかなり強烈だったが、確かに、とても勉強になった。勉強をするときは、(人生の)終わりを思いながら、楽しく過ごせればと思う。
筆者紹介
(有)プラスワンデジタル
萩原佳明(はぎはらよしあき)
東京大学文科I類中退。アスキーで3年半ほど編集者生活を送った後に独立し、(有)プラスワンデジタルを設立。代表取締役社長ではあるが零細カンパニーのため取り締まる相手なし。現在の主なお仕事はWebサイトの企画・運営やサーバ管理、プログラム作成などだという。
Copyright © ITmedia, Inc. All Rights Reserved.