経歴(エンジニアとしての)
学生時代
1997- 小〜中
小学校の図書室で BASIC に出会い、先生から Linux を布教される
初期の日本版ジオシティーズにホームページを開設
パソコン部/バスケ部。生徒会副会長
2006- 高
Windows 向けの無料ソフトをいくつか公開。複数の雑誌に載る 卒業制作では、アルゴリズムを書いて戦わせるゲーム(簡単なビジュアル言語的なもの)を実装
パソコン部長
2010- 大学・院
情報科
数学、論理学、言語設計(構文論・意味論・型システム)など、主に基礎分野に興味を持つ
チームで競技プログラミング大会のアジア予選に進出
学内プログラミングコンテストの作問等も担当
研究では新しいパターンマッチング機構を持った GC レス言語を設計・実装
趣味開発では主に Emacs 界隈で OSS 活動
職歴
2016- 現職(新卒)
2016- 当初は BtoBtoC サービスの、 toC 向けアプリ(iOS/Android)で API サーバ(Perl)を担当
その後、徐々に同事業の toB 向けアプリ(フロント React / サーバ Perl)も手伝うようになる
手伝ううちに、「toC アプリのサーバ担当が、ベストエフォートで toB アプリをメンテする」という当時の運用体制自体が大きな負債を生んでいると感じ始め、同期のデザイナと共謀して専任チームの立ち上げを交渉。当該 toB アプリのポテンシャル、責任者不在の開発体制による機会損失、今後考えられる戦略案、等を整理・アピール
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)
一般的な構成のサーバ / DB(Perl, Ruby, Go, MySQL, PostgreSQL, etc)
業務効率化(CI/CD, 便利スクリプトやエディタプラグイン, Slack App, etc)
アルゴリズムとデータ構造、最適化
デザイナとの協業
多少経験あり、できるかも
基本的なインフラ(AWS, Heroku, Docker)
ユーザー計測・分析(Google Analytics)、統計など
UI デザイン(Sketch, Figma)
組み込み(AVR 系)、デジタル回路、デバイス間通信(USB, I2C, etc)
3D モデリング(OpenSCAD)、3D プリント
低レイヤ(アセンブリ, カーネル, 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 〜職人達の技法〜』