和山 弘 / Hiroshi Wayama
ソフトウェアエンジニア。1983年、岩手県盛岡市生まれ。京都大学理学部、および京都大学大学院理学研究科を修了。専攻は物理学。2009年にキヤノン株式会社に入社し、半導体のプロセス開発、数値計算、シミュレーション技術開発、AWSを用いたWebアプリケーション開発などに従事。会社員として働きながら、深層学習を用いた画像認識プロジェクトやデータ分析業務にも携わる。2019年に退職し、独立。
2020年に弁護士向けの案件管理アプリを開発するLegalWinを共同創業。2021年には、会社員時代より開発を続けていたプロダクトを売却。現在は、機械学習プロジェクトのプロジェクトマネージャーやエンジニアとして活動する一方、社会人博士課程の学生として推薦システムに関する研究を行っている。妻と息子一人。
問い合わせ
お問い合わせはこちら からお願いします。
起業
1. LegalWin
弁護士の友人と共同創業者として立ち上げたプロジェクトです。技術責任者として日々開発・運用しています。
弁護士の方々の信頼を得て快適に利用してもらうために、フロントエンドからバックエンド、インフラ構築、セキュリティ、機械学習モデルや MLOps の基盤などサービスに必要な機能を開発しました。
現在サービス稼働中であり、多くの弁護士の方々に利用いただいています。弁護士の皆さん、パラリーガルの皆さんぜひとも登録をお願いします。
2. 教育関係Webアプリケーション
会社員と並行して、個人事業主として1人で立ち上げたプロジェクトです。 受験生が効率よく勉強できるように開発したWebアプリです。
こちらのサービスは2021年にある企業様に売却し、現在は異なるサービス名で運営されています。 そのため、リンクなどは掲載しておりません。
プロジェクト
これまで私が個人事業主、もしくは、創業した法人として関与した主なプロジェクト一覧です。
(※会社員として従事したプロジェクトは除いています)
1. LegalWin (技術責任者)
上記の弁護士向け案件管理アプリです。2018年から開発を開始し、2020年1月にベータ版リリース、2020年5月から正式にサービスをローンチしました。
共同創業者の橋本弁護士が自ら Ruby on Rails でフロントエンドの実装を行い、少しでも弁護士やパラリーガルの方々の業務効率化を実現するために日々アップデートを繰り返しています。
私は技術責任者として、プログラミングのほかに、高度なセキュリティを担保しつつ、低コストで安定したサーバー稼働を実現するために、インフラやデータベースの設計なども担当しました。また、機械学習を利用したOCRやクラウド上での文章管理機能を実現するために、機械学習モデルの作成やその基盤開発などを行いました。現在は、機能のアップデートの他、弁護士の方々にストレスなく利用していただくためにサーバーの運用、監視を中心に担当しています。
2. 教育関係Webアプリケーションの開発 (事業責任者)
2014年から個人で開発を開始した教育関係のWebアプリケーションです。
要件定義からフロントエンド、バックエンドの実装、DB設計、インフラ構築までサービスに必要な業務はすべて1人で開発しました。 会社員と二足のわらじを履きながらの開発だったので、勤務終了後や土日を潰して少しずつ開発を進めました。
会社から給料をもらうという形ではなく、個人事業主として初めて独立して収入を得たWebアプリケーションでとても思い出に残っています。
3. ECサイトのリアルタイム推薦システムの開発 (Project Manager)
個人事業主として企業様から業務委託で受注し、ECサイトのレコメンドエンジンのアルゴリズム開発から推薦システムのインフラ構築までPMとして従事しました。ECサイトでユーザーにとって最適な商品をリアルタイムで推薦するシステムを開発しました。
Project Manager 兼 機械学習エンジニア として、技術選定から、要件定義、予実管理、進捗管理、クライアント様との折衝、インフラ構築、モデル構築など、多くの経験を積ませていただきました。一緒に仕事をさせていただいた社員の方々も技術力が非常に高く、とても勉強になりました。契約終了時にいただいた暖かい言葉は忘れることはできません。
4. 動画サイトの推薦アルゴリズムの開発 (機械学習エンジニア)
推薦システムのレコメンドエンジンの開発を担当しました。こちらも個人事業主として、企業様から業務委託で受注しました。 機械学習エンジニアとして、協調フィルタリングや内容ベースフィルタリングを基本としたさまざまなアルゴリズムを提案、実装しました。
こちらの企業様には開発から保守運用まで、長期間にわたってお世話になりました。 一緒にお仕事をさせていただいたプロパーの方々も非常に優秀で感謝しかありません。
5. 金融機関における金融商品のレコメンドエンジンの開発 (機械学習エンジニア)
お客様へ個人の最適な金融商品を推薦するアルゴリズムの開発を担当しました。上記の「4.」のお仕事をいただいた同じ企業様から受注しました。
6. 製造業における生産ラインの最適化アルゴリズムの開発 (データサイエンティスト)
企業様の向上の生産ラインにおいて、コストや工数などを最適化するアルゴリズムの開発を担当しました。半月ほどの短い間でしたが、受注した企業様にとって最適なアルゴリズムを1から調査し、実装しました。最適化について、理解を深める貴重な機会をいただきました。 こちらも業務委託になります。
7. ゲームのチートユーザー抽出アルゴリズムの開発 (データサイエンティスト)
スマホゲームの規約に違反しているユーザー(チート行為を繰り返すユーザー)の抽出アルゴリズムの開発を PoC から担当しました。こちらも業務委託になります。
論文
社会人博士課程の学生として執筆した推薦システムに関する査読付きの論文です。
Hiroshi Wayama and Kazunari Sugiyama: The Effectiveness of Quantum Random Walk Model in Recommender Systems, The 13th International Conference on the Theory of Information Retrieval (ICTIR 2023), pp. 225-234, Hybrid (Taipei, Taiwan and Online), July 23, 2023. pdf (open access)
和山 弘,杉山一成: 量子モデルを利用した推薦システムの提案,日本データベース学会和文論文誌, Vol.21-J, Article No.3, 2023年3月. pdf
特許
会社員時代に書いた、半導体、システム関連の特許一覧です。あくまでも会社員として業務時間中に書いた特許です。下記リンクには共著を含む100件以上の文献が出てきますが、筆頭発明者として書いた特許は十数件です。
Skill
- 推薦システム
- 情報検索
- システム開発
- AWS
- GCP
- 数値計算
- 有限要素法
- 物理シミュレーション
Tool
- PyTorch
- SciPy
- NumPy
- Pandas
- React
- scikit-learn
Language
- Python
- TypeScript
- C/C++
- Go
Experience
- 2020 -
- LegalWin 共同創業、機械学習エンジニア
- 2015 - 2019
- メーカーでソフトウェアエンジニアとして勤務
- 2009 - 2015
- メーカーで半導体エンジニアとして勤務
Education
- 2021 -
- 京都大学情報学研究科 吉川・馬研究室 (社会人博士課程、推薦システムの研究)
- 2007 - 2009
- 京都大学理学研究科物理学第一教室(量子光学研究室)
- 2003 - 2007
- 京都大学理学部(専攻;物理)
好きな言葉
- 人間万事塞翁が馬
- It is better to act and repent than not to act and regret.
Skill Map
私のこれまでの経験を可視化しました。
大学卒業後はメーカーに就職し、半導体の開発エンジニアとしてキャリアをスタートさせました。その後、システム開発部に異動し、ソフトウェアエンジニアとして働き、2019年に独立しました。
努力は報われる事が少ないというのが実体験上の結論ですが、過去に努力をしてこなかったら独立して生きていくことは不可能だったと思っています。今の仕事のやりがい、楽しさ、充実感、収入すべてをとっても満足していて、そう考えると努力も多少は報われるかもしれません。
まだ人生40年ぐらい残っているので、この先どう変化していくか楽しみです。 一年に一度を目安に更新します。
- 2003
高校から高校卒業後、ずっと麻雀ばかりしていました。当時、本当にこれで食べていこうかと考えていた時期もありました。年末年始の24時間耐久麻雀やクリスマスイブに雀荘に入り、徹マン後に雀荘から出たら雪が積もっていて、ホワイトクリスマスだなーと友人と話していたのを記憶しています。のほほんとして将来については何も考えておらず、人生で2番目に楽しい時期でした。ただ、物理や数学が得意だったので、大学に行くのなら、理学部にしようというのだけは決めていました。
2003 - 2009 (学部生から修士課程)
学生時代は、理学部で物理や数学を勉強しました。並行して興味があったプログラミングを独学で勉強し始め、C言語、C++、C#の勉強をしていました。大学3年ぐらいに、Linuxサーバーに興味を持ち、当時流行っていた自宅サーバーを立てて、初めてウェブサイトを作りました。京都の観光名所に関するウェブサイトで、sakuraエディタでHTMLやCSSを1からコーディングしていきました。
この頃に初めて、インターネットの基礎となるドメインやHTTPサーバー、メールサーバー、ファイルサーバーなどの知識を習得しました。Linuxにも初めて触れて、SSHやVIMの操作などもこの頃に初めて経験しました。Linuxコマンドもこの頃一生懸命覚えていました。
理学部なので、単位には全くなりませんでしたが、夜中までずっとカタカタキーボードを叩いていた記憶があります。この経験がなければ今独立して仕事することもなかったので、人生何が役に立つか分かりません。高々38年しか生きていませんが、本当にそう思います。
自宅で作っていたウェブサイトとは別に、物理を専攻する学生として、古典力学、量子力学、電磁気学、統計力学、相対論、量子情報、量子光学、線型代数、代数学、解析学など一通り勉強していきました。最近、成績表を見る機会があったのですが、物理の専門科目だけはなかなか良い成績でした。私が通っていた当時は、出席は全く関係なく、テストの日に行って、名前書いて、合格点を取れればそれで単位をもらえたので、テストの点が良かったのかもしれません。
今でも機械学習などの情報系の論文を読んでも数式レベルまで理解できるのはここで努力してきたからだと思います。
2009 - 2015 (会社員・デバイス開発)
無事修士課程を修了し、メーカーに就職することが出来ました。 最初に半導体デバイスの開発の部署に配属されました。開発・設計、シミュレーションなどの業務をこなす過程で、数値計算に没頭できたのは良い経験でした。ポアソン方程式、ボルツマン方程式、拡散方程式、有限要素法、線型代数などの知識を深めることができ、行列計算の高速化、新規アルゴリズムの考案など計算物理に関わる経験をかなり深く積むことが出来ました。多分もういじることはないと思いますが、CADを書いて、マスク設計などもしていました。
また、ビジネスのイロハを教えて頂いたのもこの時期でした。さらには、エクセルの基本的な使い方、パワポを利用した発表資料の作成方法、特許の書き方などエンジニアとして働く上で必要な知識、経験を積むことも出来ました。
この業務を私に割り振ってくれた当時お世話になった先輩(後に上司)には感謝しかありません。本当にありがたいことです。
2015 - 2019 (会社員・システム開発)
その後システム開発を行う部署に異動させてもらいました。独学でウェブアプリの運用やプログラミングをしていた経験を評価してもらいました。世界中で展開されているウェブサービスを、プロジェクトリーダーとして、フルスクラッチ開発の経験を積ませて頂きました。これまでは独学でしかシステム開発の経験がなかったので、大人数で一つのシステムを開発するという経験が非常に斬新で勉強になりました。
大企業の非効率な部分もありましたが、注目される大企業として、一つのシステム障害も許されない環境ではそういう体制になって仕方ないのかもしれません。これもまた一つの大きな経験でした。
業務をこなす中で、一緒に働いていた方からVIMやターミナルの玄人らしい操作方法を盗ませて頂きました。それまでも自分なりに工夫してツール系はカスタムして使いやすくしていたのですが、上には上がいる事が分かりました。世の中は本当に広い。その方は実務を長く経験されていて、システム関係の知識も豊富で色々と勉強させて頂きました。その方と一緒に働くことがなければ、今の仕事でもかなり効率が落ちていると思います。
2019 - 現在 (独立)
ある程度会社のシステム開発の仕事が落ち着いたタイミングで独立しました。
現在では機械学習系のモデル開発から、GCPやAWSを利用した業務系のシステム開発などの仕事に携わっています。個人的には推薦システムに強い興味を持っています。また、量子コンピュータの盛り上がりに乗じて学生時代に勉強した量子情報の復習の開始しました。
機械学習のモデル開発やシステム開発は、機械学習の知識だけではなく、数学やコンピュータ、最新のクラウドを利用したシステム全体に関する知識や経験が問われます。
2021 - 現在 (社会人博士課程)
2021年の秋から社会人博士課程の学生として、推薦システムの研究を始めました。推薦システムの開発には仕事として複数のプロジェクトに参画させていただきました。開発を進めるにつれてアカデミックな論文を読むことも多くなり、推薦システムについてもっと勉強したいという思いが強くなりました。
最初は年齢の問題もあり、受験についてかなり迷ったのですが、吉川先生(当時京都大学教授、現在大阪成蹊大学学部長)に、「やる気があれば年齢は関係なく受け入れます」というお言葉をいただき、受験を決意しました。
私は物理系だったため、いわゆる情報系の授業は受けた経験がありませんでした。しかし、会社員時代、半導体開発、システム開発を経験しており、その過程でコンピューターアーキテクチャやアルゴリズムなどコンピュータサイエンスを独学で勉強してきた経験がいきて、最小の勉強で基礎科目をクリアすることができました。また、専門科目も推薦システムの論文を数多く読んできたため無事に解答することができました。総合的に「合格」という結果しか知りませんが、学部、修士と物理が専門だった人間に取っては十分なできだったと思います。
現在は、杉山先生(現在大阪成蹊大学教授)のご指導をいただきながら推薦システムに関する論文執筆にいそしんでいるところです。仕事と論文、そして子育てとなかなか多忙な毎日ですが、充実した毎日に満足しています。
まとめ
こうして振り返ってみると、私が学生時代から経験してきた技術、
- 物理
- 数学
- プログラミング
- Linuxサーバー開発
- 数値計算
- システム開発
など、すべての技術が現在の仕事に役に立っている事が分かります。当時はそんなことを考えて技術を選んできたわけではありませんが、人生のそれぞれの時点で努力は続けてきて良かったと思っています。残るは麻雀の経験だけですが、こちらの知識や経験が役に立つのは老後になるかもしれません。