1
/
5

プログラマとインフラどっちが良いですか?【代表に聞いてみた】

どうもみなさんこんにちは!開発の鳥羽です。今回は「プログラマか?インフラか?」というテーマで社長にインタビューしました。

インタビューをお願いしたのには「当社を応募される方のほとんどがプログラマ志望だった」という背景があります。絶対に開発者になりたい!という強い思いがあるなら良いですが、よくよくお話を聞いてみるとそういうワケでもないようです。スキルを身に付けたい!という思いがまず1番最初にあって、それを実現するためにWebエンジニアになりたい..という方が多い感じがします。(インフラ/プログラマのこだわりはあまりない?)

未経験の方からすると両者の機能や役割はイメージしづらい部分もあるかと思いますので、エンジニアの先輩として代表にアドバイスをもらおうと思います!

プログラマとインフラどっちが良い?

ー ズバリ、プログラマとインフラはどちらが良いでしょうか?

どちらでも良い(投げやり?!)と思いますが、お互いの役割、やっていることを理解することが重要かなと思います。

ー その理由はなぜですか?

CTO(チーフテクニカルオフィサー)という役割がプチブレイクした時がありました。インフラを理解しているアプリ開発者がCTOになっているケースが比較的多いのかなと思います。何かしらのサービスを展開するケースにおいて、開発プロセスやプロジェクトルールなどのアプリ開発で培ってきた経験と、サービスの可用性やセキュリティを守る知識も必要になります。前述していますが、お互いがお互いの領域のことを知ることが重要だと思っています。

代表のキャリアについて

ー 永野さんのキャリアはインフラからスタートされていましたよね!

はい、私のキャリアは「インフラ」と言われる汎用機(メインフレーム)の運用保守からスタートしました。汎用機なんて今はもうレガシーで知らない方がほとんどですが、今でいうサーバーですね。

そもそも皆さんは「インフラ」のイメージってどうでしょうか?アプリ開発は仕事内容が想像しやすいかなと思います。プログラミング言語でアプリを開発するのが「アプリ開発」だとわかりやすいですね。そして「インフラ」を考えると「それ以外」と捉えらていると思います。

でも「アプリ」は「インフラ」の上で動いているけど、ただサーバーを準備しているだけなんじゃないのという理解が多いのかなと思います。その上で「インフラ」と一言で括ると低レイヤーの仕事だと思われているのかなと。「インフラ」には

  1. 設計
    1. 非機能要件(可用性、拡張性、運用保守性、移行性、システム環境)を決める。
    2. 要件に基づいた基本的な設計(基本設計)を決める。
    3. 基本的な設計から具体的な設計(詳細設計)を決める。
  2. 構築
    1. OSのインストール・設定
    2. アプリケーション実行環境の導入・設定(exデータベース、アプリケーションサーバー等)
    3. エラー発生時監視ツールの導入・設定
    4. 障害発生しても継続してサービスが稼働できるようなミドルウェア導入設定
    5. データバックアップ、ミドルウェア制御スクリプト等のインフラプログラミング開発
    6. サーバーなどインフラを作成するプログラミング開発(クラウドの場合)
    7. ネットワーク機器の負荷分散設定やファイアウォールのルール作成等
  3. 運用・保守
    1. 設計に忠実に運用・保守を行う。

と言葉にすると小難しい事が多いです。最近ではAWSを筆頭にパブリッククラウドが主流となってきており、インフラでもプログラミング言語を使う機会が多くなってきていますし、もともとデータバックアップやミドルウェアの制御(起動・停止とか)はシェルスクリプトで製造していたりと以外と単純ではありますがプログラミングする機会はあります。

ー ちなみに現在はプログラミングの仕事も一緒にされていると思います。何かのきっかけでプログラミングも勉強されたんですか?

前述していますが、プログラミングであろうがインフラであろうが本質的なことは同じだと考えています。この言葉による区分けが「アプリ開発」と「インフラ」の対立を生み出してきたのでしょうね。同じITの仕事なのだから、お互いの仕事を尊敬(リスペクト)し、信頼(トラスト)しましょうってことです。その考え方によって、DevOpsの定義(「高い品質を確保しつつ、システムへの変更をコミットしてから通常の運用に移るまでの時間を短縮することを目的とした一連のプラクティス」)が組織に根付くと思っています。結果として「アプリ開発」と「インフラ」が相互協力することで、お客さんに良い価値を提供できるのかなと。片方だけ優秀でも品質高いサービスの提供は難しいですからね。なので両方(アプリ、インフラ)の事を知ることはとても重要なだと思います。

ー 逆にインフラとしてキャリアを極める道は選ばなかったのですか?

インフラとしてのキャリアを極めるというのは、私の中では「CTOになる」というのがインフラとしてのキャリアの極みだと思っています。なので私のキャリアは残念ながらアプリ開発の現場でチーム開発をして来なかったのでそれは実現できなかったですね。ただSESでインフラの要件定義、上流設計から構築、コード開発、運用設計、そして保守含めて全てのフェーズを携わらさえせてもらったので、やりきった感はありますね。

最近の傾向

ー フルスタックを目指すべきだ!という意見をよく聞きますがどう思いますか?

私の時代に出始めたころのフルスタックって定義が曖昧で「LAMP環境が構築出来て、その環境でMVCアーキテクトなアプリ開発まで出来る人」みたいな感じでした。でもこれってすごく当たり前のことでIT好きだったら枠を決めないで学ぶって普通だと思っているからです。ITエンジニアって言い換えると「ITを使った職人」だと思っています。動くから良いというよりも拘りを持って作ってほしい。そうなるといろんな道具の特性やツールの使い方を知っている方が良いですよね。そういうことです。

ー プログラマとインフラで適正はあったりしますか?

ほんとに若干だけあると思います。まずは両者に共通することは、怠惰であることです。怠惰っておかしいと思いますが、そもそもプログラムとITとかって生産性をあげるのを目的にしていますよね!簡単な事例でいうと丸1日掛かってた作業を規則性見つけてプログラムにして5分にすることが目的です。そんな気持ちよさを知って皆さんはIT業界に興味を持ったと思います。

ITエンジニアってその5分にするために開発をする職種・人種で、そのために1週間かける情熱があります。そういうところは共通するところかなと思います。

あとは知的好奇心が旺盛なこと、ロジックで考えられることが重要かなと思います。正解のロジックを見つけてプログラミングにすれば解決するって考え方によっては簡単、スッキリするお仕事だと思います。

応募される方に向けて..

ー プログラマとインフラで悩んでいる方がいたら、永野さんならどのようにアドバイスしますか?

どっちでもいいじゃんと思います。自分の行きたい方向っていずれ見つかるので。

ー スクールで学ぶのはプログラミングがほとんどなので、インフラはイメージが湧きづらい方が多いと思います。永野さんオススメ勉強法はありますか?

やったことは自分の知識になりますので、理解に時間を費やすこと。そうすると応用が来ても全てが思考の中で繋がりだしやったことがないことでも予想を付けて解決に導くことが出来るようになっていきます。!私の好きな考え方に「守破離」があります。

まずは 「守」で、師や流派の教え、型、技を忠実に守り、確実に身につける段階。 「破」は、他の師や流派の教えについても考え、良いものを取り入れ、心技を発展させる段階。 「離」は、一つの流派から離れ、独自の新しいものを生み出し確立させる段階。

ITエンジニアは職人と話したと思いますが、まずは基本の型を身につけ、自分の経験や流行りの技術の情報を入手し良いことを取り入れスキルを発展させ、それを組み合わせ自分が目指すべきエンジニアになっていくと思っています。

社会人3年目ぐらいに読んだ漫画で印象深い言葉があり、今でも覚えているのですが『中華一番!』という漫画で主人公の努めているレストランである陽泉酒家で1シーンなのですが、

「『陽泉酒家』の伝統とは何だ!?」
『伝統を覆すことでございます!』
「この店に守るべき味は存在しない‼常に創意工夫をもって従来の味を打ち破る姿勢こそ“陽泉”の“伝統なのだ”」

この言葉が異様に印象に残っています。弊社はまだ13年足らずで伝統もないのですが、このような企業文化を根ざしていきたいと思います。

ー 永野さん、ありがとうございました!

最後に..

アプリ開発とインフラが相互協力することで、顧客に良い価値を提供できるのかなと。片方だけだと実現できないですからね。両方やることはとても重要なことだと思います。

プログラマか?インフラか?という区分けに捉われることなく、技術者としてITで社会貢献できるための技術をしっかりと身に付けていくことが大事だと感じたインタビューでした。特に永野さんが大切にされているのは「守破離」の3段階の考えです。

まずは基本の型を身につけ、自分の経験や流行りの技術の情報を入手し良いことを取り入れスキルを発展させ、それを組み合わせ自分が目指すべきエンジニアになっていくと思っています。

基本の型というのはコーディングだけでなく、ツールの使い方であったり、テストであったり、それがインフラであったりITの領域はとても広く様々な分野があります。当社に入社された方はぜひ一緒に技術者として成長していきましょう!

Invitation from 株式会社アウルキャンプ
If this story triggered your interest, have a chat with the team?
株式会社アウルキャンプ's job postings
2 Likes
2 Likes

Weekly ranking

Show other rankings
Like Hirofumi Nagano's Story
Let Hirofumi Nagano's company know you're interested in their content