これはやっておいて損はないよ

これは新卒準備カレンダー 2011春という企画に向けたエントリです。

このエントリでは「エンジニアをやるならこれはやっておいて損はないよ」ということを書いてみようと思います。

まだまだ社会人2年目のヒヨッ子なのでそれ以外にも大事なことはあるかと思いますが、 そこはほかの参加者の方々の記事を読んだり、 「プログラマが知るべき97のこと」を読んだりして 補完していただけたらと思います。

その前に、どんな人がこれを書いているのか

@ikmと申します。

理系の大学院(非コンピュータ系)を卒業したのち、 現在は某社で携帯電話向けWebサービスの開発をやっています。新卒3年目です。

どちらかというと「プロマネになって大きなプロジェクトを動かしたい」というよりは 「技術力を高めて自分でなにか作っていきたい」人です。 プログラミングは高校生の頃から趣味でやってましたが、未だにへっぽこです。 スーパープログラマーへの道はまだまだ遠い…。

課外活動としてRails勉強会@東京などの勉強会などに時折参加しています。 先日は東京Ruby会議05のスタッフをやったりしました

その1: ブログにやったこと・考えたことを吐き出す

ブログを立ち上げましょう。 そして自分でやったことや、考えたことを随時吐き出すようにしましょう。 id:syoko_sasakiさんも書いていますが、 自分のやってきたことをログに残すというのはとても重要なことです。 そうすることによって、

  1. 自分のわかったこと・わからなかったことを整理できる
  2. 自分のことをアピールする材料が増える
  3. 誰か同じことで悩んでいる人の助けになる

といったメリットがあります。

ここでオススメする理由は主に1です。 一度整理しておけば後日同じ問題にぶつかったときに簡単に乗り越えられますし、 もし解決出来ていない問題であっても、ブログに書いている途中で解決方法が思い浮かぶこともあります。

ブログの他にもにも吐き出す方法にはTwitterやWikiなどもありますが、 Twitterは書きやすいのですがログが流れやすく、 Wikiはまとめを作るのには便利なのですが管理が面倒になので、 手軽さと追跡のしやすさの両立という点でブログが一番だと思います。

ブログを書いた際に、人目に付くようにTwitterに「書いたよ!」と報告し、 探しやすくなるように愛用のソーシャルブックマークにタグをつけてブックマークするのもおすすめです。

「こんなことを書いても誰の役にも立たないんじゃ…」と思ったら

個人的に陥りがちなことなので、一応補足しておきます。

誰かの目を気にしながらブログを書いていると、 クオリティや内容の鮮度などで変なプレッシャーを感じてしまい 記事が書けないこともときにはあるんじゃないかと思います。

ですが、そこで悩まなくても大丈夫です。 ここでブログを書くのは「自分のわかったこと・わからなかったことを整理できる」ことが目的なので、 それさえできていればクオリティは気にする必要がありません。書き殴るだけでも大丈夫です。

ただ一つ気をつけたほうがいいのは、あとになって読み返して理解出来る程度には詳しく書きましょう。 読み返すためのログなので情報が不足するのは出来る限り避けるべきです。

そうやってたくさんのことを書き残したなら、 将来同じことで悩んだ人があなたのブログを読んで解決できたということもあると思いますし、 そのブログを読んだ他社の採用担当者から高い評価を得られるかもしれません。

こころの赴くままに書きましょう。

その2: 勉強会やカンファレンスに参加する

社内の勉強があればそれに参加するのもいいと思いますが、 機会があれば外部の勉強会やカンファレンスに参加することをおすすめします。 なぜなら

  1. 新しい・深い技術を知る機会になる
  2. 凄い人と知り合いになれるかもしれない
  3. 指向性の似た人と知り合いになれるかもしれない

というメリットがあるからです。

新しい・深い技術を知る機会になる

社内にこもっていると、情報を仕入れて発信してくれる人が周りにいるか、 自分で調べようとしない限り、なかなか新しい技術に触れる機会というのは少なくなります。 なので新しかったり、深い技術を知りたいと思ったら外に出るのが手っ取り早いかと思います。

でも最近は新しいものはTwitterで流れてくるし、深い技術もネットで調べればいいし…となって、 あまり外に出る必要は無いんじゃないか?と思うかもしれません。

そこで重要なのが2と3です。

凄い人・指向性の似た人と知り合いになれるかもしれない

マニア以上の凄い人って 社内にそうそういるものではないと思います。 でも社外の勉強会や、それこそカンファレンスではそういった凄い人が発表者を務めていたりするので、 生の発表を聞けるかもしれませんし、140文字に収まらないような質問することも可能です。 さらにはその後の懇親会でより深い話を聞けるかもしれません。 こればかりは社外に出るしかありません。

また、同じ会社にいるからといって自分と同じ考え方ややり方を推進している人ばかりとは限りませんし、 それは当然のことだと思います。 でも勉強会やカンファレンスはトピックが絞られていることが多いので、 自分と似たような技術の好みや考え方をしている人が必然的に多くなります。 このような人とはノウハウの共有や、自分のモチベーション維持などのにおいてとても重要になります。 これも勉強会やカンファレンスならではの出会いです。

「書を捨てよ町へ出よう」ではないですが、人との出会いを求めて社外に出ることも エンジニアにとっては結構大事なことだったりします。

とりあえずやってみる

愚直な精神論っぽくて嫌なんですが、 気になったこと・やってみたいことがあったら とりあえずやってみたらいいと思います。

長々と書いてきましたが、これに尽きます。

新しいことを始めるのは体力も頭も使うので大変ですが、 自分の引き出しを増やすためにもやってみるといいと思います。

ここで@bash0C7さんも引用している、 すごく素敵な言葉を引用しておきます。

成功すれば賞賛が得られ、失敗すれば教訓が得られます。 失うものは何もなく、得るものしかありません。

http://mugiwara.jp/ki2/wifky.pl?p=LTGuide#p5.2.5

長々とした文章をここまで読んでいただき、ありがとうございました。

もっとこうしたらいいよ!という点がありましたら教えてください。 どこかのイベント等で見かけたらぜひぜひお声がけください。

こんな稚拙な文章でも何かのお役に立てたなら幸いです。

最後におすすめの本など

Getting Real

良いサービスを素早く提供するために必要なことについて書かれた文章です。 普通の企業とはかなり違うのですべてがそのまま実現できないかもしれませんが、 なかには取り入れて有効活用できる考えや施策もあると思います。

ちなみにこれを書いている37signalsという会社は中小企業向けのスケジューリング管理やプロジェクト管理などのグループウェアを中心に開発しています。Ruby on Railsというフレームワークを開発したことでも有名です。

プログラマが知るべき97のこと

世界中で活躍するプログラマの書いたエッセイ集です。 プログラミングから外部との調整まで広くにわたってノウハウが詰まっていて、 自分がつまずいたエッセイを読むと「あーあるある」と頷いてしまいます。

日本語版ではさらに日本人のプログラマ10名が寄稿しているため、 実際には「プログラマが知るべき107のこと」になっています。

個人的にはまつもとゆきひろさんの書いた「名前重要」が好きです。 (変数や定数、関数、クラス、プログラムなどの)名前は本当に重要です。

アジャイルプラクティス

ソフトウェア開発における良い習慣についてコンパクトにまとめられています。 なので自分の働く現場が「アジャイル」な開発を実践しているかどうかに構わず読んだほうがいいと思います。

開発の過程ではこの本に書かれているような「悪魔の囁き」が聞こえてくることが何度もあります。 でも、全てを実践するのは確かに困難ではあるんですが、可能なかぎり「天使の助言」に沿うことで より良いソフトウェアを開発することができると思います。

心が折れそうなときにぜひ。

WEB+DB Press

隔月で発行されている、主にWEB開発者向けの技術雑誌です。 トレンドを追った特集が組まれているので「近頃は何がアツいのか」をざっくりと知るには最適です。 WEB系の開発者ならとりあえずチェックしてみるといいと思います。

Fujisan.co.jpで定期購読を申し込むと 発売日より数日早く発送されるのでオススメです。 (それでも新宿紀伊国屋や池袋ジュンク堂の早売りには勝てないのですが…)