スタートアップの紹介に特化した Bay Aria 地域のトップメディア企業である TechCrunch が、今年の秋に恒例のハッカソンを開催しました。インターシステムズは、その他4社と一緒に参加し、3日間に渡って何百人ものハッカーたちを支援し、賞金として14万ドルを提供しました。この投稿では、シリコンバレーのスタートアップコミュニティに当社の技術を紹介して学んだことを述べたいと思います。
第一日:はじめに
シリコンバレーのハッカソンは初めてで、何が起こるのか分かりませんでした。当社の歴史の多くは、大きな組織の支援に注力してきました。こうした努力は続けていますが、さらに広範な開発者コミュニティとの接点を探り、若い世代に、世界で最も重要なアプリケーションに使われている当社の高速で信頼性の高いデータレイヤを提供するユニークな手法の紹介にも力を入れています。
今年、Disrupt San Francisco 2019 で行われた TechCrunch Hackathon に参加させていただきました。新しい InterSystems IRIS Data Platform をお試しいただくよう、開発者にその魅力が伝えられるようなリソースを準備しました。スポンサーとして「プラットフォームの一般的な使用」と「当社の医療に特化した機能を使って面白い開発をした」という2つの賞を用意しました。殆どの参加者にとって当社技術は新しいものなので、参加者にサポートとこのコンペティションで必要な支援を提供できるよう、多くのエンジニアとトレーナーを連れて行きました。
今年は、インターシステムズは、製品レベルにおいて、開発言語の「選択の自由」に非常に力を注いでいます。ObjectScript に加え、Java, C#, Python, Node.js をフルサポートしています。また、SQL から IRIS へのアクセスにも力を入れていますが、ネイティブなグローバルサポートもあります。今年の夏に、新しいユーザ向けのドキュメントも劇的に改善し、 gettingstarted.InterSystems.comで公開しています。ここには、皆様が選択した言語で、IRISを使うためのすべての情報が1か所に集められています、
参加者は、日々の仕事から離れた、コードを書く強者たちで、スタートアップ技術センスで自信を売り込みたいと考える熱意を持った学生やこうしたイベントでエネルギーを蓄えているプロフェッショナルなハッカーたちです。
第一日目は、ワークショップで InterSystems IRIS を、同僚の Derek、Nikole と共に紹介させていただきました。ジュニアプログラマはいませんでしたが、複数のプログラミング言語やいくつものデータベースの経験をもつ熟練したベテランに参加いただきました。皆様、MySQL、PostgreSQL、MongoDB といった通常使うものはよくご存知でした。私の仕事は、皆様が学んだツールを使って、皆様の業界でベストなサポートを得ながら、より早く、より拡張性、信頼性が高いアプリケーションの開発をする時に、プラットフォームとして IRIS を選んでいただくようにご紹介することです。
最初は多くのデータベースは同じものに思えるでしょう。当社の技術の使用は、特段急ぐことはありません。しかし、人々は、そのスピート、拡張能力には、大変感心されます。また当社のカスタマーサポートも、オンサイトスタッフの質のよさは、証明済みです。多くのチームにお試しいただき、getting started をよく学んで下さいました。
第二日目:コツコツ取り組む
ハッカソンの二日目は、ハッカーたちはそれぞれのビジネスソリューションに落とし込んでの、コーディングの日でした。私が特に興味深いと思ったことは、彼らの仕事環境の中でのプログラマを見る事でした。ツールは何を使うのか、困った時にどのようにサポートを見つけるのか、アプリケーションフレームワーク、データベース、または、プログラム言語など、何を選ぶのだろうか。もちろん、こうしたさまざまなグループがありましたので、答えは、あらゆるものです。しかし、いくつかのパターンがありました。もっとも顕著なものは、IDE の選択は、Visual Studio Code。いくつか違うものもありましたが、SublimeText、 Notepad++. の使用はよく見かけました。 VS Code は、Mac であろうと Windows であろうと、いたるところで使われていました。
驚いたのは、Node.jsにくらべ Python がとても多く使われていたことです。恐らく、インターシステムズテクノロジに興味がある方は、よりデータサイエンス寄りだからでしょうか。InterSystems IRIS を使う殆どのハッカーは、PyODBC ドライバーを使って Python で SQL を書いていました。ハッカソンは時間がないため、より多くの人が早くプロトタイプを作り、スキーマレス開発の利益を得るため Node.js を選ぶのかと思っていました。学んだことは、SQL/リレーショナルパラダイムは、以前としてNo.1ということです。これらに関わらず、全てのスタックレベルで、JavaScript と JSON に向かう流れであることを告げています。
コンペティションには時間制限があるため、チームの生産性は重要でした。それを支援したのは、私の同僚 Evegeny と ObjectScript Docker テンプレートでした。これは、Docker store から InterSystems IRIS Community Edition のインストールプロセスを自動化する価値あるツールで、namespace を作成して、scaffolding code を生成し、さらに ZPMをインストールして、 InterSystems パッケージマネージャが npm-style code をインポートをします。
最終的に、あるスマートな開発者は、数時間でglobalsを学び、ネイティブアクセスを使って2つの異なるアプリケーションを開発しました。
三日目:ハッカソン終了
金曜日の朝、カフェインを取り過ぎたコーダーたちが、最終ラインにプロジェクトをもっていくために、熱心な活動が行われていました。私たちは非常に素晴らしいアプリケーションに出会いました。 全てがここで見られるのです。勝者を決めるのは非常に困難でした。 FlyerTV は、globals を使った唯一のチームで、当社のプラットフォームで深層学習を見せてくれました。しかし、それが優勝したメインの理由ではありません。旅行番組を見て、そこに行きたいという気持ちが高まり、その番組を見ているテレビで旅行の予約が可能になる、これは目の前の画面を少なくすることで、私たちの生活をよりシンプル、スムースにする技術の素晴らしい使い方だと感じました。
Antibiogram は、第2位となりました。彼らのアプリケーションは、最新のデータと医師が広く利用可能かということに基づき、患者が簡単に適正な抗生物質の特定をする方法を見つけるものです。彼らは、InterSystems IRIS をデータレイヤとして使い、PythonでSQLを書きました。ベストヘルスケアアプリケションの勝者は、MEL (mental health evaluator)でした。 MELは、リアルタイムの健康と顔の表情データを機械学習に組み入れ、患者の心の状態を分析し、一般的なメンタルヘルスデータと統合して、メンタルヘルススコアを出すというものです。MELが、気持ちが非常に危険な度合いの鬱であると判断すると、専門家に連絡をします。このチームは、IRIS をデータレイヤとして使い、FHIRデータモデルを患者の健康プロファイルの保存に使っています。
Familiar にも触れさせていただく事を嬉しく思います(これは、偶然にも FlyerTV と同じチームのものでした)。皆さんは、約25%の犬が、毎年シェルター(保護施設)に戻っているのをご存知でしたか。Familiar のゴールは、ペットとペットを探す飼い主とのマッチングを行い、その数を減らす事です。研究では、戻り率は大きな指標となっています。顔認識を使い、ペットと飼い主のマッチングをしました。これによって、判定とビジュアルには大きな合致をもたらしました。
常に当社の技術は、大企業の長期多岐な開発サイクルには合致していると理解していますが、当社の技術を24時間で学び、利用可能になるかには疑問がありました。新しい言語のサポートオプションのお陰で、今それが可能になっています。開発者は、Python や SQL など既に知っている技術を使って、すぐに効率よく開発が可能で、使っていくうちに InterSystems の特化した機能を深く試せるようになります。データレイヤに精通した世界中の能力の高い開発者が広くアイデアを寄せ合いこれを実現することに出会い、マサチューセッツ州ケンブリッジからはるばるやってきた甲斐が大変ありました。これからも開発者に関心を寄せていただく活動を続け、また次回のハッカソン参加の際に、もっともクリエイティブな開発者の皆さまにお会いして、彼らが InterSystems IRIS をこれまでにない手法で利用して、今日のデジタル世界を推進し続けると確信できることを大変楽しみにしています。
Raj Singh(ラジ・シング)
インターシステムズにおいて開発者エクスペリエンスを担当するプロダクトマネージャー。1990年代後半スタートアップ企業 Syncline の共同創始者で、Web mapping-as-a-service のパイオニア。MITで、都市計画分野での博士課程終了。Web サービスデザインプラットフォームに基づく都市情報システムの分散コンピューティングアーキテクチャを創造した。その後、Open Geospatial Consortium で空間的相互運用性データの課題に10年間取り組んだ。インターシステムズに入社以前は、IBM でデータベース、データサイエンスクラウドサービスの開発者リレーションに尽力した。Twitter アカウント:@rajrsingh.