ソフトウェアエンジニアの荻島です
最近開発室メンバーと話した中で「そういえば開発室の文化についてアウトプットしてるところってないよね」ってなったので、個人的に好きなIJ開発室の文化について書いてみたいと思います
許可を求めるな、謝罪せよ
開発室にジョインして割とすぐに当時リードをしていたエンジニアから言われた言葉です。 原典は知らなかったのですけど、COBOLの生みの親(?)のグレース・ホッパーさんという方みたいですね。
IJは小さな会社なので、スピード感やオーナーシップを発揮することがエンジニアだけでなく全ての職種に求められます。
もちろん、何かアクションするうえではそれが間違っていた時にリカバーできる方法や、仕組みがある程度は必要になります。 が、その辺りを自分で考えて、リカバリーできるようになってさえいれば職種などに囚われずに成すべきことをやる!みたいな文化がIJ開発室にはあります。 (そしてそこに不安がある時は相談したりできる人もいます)
それらは例えば日々使っている
- 誰でもコマンド一発で環境構築できるような開発環境
- マージボタンさえ押せば誰でもデプロイができるようなCI/CD
- 個別に取り組んでいることを同期するために毎日やっているミーティング
みたいなところに現れているのかもしれないなと思いました。
常にBetterを探求する
その時のBestプラクティスも、数年後にはバッドプラクティスになっている...ITの世界では割と日常茶飯事ですよね。
IJのプロダクトにはタグリリースや、コンテナサーバー、といったいわゆるモダンな技術が昔から取り入れられています。 しかし、そんなプロダクトでもアップデートを続けなければすぐに陳腐化してしまいます。
新しい技術や知識に対してアンテナを張り続け、それらを業務にフィードバックする... そんな行動をアタリマエに実践している人がOBを含めてIJのエンジニアには多いと感じるのはきっとそれが開発室の文化なのだろうなと思っています。
Whyにこだわる
「この作業をお願いします」
そんなチケットが切られることが避けられないことはあります。
IJの開発室ではそんなチケットが切られて依頼が来たら
「この作業はどうして必要なのか?」 「それは顧客のどういう課題を解決したいのか?」 「それは別の方法では実現できないのか?」 「それは割り込みコストを支払い、今仕掛中のものを押しやってでもやるべきものなのか?」
を納得がいくまで質問します。
作業をしたくないとかではなく、そのチケット一つ、作業一つの裏にある課題とそれを解決した際にどんな利益がユーザーに届くのかを理解し、お金を頂いているクライアントやサービスを利用してくださっているユーザーに対して頂いている対価に見合った価値提供ができるのか?をちゃんと見極めたいからです。
そんな「いい意味で手段にこだわらない」というのは開発室の良い文化だなと感じています。
まとめ
IJには「企業としてのカルチャー」がありますが、エンジニア組織である開発室にはそれとはまた別の独自の哲学・文化があるように感じています。 その一員として自分もそんな文化を体現できるように日々研鑽していかねば!とブログ記事を書きながら改めて思ったのでした。
おわり