SHOTech Blog

プログラミングに関する記録です

地方のSIerでEMの1歩を踏み出した話

Engineering Manager vol.2 Advent Calendar 2019の6日目の記事です。(遅れてすみません)

qiita.com

ここ1、2年を振り返ってEMっぽいことを考えたり実践したりしてたなーと思ったので簡単に書こうと思います。
ただし、うちの会社には「エンジニアリングマネージャー」という明確なロールはありません。言葉そのものを聞いたことがない人のほうが多いと思います。
EMというロールできちんと活動される方から見れば「お前のやってることはEMじゃねえ」って言われるかもしれませんが、今回はチームのパフォーマンスを上げるための「技術的な底上げ」という部分に絞って個人的な思いとか失敗したこととかを書いてみようかと思います。
あくまでも個人の発言・見解ですし、入り口に立っただけなので「EMの1歩」とタイトルに書きました。

働いてる会社について

まず大前提ですが、九州の真ん中の熊本という地方にあるIT企業です。所謂SIerです。くくり的にはN〇Cのグループ会社の一つです。

巷ではSIerはクソだという評判は多いですし、実際にIT業界の中でも新卒の採用や転職市場で不人気なのは知ってます。 ただ、そんな中でもやる気のあるエンジニアを贔屓する制度があるだけまだうちはマシなほうかなと思います。

  • 会社が事業としてやっていない分野の研究開発ができる
  • 研究開発に使うデバイスの購入ができる
  • 県外の勉強会・カンファレンス参加のための参加チケット代+旅費が会社から出る
  • 自己研鑽用の物品購入費用を会社で経費精算できる(資格試験代もここに含まれる)

など、自分で手を上げさえすれば会社がサポートしてくれます。
別記事にまとめてますが私の場合はHoloLensを触ってます。(次はドローンかな)
※会社の既存事業としてはxRもドローンもやってません

sy0690.hateblo.jp

まあ、そんなわけで私は楽しく仕事できてます。

今の部署について

ダッソー社が提供しているAprisoという製造業向けのパッケージを使ってシステムを構築する部隊にいます。
このAprisoはググっても技術的な情報はほぼヒットしないので、基本的には社内にある知見から引っ張るかサポート問い合わせるかの基本2択です。なので、社内の中でも技術格差がかなり大きいかなと思います。かつ、誰がどんなスキルやノウハウを持っているのかもわかりにくいという状況です。
分からないことがあればメーリングリスト宛に投げると誰かが返してくれるというのはありますが、チケット切ってるわけじゃないのでどうやってクローズしたのか不明とか、類似したものを探すの大変とかいまいちなことが多いという状況です。

私の立ち位置について

SIerあるあるかもですが、入社後はだいたいコーダー・テスターの経験を経て、ちょっとずつ上流と呼ばれる設計フェーズを担当するようになるルートを通ってきました。

ここ2,3年は要件定義や概要設計をやりながら、チームをまとめるマネジメント側に回っています。
設計した後は大連にいる中国人メンバーに投げて、その後成果物の受け入れチェックをしたりもしています。 体制的には管理者として課長がトップにいて、その下にリーダーが2人いて、リーダーを中心に2つのグループがそれぞれ案件を進めるという感じです。リーダーの2人のうちの片方が私です。 さらに今年1年間は、チームのタスク割りやメンバーの進捗管理を別のもう一人のリーダーに寄せてしまって、少し1人で自由に動けるようにしてもらっています。

こんな感じで、本題です。

チームのパフォーマンスを最大化するための悩み

年齢と技術が比例しないのは当然ですが、メンバー間で技術格差が大きい場合、「誰に」「何を」お願いするのか非常に迷います。
最終的には難易度が高い案件は全部自分で引き取るのことが、結果としてチームが一番パフォーマンスを発揮できる状態にあると感じてます。
これは自分の技術力が高いわけではなく、ただ単純に今の顧客について一番古参メンバーなので知ってる範囲が他の人より多いだけです。実装力だけなら自分より圧倒的に高いメンバーもいるので、私が案件を引き取って情報を整理してタスクをメンバーに渡すわけですが、この情報を整理してコントロールできる人が足りないことが今のチームの課題です。
SIerのビジネスモデル上仕方ない部分もあるのですが、いわゆる「上流」工程ができるメンバーが重要になってきます。で、この「上流」を任せられるようになるにはどうしてもシステムに対する幅広い知識を求められてしまうので、育成するにしても時間がかかるし、Aprisoの知見を持った経験者を採用するにも難しいという状況なので、今一番の悩みとなってます。

Redmineでナレッジをためる

なにはともあれノウハウの共有のためにRedmineにナレッジベース機能を入れて記事をためていくことにしました。
前線に立てるメンバー(「上流」工程ができるメンバー)を増やすために、誰かが体験したことや躓いたことを記事にして残しておくことで、後から来る人が最短距離で歩けるようにしようという試みです。

結論から先に書くとこれは完全に失敗しました。チームメンバー7人、他チームも含めてApriso部隊としてみると30人くらいはいるのですが、記事書いたのは私含めて4人しかおらず、ほとんど誰もアウトプットしてくれませんでした。

アウトプットしない文化については最初は仕方ないと思ってましたが、ちょいちょ聞くのは「その人が持ってる情報はその人が努力して得た成果だから、あまり公開したくない」という話。
自分が持ってるものを公開するということは、「自分以外でも自分と同じことができるようになる」ことを意味していて、その結果「自分の価値が下がるんじゃないか」という不安につながっているようでした。これは個人的には価値観の差だとは思ったものの結構根が深そうでした。「その人にしかできない」というのはある種その人の価値そのものなので分からなくはないですが、コミュニティに出入りしてると「アウトプットファースト」で真逆の状態をよく見ます。自分の持ってるものを公開して誰かに価値を提供し続ける人がたくさんいますが、その人たちの価値が落ちてるとは思いません。むしろいろんな人がアウトプットしてその中から新しいものが生まれたり、アウトプットする=言語化して誰かに伝えることで自分の理解も深まるし、新しいものをアウトプットするためにインプットするサイクルが生まれてるので、結果としていろんなものが爆速で進化しているんじゃないかなと思ってます。

誰かのGive待ちしてるTake専のマインドセット

ほとんどの人がアウトプットしない状態なんですが、スキルアップに興味がないかというとそうでもなさそうだということも感じてます。新しいことに興味がある人は多いです。 部署としても課題を感じてプランを考えたり、チームとして改善を考えたりすることはあるんですが、それでも結局は最初の1歩は誰かがGiveしてくれるのを待っているように感じます。自分からはGiveせずTakeだけ狙う感じですね。このマインドセットを変えるのは一人では無理だなと痛感しました。
ただそんな中でも、新人若手の中には「自分がGiveする情報はほかの人の価値あるものじゃないからしない」というのも交じっているとも感じてます。
なので、この若手を巻き込んて次のアクションをやろうと考えてます。

ゴミ記事プロジェクト

価値ある情報を提供できないからアウトプットしないという状態だといつまでたっても何も出てこないのは分かり切っているので、若手を巻き込んでゴミ記事をためることから始めようと思います。
当然スキルの高い人にとっては役に立たない情報、いわゆるゴミ記事ですが、意識を低くして始めるにはちょうど良いと個人的には思ってます。

  • チュートリアル動かしてみた
  • こんな部品を使ってプログラム動かしてみた
  • こんな画面作ってみた

などちょっとしたことを記事にまとめていくというものです。次はこれを数人で小さく試してみようと思います。
自分でやってて思いますが、この手のアウトプット文化が根付いているチームってめちゃくちゃすごいなと思います。

ほんとは今月中に動き出そうと思いましたが、ちょうど月初に子供が生まれたこともあり在宅勤務に切り替えてフルリモートで仕事してるので実施は年明けになりそうです。結果はまたどこかで書きたいなと思います。今回はここまで。