私はこれまで、飲食店での調理や接客、店舗運営、自店舗の開業、そして学校給食の現場を経験してきました。
現在は、こうした現場経験を生かしながら、バックエンドを軸としたWebエンジニアへの転職を目指しています。
Web開発を始めたきっかけは、最初から「エンジニアになりたい」と考えていたからではありませんでした。
目次
伝えたかったのは、店の情報ではなく「空気」
2020年、鎌倉で「bar musica.」という小さなイタリアンバールを開業しました。
開業にあたり、Wixを使って店のホームページも自分で制作しました。しかし、用意されたテンプレートの中では、どうしても一般的な店の紹介に収まってしまいます。
私がホームページで伝えたかったのは、メニューや営業時間だけではありません。
音楽、お酒、料理、会話によって生まれる、その店ならではの「空気」でした。
店づくりでは、料理や音楽、照明、家具などを一つずつ選びながら、目指す空気を形にしていきます。それと同じように、ホームページも自分が思い描いたものを細部まで表現したいと思いました。
用意されたものを組み合わせるだけではなく、自分の手で作れるようになりたい。
そう思ったことが、Web開発を学び始めたきっかけです。
手作業をPythonで自動化する
最初はProgateや書籍を使ってHTMLとCSSを学びました。書籍に掲載されているWebサイトを模写しながら、コードによって自分の考えた見た目を形にできることに面白さを感じました。
その後、興味はWebサイトの見た目だけでなく、プログラムによる作業の自動化へ広がっていきました。
当時、家庭内の支出を精算するために、カード会社から取得した複数のCSVファイルをExcelで結合し、日付順に並べ替え、不要な項目を削除していました。
毎月ほぼ同じ作業を繰り返す中で、
特定のキーワードをもとに、不要な明細を自動で除外できないだろうか。
と考え、PythonとPandasを使って処理を自動化しました。
最初に作ったものには操作画面がなく、必要なときにローカル環境で実行するだけでした。それでも、これまで手作業で行っていた処理が自動で進むのを見て、プログラムが実生活の課題を解決する感覚を初めて得ました。
この頃から、ChatGPTも使い始めました。
実現したいことを言葉にして相談し、提案されたコードを動かしてみる。エラーが出たら原因を確認し、Web上の記事も参考にしながら、自分の目的に合わせて修正する。
最初からすべてを理解して書けたわけではありません。まずは試し、失敗し、調べて、また動かす。その繰り返しの中で、少しずつ仕組みを理解していきました。
当時は処理を動かすことに精いっぱいで、安全性への配慮が足りない実装もありました。この経験から、機能が動くだけではなく、データの扱い方や安全な運用まで考える必要があることも学びました。
自分以外の人も使える「SplitMate」へ
Pythonで精算作業を自動化できても、そのプログラムを動かせるのは自分だけでした。
妻をはじめ、自分以外の人も使える形にしたい。
そう考え、ローカルで動かしていた処理をWebアプリとして作り直しました。それが、現在も家庭内で使っている家計精算アプリ「SplitMate」です。
Webアプリにしたことで、妻も操作できるようになり、精算結果も以前より共有しやすくなりました。
一方で、私はパソコンで開発していますが、妻が利用するのは主にスマートフォンです。自分の画面では問題がなくても、スマートフォンでは操作しづらいことがあります。
実際に使う人ができたことで、レスポンシブ対応や操作の導線、情報の見つけやすさなど、UXを意識するようになりました。
ここで初めて、「機能が動くこと」と「誰かが使いやすいこと」は別であると実感しました。
飲食店の情報を一か所につなげる「Ricetta」
SplitMateを通して、身近な困りごとをWebアプリで解決できることが分かりました。
そこで次に向き合ったのが、飲食店で長年感じていた課題です。
あるとき、以前作った料理のレシピを久しぶりに確認しようとしました。しかし、レシピを書いたノートがどこにあるのか分かりません。
ようやく見つけても、調理中に付いた汚れで文字が読みにくく、目的のレシピをどのノートに書いたのかも分からなくなっていました。
さらに、原価はパソコン上のExcel、その日の仕込みや仕入れ、掃除などの作業は店内のホワイトボードで管理していました。
情報が、ノート、Excel、ホワイトボードに分散していたのです。
これらを一か所で管理したいと考え、開発を始めたのが、小規模飲食店向けのレシピ・仕込み管理アプリ「Ricetta」です。
最初に中心へ置いたのは、レシピと、その日に必要な仕込みの管理でした。
レシピを登録するには、材料や分量の情報が必要です。材料を登録するのであれば、仕入れ価格も持たせることで、レシピごとの原価を計算できます。
このように、機能を先に並べるのではなく、現場で行っていた作業同士の関係をたどりながら、ChatGPTと壁打ちして必要なデータや機能を設計しました。
私が作りたかったのは、紙をそのままデジタルへ置き換えたものではありません。
分散していた情報と作業の流れを整理し、必要な情報へ迷わずたどり着ける仕組みです。

Ricetta | レシピ・原価・仕込み管理アプリ
作るなら、実際に使い続けられるものにしたい
Ricettaは、ポートフォリオとして見せるためだけに作ったものではありません。
自分自身が実際に使いたいと思えるものにしたい。そして、知り合いの料理人にも使ってもらえるような、商品として価値のあるレベルまで育てたいと考えています。
現在は、以下の技術を使用して開発しています。
- Python
- Django REST Framework
- PostgreSQL
- React
- TypeScript
- Docker
- AWS
ローカル環境で動かして終わりにせず、AWSへ公開しました。監視、バックアップ、復元手順など、サービスを継続して提供するための運用面も整備しています。
開発することと、サービスを継続して提供することは別です。
Ricettaを実際に使う商品として考えたことで、機能の実装だけでなく、その後の運用や保守まで含めてシステムを設計するようになりました。
GitHub - shohei-kan/ricetta: 小規模店舗のためのレシピ管理アプリ
料理とソフトウェアは、誰かに届けて初めて価値が生まれる
開発の中で最も面白いと感じるのは、作ったものを誰かに使ってもらえたときです。そして、実際に使った人から感想や改善点を受け取ったときです。
これは、料理を作って食べてもらうこととよく似ています。
自分が良いと思うものを作るだけではなく、相手の反応を受け取り、次はどうすればもっと良くなるかを考える。
飲食店でも、ソフトウェア開発でも、私が面白いと感じるのは、この繰り返しです。
これまでの現場経験を通じて、業務には、その場所で働かなければ見えない課題があることを学びました。
私は、技術から作るものを考えるのではなく、まず現場の業務や利用する人の行動を理解し、必要な仕組みを考えられるエンジニアを目指しています。
飲食店で料理や空間を作ってきた経験も、学校給食で工程や人員配置を考えてきた経験も、Web開発とは無関係ではありません。
現場で感じた「もっとこうなれば」を整理し、実際に使われる仕組みとして形にする。
それが、私がWebエンジニアとして取り組んでいきたいことです。
制作実績
Ricettaをはじめ、これまでに制作したWebアプリやWebサイトをポートフォリオにまとめています。
