ID:16202さん

3年後の目標や野望


場所や時間にとらわれずに、自由に知的生産を行い、それにより十分に生計が立てられるようになりたい

年収評価シート

2010年/2年以内

自社BI製品のコア技術の研究・開発プロジェクト

 自社プロダクトであるBI製品の集計エンジンの高速化の研究・開発プロジェクトに従事し、特許を取得しました。  このプロダクトは、特許を取得した独自のデータ構造でデータをディスク上に持つことで、非常に高速に検索・集計演算ができることが最大の強みでしたが、当時は原則として単一ノード(サーバ)上でしか動作しないアーキテクチャでした。  これを複数ノード上で動作する分散・並列型のアーキテクチャに対応させるための基礎技術開発、プロトタイプ実装、性能評価をしました。  基本設計やプロトタイプ実装は私とベテランの先輩(当時40歳台)で分担し、設計や性能評価のレビューは社長がしました。  2010年当時、主に英語文献しかない環境下でHadoop等の分散並列処理フレームワークについて調査しました。そこで使われている「分割・統治」型のアプローチ、「コンシステンス・ハッシュ法」を、特許取得済みのデータ構造とうまく組み合わせることで、単一ノードのみ対応だったデータ構造を、N台のノードにスケールする分散並列処理機構としました。  特に、並列化した際にスケーラビリティが出ない問題にぶつかった時に、コンシステンス・ハッシュ法を用いることでスケーラビリティを確保することと、ビットマップを用いた絞り込み(SQLのWHEREに相当する処理)処理、および分散並列JOIN処理方式は私が設計、実装した方式によりスケーラビリティが確保できました。アイデアを数十枚の紙に書き出していき、コンシステンス・ハッシュを一つ一つのデータに対してではなく、データのチャンクに対して適用することをひらめきました。これによりスケーラビリティが確保できました。  プロトタイプ実装により、リレーショナル演算の絞り込み(SQLのWHERE)、結合(JOIN)、集約集計(GROUP BY)に対してN台のノードに対して線形に近いスケーラビリティがあることを実証しました。実装において、各処理を担うクラスのインタフェースは主にベテランの先輩が用意しました。そのインタフェースに合わせて絞り込み、結合の並列処理を実際に記述する部分は私が担当しました。並列化を損なうような処理を紛れ込ませないのが重要でした。  性能評価はAWS上のEC2ノード、後には社内ローカルのブレードサーバ10台で行いました。EC2ではノード数を数十までとして性能測定をしました。多数のノードを効率よく起動したり終了、削除したりするためにPython APIを利用したスクリプトを書きました。EC2ではネットワークの不安定性により、思うような性能が出ませんでしたが、ローカルのブレードサーバ10台では線形的なスケーラビリティがあることが実証されました。  この分散処理方式を日本、および国際特許化しました。特許文書は弁理士の方に執筆・翻訳していただき、主にこのプロジェクトの従事者(社長、先輩、私の3名)でレビューをしました。

2015年/1年以内

スタートアップ企業での新製品(直感的GUIによるデータクレンジング可能な仮想データベース)開発プロジェクト

 スタートアップ企業で新製品の設計、実装、テスト、Webサービス化、パッケージ化、Jenkinsによるビルド自動化を行いました。  企業内に散在するデータソース(csvやRDBMS等)を仮想的に1箇所のRDBMS上に集め、必要なデータクレンジング処理をして、集計のプレビューをしたり、分析に便利な大福帳状態としてCSV出力する「仮想データベース」製品を開発しました。「仮想」とつくのは、メタデータのみを1箇所に集め、実データは事前のローディングをせず、必要な時に取りに行く方式のためです。  「仮想データベース」としての製品の企画部分は社長と、同僚のエンジニアが主に発案しました。それに対して、直感的なGUIによりデータクレンジング処理が記述できる「クレンジング画面」を私が発案、設計、実装しました。画面中のコンボボックスやテキストフィールド、グリッドへの入力により、名寄せ置換や全角・半角等を変換する処理を定義し、それらの処理の適用順序を自由に定義できるものです。これにより、SQLやETLツールが使えない人でも、Excelが使えるくらいのITリテラシーがあればデータクレンジング処理を記述できる製品となりました。この「クレンジング画面」によるクレンジング定義処理方式は日本、および国際特許出願しました。特許文書は弁理士の方に執筆、翻訳していただき、レビューは私が行いました。  この製品は当初、Webサービスとして開発しました。GUIはブラウザで動作するものとして、ExtJS/JavaScriptで開発しました。バックエンドのWebアプリケーション部分はSpringFramework/Java、データベース、及び仮想データベースとしての機能はPostgreSQLが担いました。PostgreSQLのForeign Data Wrapper(FDW) 拡張を利用することで仮想データベースとしての機能を実現しました。私は主にExtJSによるGUI開発、「クレンジング画面」にユーザが入力した内容からSQL文を生成する処理を開発しました。また、Webアプリケーション部分の機能拡張を2〜3割程度行いました。残りの部分の設計、実装は同僚のエンジニアが行いました。バックエンドのWebアプリケーションサーバ、PostgreSQLをAWSのEC2上で動作させることで、Webサービスとしてリリースしました。企画からリリースまでおおよそ7ヶ月程度だったと記憶しています。  その後、営業サイドからの要望によりこの製品をWindowsのパッケージソフト化しました。パッケージ化においてInstallShieldによるインストーラ開発、ライセンスアクティベーション機能のGUI (MFC/Visual C++) 開発、Jenkinsによる自動テストおよびCI環境構築を私が担当しました。営業サイドの要望に応じて、評価版、製品版など、製品エディションに応じて機能のON/OFFを切り分ける機能をインストーラのスクリプトに仕込みました。Jenkinsによる自動ビルドで出荷用、社内テスト用など、複数のリビジョンのソースコードに対して、全ての製品エディションのインストーラが自動的にビルドされるようにしました。ビルドを自動化したことにより、インストーラ作成の手間が大幅に削減でき、ユーザに配布したインストーラがどのビルドだったかも正確にトラッキングできるようになりました。InstallShieldやJenkins未経験の状態でしたが、3ヶ月程度で必要事項の学習から上記自動ビルド化完了まで行うことができました。

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
未入力です
Qiita アカウント
あり
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
未入力です

今後、身につけなければいけないと思っている技術は何ですか?

* モバイルアプリケーションについての理解を深める(開発、利用されるコンテキスト含め) * 自動化技術としての機械学習、ディープラーニング

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

* 大きな方向性や概略だけ示されて、細かい部分は自分の自由に任されるような環境。

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
水とプログラミングどっちが大事?
自信を持って人より秀でていると言える点
学習能力 / 問題解決力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
プライベートとの両立
やりたくない分野
未入力です
その他の特徴
使用言語にはこだわらない / 起業/創業期のベンチャーにいた
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で40代前半
好きな Text Editor
Vim
希望勤務地
その他地域 / リモート勤務
家庭の事情や体調など、都合に合わせてリモート出来れば問題ない
希望年収
未入力
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?