株式会社Murakumo

Articleprepare インターンシップ採用決定で勉強支度金最大6000円プレゼント

[職種]エンジニア/プログラマー [業界]IT

アルゴリズムを究める!クラウドの根幹技術が身につく希少な機会【時給3000円〜】

株式会社Murakumo

○注目ポイント

  • 時給1200円以上
  • 交通費支給
  • 正社員雇用有り
  • ベンチャー
  • 少数精鋭
  • 落ち着いた雰囲気

○職種

  • エンジニア/プログラマー

多数のマシンを協調動作させることで1つの超高性能なデータベースを実現するソフトウェアである分散DBMS。これを新たにゼロから開発するという、世界的に見てもめずらしい仕事です。

・アルゴリズムに強くなれます
・「趣味としてのプログラミング」から「職業としてのプログラミング」にステップアップできます
・東大数学科の博士号を持つプロジェクトリーダー(プログラミング歴21年)のもとで働けます

○給与

・時給3,000円〜4,500円
・特に優秀な方にはストックオプションを付与(複数件の付与実績あり)
・交通費支給

○応募資格

以下の1.〜3.の条件を全て満たしている方。

1. データ構造やアルゴリズムについて考えることが好きであること
2. C言語(またはC++)が得意であること(3年以上継続的に使用している等)
3. 英語で書かれた情報からも新しい知識を仕入れられること

※開発は主にLinux上でC言語を用いて行います。

○勤務地・最寄り駅

東京都目黒区

中目黒1-1-45 AS-ONE 中目黒 2F

東急東横線/東京メトロ日比谷線 中目黒駅
JR山手線/東京メトロ日比谷線 恵比寿駅

地図はこちら

○企業情報

  • ○ DBMSを作ると人生が変わる

     DBMSを作ると人生が変わる

    「プログラマとして一生に一度は作りたい大規模ソフトウェアは、OS、コンパイラ、そしてDBMSである」という一つの考え方があります。OSやコンパイラの自作に興味を持つ人は多いと思いますが、DBMSについてはどうでしょうか?

    この募集を書いている私自身、かつてはDBMSについて全くといっていいほど興味がありませんでした。ところが、Murakumoにアルバイト(当時)として採用され、DBMS開発チームで働き始めたことによって、みるみる認識が変わっていきました。「広さにおいても深さにおいても、これほど実装技術の追求しがいのあるソフトウェアはなかなか無いぞ」と、年を追うごとにその開発にのめり込んでいったのです。

    DBMSはいわば「超複雑な高機能データ構造」であり、様々なパターンのデータアクセスに伴って大量のストレージI/Oやネットワーク通信が発生します。これをいかに効率よく行うかというのは、何十年ものDBMSの歴史の中で常に最先端の問題であり続け、未だに日夜改良の努力が重ねられている領域です。

    また、DBMSはOSとアプリケーションの中間に位置するミドルウェアと呼ばれるソフトウェアであり、高いパフォーマンスを出すためにはOSを深く理解し、OSと緊密に連携することが不可欠となります。あるいは、万能のDBMSというものを作ることはまずできないため、世の中のアプリケーションは一体どういった機能を(潜在的に)必要としているのかを注意深く観察・選別し、それをDBMSの実装として落とし込むといったことも必要になります。

    さらに、DBMSの操作の大部分は問い合わせ言語(いわゆるSQLなど)を通して行うため、DBMSは言語処理系を内部に含んでいます。近年プログラミング言語は百花繚乱の様ですが、問い合わせ言語については化石状態のものが広く使われ続けているのが現状であり、かなりの改善余地が残されています。

    結局のところ、DBMS作りはOSやコンパイラとも密接に関わる「全部入り」の経験なのです。胸を張って「自分はDBMSを実装できます。」と言えるようになれたとしたら、人生どこへ行ってもまず困ることはないはずです。

    (写真は512台のサーバ上で現行製品の分散DBMSを動かしている様子です。)

  • ○ トップを目指せば技術はついてくる

    作るからには、世界のトップをとらなければ意味がありません。分散DBMSに限らず、これはMurakumoの方針であり、私の(Murakumoに入る前からの)個人的な信念でもあります。

    トップをとるにはどうすればいいでしょうか? 実は、次の二つのステップを踏むだけでいいのです。
     1. 未解決の問題のうち、最も重要なものを見つける
     2. それを解決する
    こうすることで、この問題を解決した分散DBMSは世界に一つだけなので、自動的にトップであることになります。そしてトップであり続けるには、これらのステップを何度も繰り返すだけでいいことになります。

    はたして、分散DBMSは「開発困難ソフトウェア」の代名詞の一つと言ってよく、1.のステップが難しいのはもちろんのこと、2.のステップでは既知であれ未知であれ数多くの難関が待ち構えています。だからこそ、その開発は豊かな技術資産をもたらす宝の山なのです。抽象的な概念を対象としたアルゴリズムからC言語での具体的な設計テクニックまで、数学的なものからCPUのアーキテクチャに関わるものまで、ありとあらゆるタイプの技術を習得し、発明し、組み合わせ、徹底的に磨きあげることによって、やっとのことで解決にこぎつけるのです。そこには一切の妥協が存在しないかわりに、漫然とプログラミングを続けていたのでは決して得られない、深い喜びが待っています。

    ここで有名なフレーズを思い出しておきましょう。そう、『鏡の国のアリス』における赤の女王の台詞、「全力で走り続けなければ、一つの場所にとどまることはできない。("[...] it takes all the running you can do, to keep in the same place.")」です。そしてこの台詞には続きがあります。曰く、「別の場所にたどり着きたければ、少なくともその2倍の速さで走らなければならない!("If you want to get somewhere else, you must run at least twice as fast as that!")」と。すなわち、全力で走り続けなければトップにとどまることはできない上に、トップ以外からトップになるためには少なくともその2倍の速さで走らなければならないのです!(※原文はProject Gutenbergのテキストより引用)

    この比喩の是非はともかく、トップを目指し続けることによって、つぶしがきく技術や高度な技術をどんどん身につけていくことができるのは間違いありません。

  • ○ 必要なのは、多様な仲間だ

     必要なのは、多様な仲間だ

    トップアスリートは一人で練習を積み重ねてきたからトップになれたのでしょうか? トップ棋士はどうでしょうか? 音楽家はどうでしょうか? 研究者はどうでしょうか? そしてエンジニアは?

    答えは、ほとんどすべての場合においてNoでしょう。同じトップを目指す者同士の集団に属することによって、先輩から教えられ、同期と競い合い、後輩に追い上げられ続けたからこそ、トップになれたのです。一人で、あるいは取り立てて上を目指しているわけではない集団に属して何かに取り組んだとしても、残念ながらかなり低いレベルで成長が止まってしまう場合がほとんどでしょう。

    DBMS開発はチーム競技です。最高のDBMSを作るために世界中の開発チームがしのぎを削り合い、メンバーが技術を磨き合っています。その中でMurakumoが戦い続けるためにも、互いに信頼し合える仲間が必要なのです。

    そして仲間には多様性が必要です。高い多様性は切磋琢磨のスピードを上げ、逆境が訪れたときにそれを乗り越えるための底力にもなります。ですので、全体としてはトップを目指すチームである必要はありますが、個々のメンバーについてはかなり何でもありだと思っています。
    ・抽象的な思考が得意な人
    ・具体的な問題に手を付けるのが早い人
    ・頭はすごく切れるが集中力もすぐ切れる人
    ・根性で何とかする人
    ・トップとか正直どうでもいいが、与えられた仕事は責任を持って遂行する人
    ・そんなんじゃトップはとれないからこっちのやり方に変えろと主張する人
    などなど。様々なタイプの人たちが集まることによって一つのチーム文化が醸成され、その中で互いに切磋琢磨し合っていたらいつのまにか世界最高のDBMSができていた――という夢のようなシナリオがあってもいいとは思いませんか?

    もしこのような夢に乗ってくださるのであれば、プログラミングを始めて21年、MurakumoでDBMS開発に加わってから14年の私が、責任を持ってみなさんの成長の手助けをいたします。そしてみなさんからの刺激を受けて、私自身も成長したいと思っています。

    (写真はこの募集を書いている私こと、次世代分散DBMS開発リーダーの近藤です。文中の年数は2018年9月時点。)

絶対受かるESの書き方、面接テクニック講座

おすすめインターンシップ・インターン求人情報

株式会社ドクターズプライム

マーケティング

日経掲載!顧客満足度を最大化させるカスタマーサクセス(トレンドの職種)募集

キャリアフィールド株式会社

マーケティング

【残3名】それ、就"社"になってない…?本物のマーケティングに挑戦するインターン

日辰広告株式会社

マーケティング

【社会人と同じ実務経験】人材紹介会社のマーケティング業務をおまかせします

株式会社エリートネットワーク

事務

『求人入力事務』を通して様々な知識を身につけよう!【週2日~、1・2年生歓迎!】