読者です 読者をやめる 読者になる 読者になる

何かしらのサービスを運用するようになって、のポエム。

人は何かしらの仕事をします。

仕事とは

何かを作り出す、または、成し遂げるための行動。 https://kotobank.jp/word/%E4%BB%95%E4%BA%8B-73099

なぜなら何かを成し遂げるためには、仕事をする必要があるからです。

エンジニアという人も何かしらのために仕事をします。

そのゴールの一番大きいのはおそらく、ユーザに価値ある何かしらのサービスを提供し、売上をあげることかなと思います(政治的に正しくない表現ですmm)。

その大きなゴールの達成のための手順はなかなか見えないので、より具体的な小さなゴールを設け、それを達成するために仕事をします。

で、今回私はその小さなゴールを達成できる仕事(=いい仕事)をするためには、を考えています。

仕事とは、何かしらのゴールのための意思決定の繰り返しと考えると、 話が単純であるなら、そのひとつひとつの意思決定がいい感じならその仕事もうまくいきそうに思われます。

では、いい感じの意思決定とは。

それについて、少しですが思うところを書きます。

設計、コーディングの中での意思決定

問題解決の方法がいくつか考えられるケースでは、どの方法を選択するか考える場面があるかと思います。

単純なコードレベルの比較であれば、簡潔であるか、軽量であるか、読みやすさ、保守性があげられると思いますが、それだけで答えが出ないのが現場の設計、コードなのかと思います。

いい仕事きれいな設計、コード

例えば、保守性よりも万が一の時のリスクが少ないものを選択するケースなど。

例えば、考える事をあとにする。あとから柔軟に対応できる(リリース時の心配事を含め)ことを保証して。

一回の実践のために

「一回だけでも実践してみると、頭の中だけで考えていたことの何倍も学びがある」

エンジニアであれば、テストを書くみたいな話に通じるところがありそうです。

では、本番系で一回の実践をしたいという話となるとでうでしょう。

=> どうやって一回の実践をするか

例えば、

  • 本番系での実践のリスクを小さくする
    • => 事前に
      • 影響範囲を小さくする
    • => 事後のために
      • リカバリ手順を考える
  • 本番系で実践しないとわからない、という状況自体を避ける
    • => 今後も改修のたびに ”一回実践してみないとわからない” のしがらみをつくるのか?
      • その仕事を捨てる
      • 別の方法を探す

以上、ポエムでした。

PS: 人工のコードも面白いですが、現場にしかない天然もののコードに最近はより興味。「大局観」磨きたい。

© karahiyo