BLOG ブログ

エンジニアブログ

2017.03.10

エンジニアと調理師がよく似ている!!!

こんにちは!
制作開発のトゥイです。

私は日本へ来る前にあまり料理を作らなかったです。 大学の時、ほとんど学校の食堂で食事をしていました。
日本へ来てから、日本の料理の味にまだ慣れなくて、ベトナムの料理を食べたかったです。 そして、外食をしたら、お金がかかるので自炊するしかありませんでした。
自炊をし始めてから、エンジニアとして働く事と調理する事はよく似ていることに気づきました。

 ① 命と責任

初めて自炊をしてから一週間ずっと、自分で作った物を食べるとお腹が痛くなりました。
自分なので大丈夫ですが、他の人は食べたら、危ないですよね。
そこから、料理を作る人の使命は大切かなと思いました。
調理師は食べる人の命を持っている人です。 エンジニアも同じで、システムの命を待っている人です。
調理師のミスのため食べた人は死ぬ可能性があります。 エンジニアのミスでシステムが壊れるかもしれない。
自分の命と他の人他のモノの命を持っている仕事、これはエンジニアと調理師の共通点の一つだと思います。

 ② 技能・レベル

開発と調理はやりやすいけど、プロになりにくい仕事と思います。
例えば、フレームワークを使って、簡単なコードを書く事はエンジニアじゃない人も開発できます。 調理する事も同じで、器具と材料があれば、誰でも料理を作れます。
実は日本へ来る前に、あまり料理をやっていなかったですが、湯で野菜やゆで卵など作れる自信があったんです!
料理が美味しいかどうかは材料や器具や時間などの影響もありますが、上手な調理師でなければ、美味しい料理を作ることは難しいです。
良いシステムかどうか言語やサーバとデータベースなどが大切ですが、良いエンジニアがいなければ、いいシステムを作成できないはずです。
プロになるため、エンジニアも調理師も働く経験、時間、やる気が必要ですね。

 ③ やること

ヘンかもしれないですが、エンジニアのやることと調理師のやる事を比較してみましょうか。
エンジニアはE、調理師はCで:

ステップ1:

C: メニューを考えること ⇔ E: アイデアを考える事
毎日料理を作る前に、自問自答しています。「今日は何を作ろうかなー」
ベトナム料理や、日本の料理、他にもいろいろと知っている料理は多いですが、作れる料理が少なくて、食べ飽きてしまいもう作りたくない料理も中にはあります。よく悩んでいます。
技術でいろいろなモノを作れますが、ニーズがあるモノかどうか、その時作れるかどうかよく考えています。アイデアが出ない時もあるし、たくさんアイデアが出る時もありますが、アイデアから作るかどうかは別の話になります。
エンジニアとしてアイデアを考える事は、料理を作る時にメニューを考えることとなんとなく同じ感じがしています。

ステップ2:

C: 材料・器具を決める事 ⇔ E: 言語・フレームワークを決める事
ベトナム人に向けの日本化粧品のECサイトのアイデアがあった時、PHPで開発するか、Rubyで開発するか、PHPなら、フレームワークはLaravelか、Codeigniterか…
色んな言語があるので、目的によって言語を選びます。
会社でCodeigniterを使っていますが、新しいフレームワークを勉強したいので、Laravelで開発しています。

料理を作る時も、例えば、野菜スープを作ろうと思いましたが、野菜はニンジンを使うか、大根を使うか、ジャガイモを使うか日によって、違います。
食べたいモノと作れるモノによって、材料を選びます。

ステップ3:

C: 材料の量・調理時間を考えること  ⇔ E: 見積もりを立てる事

このステップはエンジニアの仕事と料理を作る事が一番近いと思います。
見積もりが良くなければ、実装をやりにくいし、リリース予定日に間に合わないかもしれません。
料理を作る時、材料の量が多過ぎるなら、無駄になります。逆に足りない場合は、作れないかもしれません。
実際のことを比べてみましょうか。

これは豚汁の材料(2人分):
・豚バラ肉 150g
・豆腐 1/2丁
・里いも 小2個(120g)
・大根 4cm(120g)
・にんじん 4cm(80g)
・長ねぎ 1/2本
・こんにゃく 1/2枚
・だし汁 4カップ
・ごま油 大さじ1と1/2
・みそ
(参考:http://www.lettuceclub.net/recipe/dish/553/

これは最近私はやってるタタスクの見積もり開発の見積もり:
・調査: 1日
・設計 : 1日
・テスト設計: 2日
・仕様まとめ: 2日
・実装 : 4日
・単体テスト: 2日
・レビュー・修正: 2日
・テスト: 2日
・デモ: 0.5日
・リリース :  0.5日
比べた結果思ったことは、開発のために見積もりをすることと、料理のために、必要な材料を計算して、準備することは同じだと思いました。
このステップから、近い事を洗い出しますが、具体的どんなことが同じかあなたは考えてみてください。面白いと思います。
ステップ4:
C: 材料を買うこと  ⇔ E: 環境事
ステップ5:
C: 材料を切る・洗う…  ⇔ E: 設計
ステップ6:
C: 湯で・炒める・揚げる・焼く…  ⇔ E:  実装
ステップ7
C: 味見する  ⇔ E: デモ
ステップ8:
C: 皿に並べる ⇔ E:  リリース
ステップ9:
C: フィードバックを貰う ⇔ E: 振り返り

 結論

上記にはエンジニアをすることと料理を作ることの全部共通点ではないと思いますが、今日はここまで!!!
私は時々、料理を作りながら、仕事に比べています。
このことは仕事なら、どんなことかなー?と思って、なんとなく仕事と似ていることを見つけました。
あなたの仕事はどんな事と似ていうかの考えた事がありますか。
もしなければ、考えてみましょうか。

  • Happi+ 「ハピタス」とは?