1.御社が運営されているバーティカルメディアとはどのようなメディアなのか教えて頂けないでしょうか?
バーティカルメディアについて、具体例を交えながら説明させて頂きたいと思います。例えば賃貸物件をまとめたサイトがあるとします。そのようなサイトは、複数の企業様が個別に運営されています。大手であればSUUMOやHOME’Sなどのサイトがあります。
弊社では、ちょうど横串しを刺すようなイメージになるのですが、そのような賃貸物件情報を掲載している複数サイトの情報を横断的に1つのサイトの中で検索できるようなサイトを運営しています。これがバーティカルメディアになります。
弊社で運営しているバーティカルメディアは、ブライダル・求人・不動産とその分野は多岐に渡ります。
ユーザーの皆様にバーティカルメディアをお使い頂く際のメリットとしては、複数のサイトにばらけていた情報を一括して、バーティカルメディア内で検索することができるというメリットがあります。また弊社ではバーティカルメディアの運営において、どのような検索軸を設けて検索ができるようにするかということに非常に気を使っております。
賃貸物件であれば、広さ・立地条件・賃料など様々な検索軸を準備しなければなりません。この検索軸を複数のサイトにある情報を横断して検索可能にするとなると、非常に苦労します。データのフォーマットが各サイトによって異なるからです。実際は各サイトの運営会社様からデータを頂いて投入する仕組みを構築したり、外部サイトのAPIを叩くことで、必要なデータを抽出するなど、媒体ごとに個別に対応する必要が出てきます。
2.エンジニアとしてどのようにプログラミングを習得されていったのでしょうか?ご自身の経験ベース、レベルに応じた段階ごとの学習方法についてご教授頂けると幸いです。
前提として、私は学部では化学を専攻しており、大学3年生からプログラムを書き始めるようになりました。プログラミングする楽しさを知ったのは、ちょうどエンジニアとしてインターンをするようになった時期からです。インターンを通じて、自分のプログラミングのスキルは大きく伸びたように思います。
私は、エンジニアとしての学習段階として大きく分けて3段階あるように思います。
1段階目は、調べ方がわからない段階だと思います。この段階の方であれば、何かコードが動かないとなった場合に、デバッグ(コンピュータプログラムの誤りを探し、取り除くこと)の仕方がわからないというような状態です。私は実際このような段階から始めて、インターンを通じて、実際の現場でどのようにしてデバッグし、動かない部分を解消していくのかを知り、自力でコードを書いて修正できるようになっていきました。
2段階目は、コードを書いていて行き詰まった際にどのように調べればいいかはわかっている段階だと思います。ここまでくると独学でスムーズにスキルを伸ばしていくことができます。ただし、なぜそのプログラムが動かないのかを推測する力は、あまり働く段階にはなく、プログラムの実行過程で表示されたエラー内容で検索してみて、その結果が見つからなかった場合(とはいえ、StackOverflowなど英語の情報ソースまで含めればほとんどが検索結果として引っかかってきますが…)、作業が止まってしまうレベルにあると思います。
Ruby on Railsなど多くの開発者がすでに触れている技術であれば、ほとんどの情報は検索すれば、エラーの対処方法を手に入れることができます。しかし、新しく出てきたミドルウェアだったり、検索エンジンだったりそういった技術だとエラーで検索しても結果が出て来ないことがあります。
3段階目は、新しく出てきたミドルウェアだったり、検索エンジンだったりそういった新しい技術に関して、エラー内容で検索しても検索結果が出て来ないものに対峙し、自分がエラーに対する対応策を考えだせるような段階だと思います。私は今後1人のエンジニアとして、3段階目に挑戦するエンジニアであれたらと思っています。業務内では必ずしもコードを書くだけではないので、毎日少しでもコードを書く時間を確保するようにしています。
3.最後にエンジニアインターンをご覧になっている学生様に一言頂けますでしょうか?
よく実際にプログラムを書いてみたい、アプリを作ってみたいという人は最近特に増えたように思います。ただ書かなければ、作らなければ始まりません。まずは作ること。単に作りたいではなくて、実際に手を動かしてみることを大事にしてみてください!
そうすれば、今回お話させて頂いた1段階目さえ超えてしまえば非常に楽しい景色が広がっています!ぜひ挑戦してみてください!