[24日目]趣味も仕事もエンジニアリング


本記事は、Cerevoスタッフが業務や趣味について思うままに書き綴るアドベントカレンダー企画「Cerevo アドベントカレンダーTechBlog 2018」の第24日目です。

Cerevo アドベントカレンダーTechBlog 2018
http://tech-blog.cerevo.com/archives/category/adventcalendar/2018/

アドベントカレンダー24日目最終日を担当します。ざますです。

アドベントカレンダー、そういえば今まで二度ほど書いたことがあって初めて書いたのはmbedのアドベントカレンダー、その次はUEFIだったかな。ハードウェアとソフトウェア、なんか節操が無いですね……

節操がないといえば、僕自身エンジニアなんですがもう専門がなんだ?って言われてもエンジニアとしては困る感じに節操がないです。。。

いや、専門はエンジニアリングシステムデザインで流体アプローチなんですよ。気液二相流(気体と液体が混在する流れ)の中で発生するキャビテーションを解析していたりしました。

さて……

仕事においては、僕がやっていることというのは……
1) 回路チェック
2) 回路設計(最近は趣味くらいしかしていない)
3) メカ設計(特に動き物 と言われるギアや軸受やカムですね 筐体設計は苦手です)
4) 営業
5) ソフトウェア

もう何屋かわかりませんねこれ……

趣味も
1) 釣り
2) 車
3) バイク
4) カメラ
5) ラジコン

となかなかに節操がない……

特に釣りとか節操がなくて、海・川・湖、どれもやります。海も磯釣りから船釣り、川も渓流から鮎、湖もヘラブナもブラックバスも。
釣りって、ぼーっとして待っていればお魚さんがパクっと食べてくれる訳でなくてエンジニアリング的なアプローチをしなければ釣れないのです。
ラジコンはエンジニアリングそのもですね…… スポーツだし(45分立ちっぱなしで5分~7分に一度ピットに入ってクイックチャージャーで給油するほんの10秒以内だけ気が抜ける)……

で、最近ぼくは本当の早朝(夜中に出発して東京には朝9時には戻ってきている)だけ釣りに行っていたりします。リフレッシュで。これやると気持ちよく土日が働けます(土日は釣り場が混んでいるので平日に休みたいですw)

で、釣りって天候・潮まわり・人の数でいろんなものが決まって最後はお魚さんの気分次第……
それでは寂しいので、釣りのアプローチとエンジニアリングのアプローチを絡めて書いてみます。

まずターゲット(釣る魚を決める)←作るものを決める
ターゲットに適切な竿と糸と針と重りを決める←作るものに必要な道具を選択する
ターゲットに適切な餌を決める←作る時に必要な部品を選択する

ここまでが準備ですね。エンジニアリングとそのまんま置き換えられます。
準備が済んだら、実釣(実際に実装するのとおなじ)に移りますがここでも。

餌を選ぶ←どの部品から実装するか決める
餌をつける←部品を実装する

はい、とうとう実装までこぎつけました。だけどまだターゲットが釣れていないので、作れてはいないのです。

1匹目が釣れた時

目的のサイズの場合:上記の実装は間違っていないので一旦はそのまま進める。
えぇ、とても幸せで一発で実装が決まった場合はこうなりますね♪ だけど……(これはこの後で)

目的のサイズ以外の場合もしくは釣れない場合:全てを見直す
はい…… デバッグですね。ここはデバッグです。

餌が合っているのか?
針のサイズは?
釣り糸の太さは?
食べてくれる気があるのか?

まさにデバッグです。必要な部品(ここでいう部品とはハードウェア的なものではなくプロダクトを構成する全てなのでソフトウェアを含みます)が正しく合っているのか?
ひたすらデバッグです。針を変え・糸を変え・投げる場所を変え・餌を変え……
釣りでprintfがあるとすれば、魚が釣れる事以外には海の状況、餌の取られ方、ウキへの反応というものがprintfです。でもこれらは目に見えるものだけ。目に見えないものは見えないのでブレークポイントを打ち、ひたすらprintfでの反応が出るまでの試行錯誤。

どうですか?みなさん釣りに興味が出てきたでしょう?(おいw

上で1匹目が釣れた時。これが幸せだと言ったのは、printfでいきなりデバッグが可能な状態であるのです。こんな幸せなデバッグはないw

エンジニアリングと釣り、まったく違うように見えて実はとても近いアプローチで行えるって話でした♪

 

 

東京湾での釣り楽しいですよ♪
(釣りはライフジャケットを着用し、立入禁止には入らず許可のあるところで漁師さんの迷惑にならないように怪我に気をつけて行いましょう)