今回は現場で働いていて感じたことを言語化していきます。
今回のテーマは「チームの歯車になれる優秀なSE」です。
私の意見をつらつらと書いていくのでコメントなどで意見をいただけると嬉しいです。
なぜこのテーマなのか
まず初めに、なぜこのテーマについて考えたのかについて。
一番の要因は読んだ本の影響です。
「とにかく仕組み化」という本の中に「リーダーになり上にいく人は組織の優秀な歯車となれる人間だ」というようなことが書いてあり、こちらについて自分の現場で当てはめて考え始めたのがきっかけです。
大きなシステムはチームで力を合わせて作り上げるものです。
2年ほど現場で働いてそれはひしひしと感じます。
しかし、チームであるが故に発生するバグや遅延などのトラブルも多く存在します。
チームの一人一人が力を発揮して初めて大きなシステムをスムーズに作り上げることができるようになるのです。
つまり、SEという仕事においても、「チームの歯車になれる」=「優秀なSEである」ということが成り立つと言えるでしょう。
歯車になれるSEとは何か
「チームの歯車になれる」=「優秀なSEである」という前提のもと、「歯車になれるSE」とはどのような存在なのか考えていきたいと思います。
歯車になるとは
まずは具体的なことを考える前に「歯車になる」ということを抽象化して考えます。
「歯車になる」とは「チームの中で自分の責任を果たす」ということだと思います。
この、「責任を果たす」ということには2つの側面があると考えています。
一つ目は「与えられた仕事を全うすること」、二つ目は「自分の責任の外のことはやらずに責任ある人に任すこと」です。
SEとして「与えられた仕事を全うする」
システムを作る上で必要な仕事はプロジェクト管理などのマネジメントからドキュメント作成、コーディング、テストなど多岐に渡ります。
そして、それぞれの仕事はそれぞれの責任領域を持つメンバーで分担し遂行されます。
例えば、プロジェクトマネージャーはプロジェクト管理に責任を負い、プログラマはコーディングやテストに責任を負います。
こうしてSEの仕事を分解していくと、とても多くのスキルが必要だと再認識させられます。
しかし、その根底にはやはりシステムを理解し設計し物を作り上げるための確かな技術力が必要だとわかります。
「歯車になれる優秀なSE」の第一条件とはまず、技術力だと言えるでしょう。
確かな技術力を持ち、初めてSEは「与えられた仕事を全うする」その最低ラインに立つことができるのです。
SEとして「自分の責任の外の仕事は任す」
個人的には、こちらを意識することの方が重要だと思います。
というより、一つ目の「与えられた仕事を全うする」というのは社会人として当たり前のことです。
先ほどシステムを作る仕事は多岐に渡り、それぞれ責任領域を持つメンバーで分担されていると記述しました。
優秀なSEが集まった良いチームはそれぞれの仕事の責任領域が余すことなくはっきりとした仕組みができており、その中でメンバーが力を発揮しているものです。
反対に悪いチームは責任領域が曖昧で属人化が発生していたり、小数の優秀なSEに負担が偏っていたりします。
このことからチーム内の仕組みが整備されているか、というのも良いチームを作る上での最低条件ではありますが、今回のテーマとは逸れるので置いておきます。
ここではチームメンバーとして一人のSEとして良いチームを作るために貢献できることにフォーカスしたいと思います。
私は規律を守り良いチームを作るためにSEとして取り組むべきことは「チームの仕組みやルールを守ること」と「自分の責任領域を認識し、責任領域外のことは手を付けない」ということだと思います。
当たり前のことだと思いますが、これが意識できていない人はかなり多いと思います。(自分もできているか不安です。。)
例えば、親切心で勝手に人のコードや設計書を修正する、設計書に具体的なコードを記述する、スケジュールを自分で勝手に組み替える、などしていませんか?
上記のような行動をメンバーが好き勝手行なっていた場合、最終的に要件と合わない機能ができた時に誰が責任を取るのでしょうか。
知らない間に書き換えられたコードの検証は誰が行うのでしょうか。
システム開発は進めていくとカオスに向かっていく、とよく言われます。
どんな理由であれ自分の責任領域外の仕事を勝手に行うというのは、システム内にカオスを持ち込むことに他なりません。
「歯車になれる優秀なSE」とは「システムやチーム全体を俯瞰して自分の責任領域を正しく認識できる能力」と「エゴを出さずにチームの規律を守り仲間を信頼できる謙虚さ」を持っている必要があるのです。
「歯車になれる優秀なSE」とは
「与えられた仕事を全うする」ことと「自分の責任の外の仕事は任す」ことの二つの観点から優秀なSEとはどのようなものか深掘りして考えてきました。
まず、大前提としてシステムのプロとして確かな技術力とスキルを持ち自分の仕事を全うできることがあり、その上でチームプレーに徹することができると「歯車になれる優秀なSE」と言えるでしょう。
なぜ、歯車になれることが優秀なのか
今までは「歯車になれること」=「優秀である」という前提のもと考えていましたが、そもそもなぜ「歯車になれること」=「優秀である」と言えるのでしょうか。
「歯車になる」という言葉はネガティブな文脈で利用されることが多いです。
確かに、自分一人の力で何でもできる人の方が優秀なように見えます。
しかし、冷静に考えてみましょう。一人でできることはたかが知れています。
システムを作るとなると特にそうです。
大きなシステムを作るには優秀なチームが必要です。
だからこそ、自分のエゴを無理やり貫き通す人ではなく、自分のエゴを無くしチームの規律に従い「歯車になれる」人の方が「優秀である」と言えるのです。
私はいくつかの現場を経験して度々その現場内の「スーパーSE」となっている人を見かけます。
周りの人に比べて段違いに技術力があり、プロジェクト内で何かが起きるととりあえず相談されてしまう、事によっては解決まで一人でしてしまうような人です。
確かにこういった人は技術者としてとても優秀なのだと思います。
しかし私の経験上(まだ2年ほどしかないですが)、こういった人がいる現場は炎上しています。
つまり、チームとしてのパフォーマンスは最悪です。
チームとしては「全員が歯車になれていること」が、個人としては「チームの歯車になれている」ことが理想の状態と言えるのです。
まとめ
「チームの歯車になれる優秀なSE」というテーマで色々と考えたことを文章にしてきました。
優秀なSEの仕事のイメージをすると、一人で何でも作り上げてしまうスーパーマンのような姿が思い浮かぶ人も多いのではないでしょうか。
私自身もそんなイメージを持っていた一人です。
しかし、実際に働いてみるとチームとして大きなシステムを作り上げていく泥臭い仕事なんだと認識を改めることになりました。
だからこそ、「歯車になれる」能力について深掘りしまとめようと考え記事を書くことにしました。
まずは技術力を高めて自分が担当できる責任領域を広げていくこと、業務の中ではチームの一員であることを意識して規律を守ることを意識していきたいと思います。
ここまで読んでいただきありがとうございました。
それでは、また。