| Attribute | Details |
|---|---|
| Name | ichi-h |
| Birthdate | 1997/05/14 |
| Birthplace | 北海道札幌市 |
| Residence | 兵庫県神戸市 |
| Education | 同志社大学 文化情報学部 中退 |
| Hobbies | 料理、哲学、創作 |
設計とは、問題を多面的に捉え、解決へ導くための道筋を描き出すことと捉えています。
ドメイン上の複雑な問題を解決するためには、まず問題を正しく理解し、解決すべき課題を明確にすること、つまりWhatやWhyを仮定することが必要になります。
そのうえでHowとしての解決手段を考え、実行し、最後に仮説が有効であったかを検証することで、初めて問題が解決されたかを判断することができます。
例えばビジネスの視点で見れば、何を問題として捉え、なぜそれを解決する価値があるのか、何ができれば問題は解決されるのか、何をもって解決されたと判断するのかなどを考えます。
また技術から見れば、それを具体的にどういった手法でそれを実現するのかを考えます。ここにはいわゆるアーキテクチャというマクロなものから、コードの一行一行といったミクロの視点まで含みます。
他にもデザインやセキュリティ、テストなど様々な捉え方がありますが、それらすべては問題を中心に繋がっており、抽象から具体まで連続的なグラデーションをもった設計として統合されることで、問題解決へと導くことができます。
これは技術にまつわることだけではなく、ビジネスや組織など、あらゆる問題解決において共通が見られるものだと考えています。
もちろん、完璧な設計というのは存在しませんし、それを目指すことが本質的な価値を生むわけでもありません。
これは言わば、その場その場で移り変わる問題の上で、不安定に揺れ動くシーソーゲームのようなもので、このバランスを取ること、つまり品質のトレードオフを適切に判断し、完璧ではないかもしれないが、有効と考えられる意思決定を継続することが重要と考えます。
こうした設計や問題解決を通じて、プロダクトに関わる人々はもちろん、組織全体がハッピーになるお手伝いができるよう、日々楽しく精進しています。
👑: 3年以上の実務経験
💪: 3年未満の実務経験
🎨: 個人開発にて使用

エンジニア不要論を超えて — 生成AIでオートメーション化するソフトウェア開発

Elm Architectureを参考に、メッセージで駆動する関数型ノベルゲームエンジンを作った

UIライブラリ非依存で、Elm Architecture風に状態管理ができるライブラリを作った

NixOS + Kubernetesで構築する自宅サーバーのすべて

意味から理解するプログラマーのためのMonad入門

ソフトウェアの品質定義と技術的な意思決定

リーダブルな命名はどこからやってくるのか