zimathon blog

フルリモート開発エンジニア

システム開発のトレードオフに関して

システム開発においてよく言われている
トレードオフ
について考えることがありました。

開発において大事にすべき要素(僕が大事にしていること)は

  • スピード
  • クオリティ(+セキュリティ)
  • フレキシビリティ

です。

よく「何かを取れば何かを捨てないといけない、そこはトレードオフだよ」 と言われます。(何を隠そう、僕も言っています。)

この言葉を聞いてたまに思うのが、
「本当にそうしなければいけないのか」
という疑問です。

何かを得るために何かを捨てなければいけない
なんて誰が決めたのでしょうか。

それは本当にベストなやり方なのか(他にもやり方があるのでは?)、
自分の傲慢ではないのか、
他の人だともっと良いやり方がるのではないか、
あの人に任せてるからこんなに時間がかかっているのではないか、
などなどモヤモヤを上げればきりがありません。

何が言いたいのかというと、
トレードオフなんてくそみたいな前提条件は捨てる
常に今の自分を否定し続ける

ってやっていかないと良いエンジニアにはたぶんなれない