経歴(エンジニアとしての)
学生時代
1997- 小〜中
小学校の図書室で BASIC に出会い、先生から VB や Linux を布教される
初期の日本版ジオシティーズにホームページを開設
(パソコン部/バスケ部。生徒会副会長)
2006- 高
Windows 向けの無料ソフトをいくつか公開。複数の雑誌に載る
代表作:YouTubeサイドバーメーカー など
卒業制作では、アルゴリズムを書いて戦わせるゲーム(簡単なビジュアル言語的なもの)を実装
(パソコン部部長)
2010- 大学・院
情報科
数学、数理論理学、言語設計(構文論・意味論・型システム)など、主に基礎分野に興味を持つ
とにかく勉強が好きだった
情報科学の他、主に数学・論理学、哲学、教育(教員免許取得済)、文芸・アートなど
ほぼ毎日、キャンパスを追い出されるまで「勉強オタク仲間」でワイワイ勉強会
自習・復習のほか、もくもく会、各種オンラインコンテスト参加等
このメンバーで競技プログラミングの世界大会に参加、国内予選まで通過
今でいう AtCoder 水色くらい?(推定)
学内プログラミングコンテストの作問も担当
コレ https://qiita.com/angel_p_57/items/08696cc79e1558435c57 の犯人
研究では新しいパターンマッチング機構を持った GC レス言語を設計・実装
趣味開発では主に Emacs 界隈で OSS 活動
代表作:インデントに縦線を表示する機能(2024/6 月時点で 90 万 DL)など
GitHub 上の被 Star 数で 国内 TOP200 入り(当時)
職歴
2016- 現職(新卒)
業務
2016- BtoBtoC サービスの、 toC 向けアプリ(iOS/Android)で API サーバ(Perl)を担当
徐々に同事業の toB 向けアプリ(React/Perl)も手伝うように
手伝ううちに、 toB アプリの運用体制自体が大きな負債を生んでいると感じ始める
「toC アプリのサーバ担当が、ベストエフォートで toB アプリをメンテする」という状況
同期のデザイナと共謀して専任チームの立ち上げを交渉
toB アプリのポテンシャル、責任者不在の開発体制による機会損失、等を整理・アピール
2018- toB 向けアプリのリーダーに
提案が認められ、ディレクター1名を迎えた計3人体制で専属チームを立ち上げ
技術的負債に限らず、開発体制全体を立て直し
ユーザー企業への訪問・インタビュー、ターゲット像や戦略の見直し
デザインシステムの立ち上げ
仮説検証の基盤作り(ユーザー行動の計測等を再開)
ユーザー向けマニュアルの更新体制立て直し(CS 部隊に協力を依頼)
等
2023- 社内ツールの刷新プロジェクト(React/Go)立ち上げに伴い、そちらに参加
相変わらず、プログラミングに限らずやるべきことをやっている
将来の利用者となる部署メンバーへのインタビュー
デザインガイドラインの整備
等
技術面では主にフロントエンド(React)を担当
その他、学生向け技術コンテストの作問・運営、技術研修講師、採用面接官など
趣味開発
Emacs 中心からやや Web 寄りに
代表作:カスタム絵文字の作成ツール MEGAMOJI(2023/10 月時点で MAU 3万人)など
自作キーボードにハマり、ハードウェアの基板・筐体設計等も
代表作:Gemini Keyboard、3Dキーキャップ、ここから始める自作キーボード など
分野別スキル
得意、すき
Git(内部データのバイナリ読んだりできます)
標準的な構成の Web フロントエンド(Vite, React, TypeScript, PostCSS, Storybook etc)
LISP 系言語
業務効率化(CI/CD, Slack App, エディタプラグイン開発 etc)
新しい知識を学ぶこと、知的好奇心
経験あり、できる
その他の構成の Web フロントエンド(Vue, Solid, Vanilla/jQuery etc)
変わり種のフロント技術(シェーダ芸, Web Audio, WebUSB etc)
標準的なサーバーサイド(API 開発, SQL etc)
アルゴリズムとデータ構造、最適化
デザイナとの協業(デザインシステムの共同開発 etc)
触れたことはある、やればできそう
基本的なインフラ(AWS, Heroku, Docker etc)
ユーザー計測・分析(Google Analytics)、基本的な統計
UI デザイン(Sketch, Figma)
基本的なハードウェア(組み込み, デジタル回路, 3D プリント etc)
低レイヤ(アセンブリ, カーネル周り, 言語処理系 etc)
マイナー言語全般(関数型, 論理型・項書き換え, 解集合 etc)
静的検査(定理証明器, モデル検査 etc)
数学・論理学(※ 解析は苦手)
未経験に近い、学んでみたい
所有権概念のある型システム(Rust 等)
iOS/Android ネイティブアプリ
ゲーム開発、3D、グラフィック
高度なインフラ(高負荷対応など)
高度なセキュリティ(マルウェア解析, 脆弱性テスト etc)
機械学習関連
アナログ回路
(好き|印象的)な(学|技)術書・論文
基礎理論
『オートマトン・言語理論』
『数学基礎論入門』(前原本)
『プログラミング言語の基礎理論』
『Combinatorial Optimization - Algorithms and complexity』
仕様書・論文等
『プログラミング言語 C』(K&R)
『Revised^3 Report on the Algorithmic Language Scheme』(R3RS)
『Revised^5 Report on the Algorithmic Language Scheme』(R5RS)
『On the Expressive Power of Programming Languages』
『The Revised Report on the Syntactic Theories of Sequential Control and State』
他
『つくるデザイン』
『カンバン仕事術』
『CPU の創りかた』
『7つの言語 7つの世界』
『Short Coding 〜職人達の技法〜』