経歴(エンジニアとしての)
学生時代
1997- 小〜中
小学校の図書室で BASIC に出会い、先生から Linux を布教される。
初期の日本版ジオシティーズにホームページを開設。
パソコン部/バスケ部。生徒会副会長。
2006- 高
Windows 向けの無料ソフトをいくつか公開。複数の雑誌に載る。 卒業制作では、アルゴリズムを書いて戦わせるゲーム(簡単なビジュアル言語的なもの)を実装。
パソコン部長。
2010- 大学・院
情報科。
数学、論理学、言語設計(構文論・意味論・型システム)など、主に基礎分野に興味を持つ。
チームで競技プログラミング大会のアジア予選に進出。
学内プログラミングコンテストの作問等も担当
研究では新しいパターンマッチング機構を持った GC レス言語を設計。
趣味開発では主に Emacs 界隈で OSS 活動。
職歴
2016- 現職(新卒)
2016- 当初は BtoBtoC サービスの、 toC 向けアプリ(iOS/Android)で API サーバ(Perl)を担当。
その後、徐々に同事業の toB 向けアプリ(フロント React / サーバ Perl)も手伝うようになる。
手伝ううちに、「ネイティブアプリのサーバ担当がベストエフォートでメンテする」という当時の運用体制自体が大きな負債を生んでいると感じ始め、同期のデザイナと共謀して専任チームの立ち上げを交渉。当該アプリの本来持つべきポテンシャル、責任者不在の開発体制による機会損失、今後考えられる戦略案、等を整理・アピール。
2018- toB 向けアプリのリーダーに。
提案が認められ、ディレクター1名を迎えた計3人体制の専属チームを立ち上げ。技術的な負債に限らず、ユーザー企業を訪問しインタビュー、ターゲット像や戦略の見直し、デザインシステムの立ち上げ、仮説検証の基盤作り(ユーザー行動の計測等)、ユーザー向けマニュアルの更新体制立て直し(CS 部隊に協力を依頼)、など、開発・運用体制全般の整備を行う。
2023- 社内向けツールの刷新プロジェクト立ち上げに伴い、そちらに移動。
将来ツールの利用者となる部署メンバーへのインタビュー、デザインガイドラインの整備等、プログラミングに限らず、相変わらずやるべきことをやっている。技術面では主にフロントエンド(React)を担当。
その他、学生向け技術コンテストの作問・運営、技術研修講師など。
趣味開発の領域もやや Web 寄りに。
代表作:カスタム絵文字の作成ツール MEGAMOJI(2023/10 月時点で MAU 3万人)など 自作キーボードにハマり、ハードウェアの回路・筐体設計等にも手を出し始める。
分野別
抜け漏れあると思います。
がっつり経験あり、すき
バージョン管理ツール(Git)
内部データのバイナリ読んだりできます
一般的な構成の Web フロントエンド(React/Preact, TypeScript, Sass, Storybook, etc)
WebGL、Web Audio、 WebUSB など珍しめの技術もある程度
LISP 系言語
新しい知識を学ぶこと、知的好奇心
普通に経験あり、できる
その他の Web フロントエンド(Vue, Solid, バニラ, etc)
一般的な構成の API サーバ / DB(Perl, Ruby, Go, MySQL, PostgreSQL, etc)
業務効率化(CI / CD, 便利スクリプトやエディタプラグイン, Slack App, etc)
アルゴリズムとデータ構造、最適化
デザイナとの協業
一定の経験あり、できるかも
基本的なインフラ(AWS, Heroku, Docker)
ユーザー計測・分析(Google Analytics)、統計など
UI デザイン(Sketch, Figma)
組み込み(AVR 系)、デジタル回路、デバイス間通信(USB, I2C, etc)
パラメトリックモデリング(OpenSCAD)、3D プリント
低レイヤ(アセンブリ, カーネル, etc)
マイナー言語全般(関数型, 論理型・項書き換え, etc)
言語処理系、定理証明器、静的解析
ある程度の数学
ほぼ未経験、インプットが必要
所有権概念のある言語(Rust)
やってみたい度はかなり高い
iOS/Android ネイティブアプリ
ゲーム開発、グラフィック系
高負荷環境下のインフラ
機械学習関連
マネジメント関連
高度なセキュリティ(暗号関連, マルウェア解析, 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 の創りかた
実践 Vim
7つの言語 7つの世界
Short Coding 〜職人達の技法〜