下積みを経てChefのエバンジェリストへ転身
――クリエーションラインに入社する前は、どのように働いていらっしゃったのですか。
クリエーションラインの前は新卒で入った会社にいました。人材派遣を中心に手がけていた企業で、そこから出向してネットワーク運用を行っていました。当時はスキルアップを目指して資格を取ったりコードを書いたりと、いろいろなことに取り組んでいましたね。
――どのような資格を取られたのですか。
CCNA(Cisco Certified Network Associate)と基本情報技術者試験、応用情報技術者試験を取りました。会社で推奨されていたこともありますし、エンジニアスキルのベースとなる資格でしたので。また、自宅でLAMP[1]スタックのWebサーバーを作って動かしたりと、こてこてのインフラ系エンジニアのキャリアを積んでいました。
――運用側なのに、コーディングもされていたんですね。
何となく「運用という業務は将来なくなってしまうのではないか」「コーディングができないと仕事がなくなる時代が来るのではないか」という漠然とした危機感があったんです。それと当時は「なぜみんな、業務を自動化しないのだろう?」などと思いながら、担当する運用業務の自動化を進めていたのですが、そこから考えが発展して「自動化ができる時代になったら仕事はなくなるのではないか」と思うようになりまして。これからは自動化をコントロールする側に立とうと、そのために必要となるコーディングも行うようになりました。もちろん好きだったということもあるんですけど。
その現場には4年近くいましたが、最後には自分の仕事をすべて自動化して、仕事がなくなってしまいました。そうして次に移った出向先がクリエーションラインで、社長の安田から声をかけてもらったことをきっかけに転職しました。
――荒井さんはChefに熟達されています[2]が、前職時代から使っていたのですか。
クリエーションラインに出向してきた時に任された仕事がChefだった、という経緯ですね。運用とコーディングの両方という、まさに自分が目指す先と同じだったので、ばっちりはまりました。1年間くらいは下積みとして、Chefを触るところから学んでいました。
その後クリエーションラインに入社してからは「エバンジェリスト」の肩書きを与えられて、講演やトレーニングなど、Chefを広める活動を行っていました。当時、弊社ではChefをいかにして広めるかが課題だったんです。弊社のビジネスは、ユーザー企業にChefを使ってもらわないと成り立たないためです。また、Chefを使いたいというユーザー企業もいらっしゃいましたので、そうしたところに向けてトレーニングを提供していました。Chefが実現するImmutable InfrastructureやInfrastructure as Code[3]といった新しい概念も希望されて、併せて解説していましたね。
エバンジェリスト活動は1年ほど行って、続く今年4月までの1年間はチームリーダーを務めていました。
――当時の仕事に対する姿勢はどのようなものでしたか。
当時は今ほど前のめりではないというか、「自分の仕事にしきっていない」タイミングだったと思います。ただしその分、当時は技術周りの情報を積極的に収集していました。もともと情報は社内にあふれていたので、それを見ていましたね。社内のチャットツールにいつも誰かしらが新しい情報を流してくれていましたから。あとは勉強会などに行って新しいツールやキーワードを知り、ChefやRubyに関する本を読むなど、気になるものは一通り勉強しました。Infrastructure as CodeについてはChefだけでなく、Vagrantなど同様の技術についての本も読みました。
ChefやVagrantなどはあくまでツール、手段なので、自分が何を使うのか/使えるのかの議論に意味はないと思っています。1つのツールに閉じこもらず、目的や要件に応じて適宜使い分けるのが一番ですし、エンジニアはそのためにさまざまなツールを扱えるようになっておくことが必要です。
――技術や業務に対して、かなり視野を広くお持ちの印象です。
はい、視野を広くするというのは、社会人2年目から常に心がけているポリシーですね。前職の先輩から教えてもらったことなんですけれども。これはあらゆる物事――就職するにしてもその企業を盲信しないであるとか、ネットワークの運用であればユーザーやサーバーのことも考えるとか、何事においても物事を広く見るように心がけています。そうすることで、障害発生時にユーザーに対する影響まで考え、対応の優先度付けもできるようになります。逆算して考えるといいますか。
こうした考え方は、ひょっとすると私が法学部卒であることが影響しているかもしれません。法学に必要なロジカルシンキング的なところが得意で、理論を組み立てていく発想はプログラミングに通じている気がします。
注
[1]: Linux、Apache、MySQL、PHP(あるいはその他のプログラミング言語)の頭文字を取ったもの。オープンソースソフトウェアで構築する最も基本的なWebアプリケーションサーバー環境を指す。
[2]: Chefはプログラミングの要領で各種サーバーを自動的に構築・設定するためのツール。荒井氏は日本人で唯一のChef社公式トレーニングのインストラクターとして、多くの企業でのトレーニングを行っている。
[3]: Immutable Infrastructureはアプリケーションを稼働させる環境(インフラ)の構成や設定を運用時に変更しないこと。変更の必要が生じた場合には、現状のインフラを破棄して再構築する。Infrastructure as Codeはインフラ構築をプログラムとして記述することをいい、Immutable Infrastructureの実現(破棄・再構築)を支える技術でもある。