松岡(以下、松岡)本日はX-HACKの松田さんと長岡さんに来ていただきました。松田さん(以下、松田)うちの会社はシステムの受託開発と並行して、初心者向けのプログラミングのスクールを運営しています。けのプログラミングの勉強会を精力的に開催しているという感じです。受託開発とエンジニア教育支援事業を同時にやっていらっしゃいますが、なぜ2つの軸で事業を展開しているのでしょうか?松田エンジニア育成スクールってたくさんあるんですけど、現役のエンジニアがちゃんと現場でやっている技術を教えるということにすごく価値があると思っているからです。スクールだけではどうしても現場との知識やトレンドと乖離が出てしまいます。常に最新の技術で、実践で使っているものを教えるというのが価値になると思っているので、なるべくスクールのみの運営というふうにはしたくなくて。受託開発の仕事も部分的に手伝ってもらうことで、生徒さんはより実践的な知識を身に付けることができます。長岡さん(以下、長岡)スクールで勉強するときに一番不安だと思うのは、この勉強を続けて本当に開発できるのかというところがあるかなと思っていて、それを取り除くためにもシームレスに実際の仕事の開発現場にも入れる、というのは不安解消の点でも非常にメリットがあると考えて、こういうかたちにしています。松岡かなり実際の技術であったり現場というものに強いこだわりを感じるんですが、実際にお二人は現役のエンジニアですよね?松田/長岡はい、そうです。松田いえ、元々は営業事務畑で。高校卒業後、2年ぐらいフリーター的にぷらぷらしていたんですけど、さすがにこのままじゃヤバイなと思って、適当に面接を受けて合格した中古車輸送の会社に入社したのがファーストキャリア。プログラミングとは縁遠いんです。このままこの会社にいても「ほかの会社でやっていくスキルは身に付かない」と思い、26歳くらいの時にプログラマーを志して転職をしました。松岡なぜそこでプログラマーだったんですか?松田ちょうどそのときiPhoneが出始めたタイミングで、セカイカメラやARといった新技術が生み出された頃でした。それを見たときに、「これは絶対に大化けするぞ」と。この技術革新の波に乗らない手は無いだろうと思ったんです。今後ITが拡大していく中で、その基礎であるプログラミングはそう簡単に無くなる技術ではないだろうと感じていたというのもあります。単純に好きだ、という感情と食いっぱぐれないだろうという打算と、この2つが噛み合いました。私は、新卒で外資系のコンサルティングファームに入社しました。就職活動のときは、インターネット系企業とコンサルティングファームの2つで迷っていました。結果コンサルを選ぶんですが、実際に働いてみると、あぁ自分はものをつくったり、リアクションを直にもらえる環境の方が合っているな、と感じたんです。そこで、インターネット業界に転職したんですね。そこからいくつか転職したり起業したりしていく中で、実際にコードが書けないとエンジニアと一緒に働くにしてもなかなかうまく物事が進まないなと実感し、もともと興味自体はあったので勉強してエンジニアにキャリアを変えたという感じですね。エンジニアのには錯覚資産が多い松岡お2人の話を聞いていると「必要だと思ったからやりました」というふうに、結構簡単に聞こえてしまいますが、一般的に「エンジニア」という職業への障壁は高いと思います。エンジニアがやっていることは、非常にレベル高いのではないか?って私自身構えてしまう部分があるのですが、それって意外とそうでもないんですか?長岡そこで言うとよく分からないものがすごく見えてしまう、というのは結構あるなと思っていて。最近の流行りで言うならば、錯覚資産とかそういう言葉になるかなと思うんですけど、凄そうに見えることと、実際にやってみることの差は皆さんの想像以上にあります。生産性が1万倍違うとか、向き不向きはあるものの、ちゃんと勉強しながら実践を繰り返していけば、現場で働けるエンジニアになることは誰でも可能だと思います。メジャーリーグで野球をしようって話ではなくて、ちゃんとキャッチボールを続けていけば仕事ができるというような業界なので。天才的なプログラマーになるには特殊な才能が必要だと思いますが、一般的なエンジニアの仕事の多くはバグの修正だったり、既存機能の追加・改修、新規サービス構築と言っても既にあるものや、それにカスタマイズしていくみたいなところなので、何か新しく完全につくるというよりは、積み上げていって動くものをつくっていくということが多いです。特殊な才能がないとできないとか、特殊な訓練を積んでいないとできないということはないと思います。松岡ありがとうございます。長岡さんがプロすぎて、出演していただきながらライブのコメントにも参加してくださっているという、神業を見せてくださっているんですが。集中してくださいって、はい、すみません。松岡(笑)いや、全然大丈夫ですよ。長岡ある意味、集中しています。表面で見えるものの影響が大きすぎる松岡なので、ここからユーザーからの質問コーナーに移りたいと思います。あつこさんから「一番のギャップが知りたいです。外から見ていたのと、実際にやってみての違いは」ということで。想像していたのとギャップですか...。思ったより泥臭いなというのはありました。すごくエレガントなことをやっているようで、本当は1行書いてはちゃんと動くかの確認ということの繰り返しと、あとは常に進化していくものではあるので、勉強し続ける必要性がある、というのはギャップだったかもしれません。長岡エンジニアをやる前は画面に映っているものしか分からないので、その裏側で何がどう動いた結果そうなっているのか、というのは全然知らなかったというのはありますね。実際やってみると裏側のほうが様々なことをやっているんだなというのがあって、知る前は簡単に思えていた画面の修正が大変に思えてしまったり。表面で見えるものの影響が大きすぎるというところが、一番のギャップだったかなという気がしていますね。ボタンを1個出すというと、ボタンをただ配置するだけじゃなくて、そこを押したときの挙動と、それがエラーだったときの挙動と、そのボタンを置くことによって変わる遷移とか全体の構成というのを考え直さないといけないので、ただボタンを置くだけといっても実は大変だったりしますね。簡単に、なんでボタン1個追加するのに2週間かかるんだみたいな。