この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
「インターン生と新卒はこの4つだけでも覚えて帰ってね!٩( ᐛ )و」という習慣について。
1.十分に理解していないコマンド(コード)を使わない
初心者はしばしば「どお”じでぞんなごどす”るの”!」と言いたくなるコマンドを実行します。本番環境や共有サーバーで理解してないコマンドを打つのは油田で花火大会するぐらい危険です。ローカル環境でさえオプションも含めてちゃんとコマンドの意味を理解してから実行する習慣が必要です。
unixのコマンドは非対話が基本なので「え? 本当にやってええの? 取り返しつかんで?」とは確認してくれません。crontab -l と crontab -r は全然違います。あぁ! 試しに打とうとしないで!
とにかく「なんでこのコマンド打ったの?」「このオプションはなに?」という質問が来る前提で作業します。同じように目的を達成出来る他のコマンドを使わずに、そのコマンドを選んだ理由まで答えられると尚良いです。業務では「よくわからないおまじない」と言う概念はありません。
2.変更する前に復旧出来るようにしておく
設定を弄ったら開発環境が壊れちゃった……。
一日がかりで直す羽目になったみんなー! 元気ぃー!? (ゝω・)v
変更する前に切り戻し出来るように準備しておくと余計な時間が取られません。設定ファイルの変更前にcpでバックアップを取る、git管理する、仮想環境のスナップショットを作成するなど。
特に環境を作った直後や初心者期間は必ず失敗したり上手く行かなかったりします。死んだ顔でOSを入れ直すのを避けるために復旧手段を定期的に確保しましょう。初心者以外も「今この本番環境のDBを間違えてドロップしたらどうなるんだろう…」といった無害で危険な妄想を日頃からしておくと良いことがあるかも知れません。備えよう。
3.何か変更や作業をしたら意図通りになったか確認する
「もしかして道に迷ってる?」
「今いる位置がわからないから迷ってるかどうかもわからない」
変更したら確認するまでが作業、家に帰るまでが遠足。何か設定の変更をしたり作業を終えたら、次の作業へ移る前に出来るだけ反映されたかどうかを確認します。
これをサボると上手く行かなくなった時に原因の切り分けが難航しがちです。どこまでは上手く行っていて、どこからが上手く行かないのか認識するために確認を適宜挟みましょう。
4.事前に見通しを立ててみる
今から取りかかろうとしている作業を細分化して「どんな作業が必要で」「どれくらい時間がかかりそうか」を考えてみます。最初に見通しを立てる習慣があると思わぬ作業上の障害が予見できたり効率よく進めることが出来ます。
というより、何が必要か大雑把にでも見通しを立てずに作業を始めると手戻りや計画変更、他人の作業待ちが延々と発生します。必要な作業を綿密に洗い出して影響範囲やリスクを調べることが出来れば既に仕事は8割くらい終わっています。実際にコマンドを打ったりコードを書く時間は作業全体で見ると短いものです。
まとめ
4つに共通して言えるのが「業務なら絶対におさえておくべきポイントだけど、業務以外では教わる機会がない」という点ですね。意外にこの辺が言語化されてなかったので今回はこんな記事を書きました。覚えて帰ってね!٩( ᐛ )و