グロービス Advent Calendar 2017 の7日目です。
**「ネガティブではダメ、ポジティブでいい」**ってよく言われますが、ネガティブとポジティブ、そのものはいいことでもない、悪いことでもない、うまく使いば力になると思います。
ネガティブとポジティブとは
物事
を如何考えているかの違いで、ネガティブは否定的で、陰陽の陰極であり、ポジティブは肯定的で、陰陽の陽極です。分離して存在することはできないじゃないかと思います。
ネガティブとポジティブの力
物事 | ネガティブ | ポジティブ |
---|---|---|
ユーザーからシステムの動きがおかしいって言う問い合わせが来ました。でも再現できない | システムにきっとbugがある、問い合わせをしてないユーザーもあるはずと考えて、調査・修正して、システムを改善する | システムには問題ない、ユーザーの使い方が悪いと思うと、結果はシステムは変わらない、ユーザーが離れる |
vim勉強 | vimの勉強のハードルが高いから、諦める。 | 最初のハードルが高いが、慣れると楽になる。勉強した結果、生産性が高くなった。 |
lockが発生するsql(update users set num = num + 1 )をtransactionに入れるべきか(データが変になっても大きな問題にはならないケース) |
データの整合性を保つためにはtransactionに入れるべき、結果はdeadlockになりやすい、rqsが減る | 整合性の問題発生はデータベースが処理途中でdownしたり、ネットワークが切れたり以外は発生しないし、頻度は超稀で、年に数えるぐらいしか発生しないから、transactionの外にlockが発生するsqlを書く。結果はrqsに影響ない。変なデータも少ない |
lockが発生するsql(update users set num = num + 1 )をtransactionに入れるべきか(データが変になるのは絶対許さないケース) |
データの整合性を保つためにはtransactionに入れる | 問題意識がない、稀に発生するから大丈夫と思う。稀にしか発生しないが、発生したら、大きなトラブルに繋がる。 |
変な仕様 | 自分の判断を信じない、変な仕様通りに作業を進んで、結局、問題が発生し、ユーザーに迷惑かけ、残業で対応する。 | 自分の判断を信じて、仕様をもう一回確認する。結果は手戻り作業を減らし、ユーザーに迷惑かけない。 |
原発 | 原子力がコントロールできないだから、使わない方がいい。結果はもっとgreenエネルギー開発に投資 | 原子力は安全性が検証されているから、使ってもいい。実際は安全なものはない、問題発生したら、解決できるかを一回見直す必要がある。 |
active record | 弱点がもあるから、生sqlでよりシンプルになるものは生sqlでやる | active recordがいい、全てをactive recordで書く、結果はperformanceが低い、読みにくいコードになる |
best practice | best practiceがあくまで参考で、個別の課題に対する解決案ではない | best practiceが大好きで、何もかもそっちに嵌まろうと思い。 |
自分がやった作業について | 自信がない、きっと問題があるから、セルフチェックする。結果はいいものを作成する。偉い人間ほど作品を仕上げる時間が長い。 | 自分の腕を信じて、問題ないと思い込む。結果は何時かは問題が発生する。 |
適当な成果に対する考え | これでは、ユーザー満足度が下がる。改善に挑む | 適当になった理由を探す。ユーザーが理由に興味ないし、似た商品(サービス)があると、すぐ離れる |
結論
「ネガティブになる、ポジティブになる」ではなく、自らネガティブ・ポジティブになり、物事を考えて、決断をした方がいい。