無理な要求にNoをいうための心の支えにしていること
アプリやウェブの開発では、見た目や使い勝手のよさが注目されがちですが、その裏には、きちんと整理されたデータと、それを正しく届けるインターフェースの存在があります。それがあるからこそ、UIは自然に動き、アプリケーションが信頼のある動作をできます。
だからこそ、バックエンドの設計がプロダクト全体の信頼性に大きく関わってくると感じています。
しかし、開発の現場では、短期的な目的やUIの都合を優先したインターフェースの提案が出てくることもあります。そういった場面で、自分の中に迷いが生まれることがあります。「ここは本当に譲ってもよいのか」「反対すると嫌がられるかも」といった気持ちです。
そういうときに自分を支えてくれるのが、『クリーンクラフトマンシップ』という本に書かれた言葉です。
上司が期待しているのは、あなたが緊急の振る舞いを実装しながら、クリーンな構造を維持することである。
あなたにはステークホルダーとしての権利だけでなく、エンジニアとしての義務がある。振る舞いや構造に害を与えないシステムを作るという義務だ。多くのプログラマーはそのような責任を望んでいない。誰かに命令されたいと思っている。これは悲劇であり、残念なことである。プロのやり方ではない。そのようなプログラマーの成果にはさほど価値がないだろうから、最低賃金で働くべきだ。
やや強い言葉も含まれますが、この言葉を思い出すと、自分の立場を客観的に見直せます。私自身はもちろん、上司も組織も、私に対して常に「Yes」と答えることを望んでいません。「No」と言うのは、対立するためではなく、信頼性のために必要な判断なのだと思い出させてくれます。
できるかぎり協力はするが、守るべきところは守るというバランスを保つことが、エンジニアとしての責任のように思います。そして、そのスタンスがプロダクトを持続可能でユーザーから信頼されるものへの成長させるのだと思います。そう考えると、「No」と言うことにも勇気が持てる気がします。
Discussion