novtanの日常

ネタです。ネタなんです。マジレスする人は撲滅すべき敵です。だからネタだってば!

炎上プロジェクトから始まる異世界生活

あれ、このネタ前なんか書いた気がするぞ。まあいいか。
久々にござ先輩が荒ぶっとるので、読んでみたんだが…荒ぶっとるなw

この手の話は「n=その人の体験数」にどうしても成りがちなので「成功事例も含めて」みんなの声がたくさんあるといいよ。なので、僕もなんか書くことにしますよ。

gothedistance.hatenadiary.jp

まあござ先輩のエントリにも引用されているのですが、改めて発端はこれ。

まず、単純な話からすると「イッセンマンITエンジニア」。これがもう欺瞞的な看板過ぎてその時点で話0.5割なわけですが。これなにを根拠に言ってるんだろう。まさかイッセンマンだから1000万じゃないよってこと?そんな訳はないと思うので、年収1千万稼げるエンジニアへの近道って書いてあると解釈するよ。はい、無理です。大げさに言っているという好意的な解釈をしたとしてもね。「別に本気でおすすめしていません」なんてことも言っているけどじゃあ最初から言うなよ。

炎上プロジェクトにおける「経験浅の人」の役割

経験浅でも採用の可能性が上がるし

はい。炎上しているPJTは一般的に「猫の手も借りたい」状態です。でも実際に猫を募集しているところみたことないですよね。そういうことです。普通に考えて経験ない人がやってきて「お前にPGMを任せる」なんてことないですよね。ないですよ。普通は「テスター」になりますね。ひたすらテストをし続けるわけですね。当然経験ないのでUnixサーバに入ってログを取得するみたいなことも出来ないので、ひたすら画面を叩いてスクリーンショット取ってExcelにエビデンスとしてまとめるお仕事です。え?スクリーンショットのとり方?自分で調べろや。え?効率化のためのソフト入れたい?PMに直接言ってこい(言えるわけない)。
うん、Windowsの操作スキルめっちゃ上がるかもしれないね。
あれ?と思った人がいるかも知れませんが、炎上プロジェクトにおいて一番後回しにされるのは「自動化」ですね。それができれば炎上プロジェクトとしてはマシですね。とにかく人手が効率がいいんですよ(コスパがいいとは言っていない)。でも、そこで期待されているのは「人」ですから「猫」がやってきたら「お前そんなかんたんなことも出来ないのかよ何しに来てるの?」という目で見られること請け合い。適応能力に自身がある人であれば、作業の量だけは降ってくるから確かにスキル上がりますね。主にWindowsの操作の。

でもね、今のIT業界、テストをちゃんとデキる人、めっちゃ貴重です。

  • 単体テスト、結合テストの概念をきちんと理解できている
  • その概念に従って正しいテストケースを設定できる
  • 正しいテストケースを政治的に調整できる(超高難易度)
  • テスト実施手法を標準化して効率化できる(中難易度)
  • テスト結果の品質分析をできる(中難易度)
  • テストの自動化手法とその実装について実践できる(高難易度)
  • そういった全体を理解してCI/CDとの組合せでPJTをリードできる(超高難易度)

これだけできればテストのスペシャリストとしてしばらくおまんま食えますね。超高難易度の領域で業界の第一人者と認められれば「イッセンマン」行けると思いますよ。しかし、炎上プロジェクトの現場では学べねーんだよなこれが。はっきり言って、作業を振られて放置だけされる現場では、ここに書いてあることのかけらも学習できません。何の意味があってこのテストをやっているかをわからないまま、日々疲弊するのが関の山です。

もしかして「開発できる」?

はい、開発はできます。経験浅くても。できますよ。やるんですよ。そこに手順書があるでしょ?そこに設計書がありますね。炎上プロジェクトなんで設計書は不完全です。開発ガイドもおざなりです。共通機能がどこにあるかもわかりません。でも多分Spring bootなんでWebのどっかにあるTerasolunaの開発ガイド見てればなんかわかるんじゃねーの?(他の言語についてもおおよそ似通った話)
「あなたがどれくらいの生産性をもっているか知りませんが、いつまでにこれだけ作ってくださいね。レビューはする余裕がないので。ちゃんとテスト通れば大丈夫でしょ。テストのケース設定?ガイドあるからそのとおりにしてね」数日後、進捗詰められている姿しか思い浮かびませんね。
もし、とても運が良かった場合、あなたがぶら下がったチーム(多分、あなたの会社の1~2階層上の会社)が炎上プロジェクトを何とかするために色々考えてくれているかもしれませんね。でも経験浅い人を炎上プロジェクトの開発メンバーとしてアサインしている時点で、もうまともな状況ではない。
自分で調べてなんとかする、というのは開発経験としては下の下です。「まともなプロセス、体系化された知識のもとで育ってきた」エンジニアがみんな大好きです。
こんなんで「イッセンマン」に近づくわけねーだろ。

終わらない炎上

一般的に、PJTというのはスケジュールがあって、ゴールがあります。炎上プロジェクトの炎上プロジェクトたる所以は、そこがぶっ壊れていることです。炎上プロジェクトにヘルプに入って一番きついのは「この状況はいついつまでだからそこまでなんとしてでも頑張ろう!」からの「仕様が変わった」「他のチームが終わらない。助けろ」「あと1ヶ月追加で頑張ろう(1ヶ月ぶり5回め)」ですね。精神的に厳しい。
こんな状態でスキルを伸ばすような活動をできる人はいません(いたらその人は炎上プロジェクトに入る必要性がない有能)。もう食事と睡眠くらいしか人生の楽しみないよ。

プログラマーとして以外のスキル身につく?それってなに?

経験が浅い人が炎上プロジェクトに入ってそれ以外のことできるってマジで?もしできるとしたらPMOで事務的な役回りだろうけど

  • 毎日のように行われる問題解決の会議のために、Excelで障害一覧を整備しコピーし配って会議の議事録を取ってお客さんの辛辣な言葉を毎日耳に入れてこの業界ダメだわって思う
  • 毎日のように行われる人の出入りで入館証や端末やアカウントの手続きをひたすらやる
  • 行方不明のPMを探して右往左往
  • 疲弊したメンバーのやらかしをお客さんに謝りに行く
  • こいつシステムのこと全然わからないのになんでいるの?みたいな目で見られる

炎上プロジェクトにおける「経験値」とは

そうは言ってもね、炎上プロジェクトにもいろいろあります。「週最大7日間1日15時間以上」という条件の炎上プロジェクトはこれまあ完全に終わってる案件で、これやらないと会社潰れる的な状況じゃない限り絶対に近づいてはならない。一方で、炎上はしているんだけど、プロセスは正常な場合もあります。プロジェクトが炎上する理由って、別にプロセスが正しくないからだけではないんですよ。どこかで致命的なミスが発生するのは必ずしもプロセスの正しさだけでは回避できない。だから、「リカバリーのために関係各所で努力している」正しい炎上プロジェクトの場合、リカバリプランも正しく、でもMAX負荷でできるだけスケジュールを取り戻す(それも妥当性評価をされている結果としてね)、という、「理想的な炎上プロジェクト」はなくはないです。やばいのは「スケジュールは変えられない、前工程に立ち戻っての確認も許さん。とにかく完成させろ!」なPJTであって、「炎上しちゃったけど、なんとか正常化したいので最大限努力するんだ。顧客も前向きに捉えてくれている」みたいなPJTであれば炎上してても意外と経験になったりしますよ。ただ、そういうプロジェクトは「週最大7日間1日15時間以上」みたいなことには絶対にならない。

さて、いずれにしても、炎上プロジェクトは理想的には以下の経験が得られる可能性があります。

  • とにかく作る。お金をもらえる写経
  • どうすればPJTが失敗するかの原因を目の当たりにすることでアンチパターンを学べる
  • 悪いプロセスが正しいプロセスに変更されて改善される効果を実地で学べる
  • 品質管理の重要性と評価の仕方、品質が一定に満たない場合の方策とPJTの計画変更について学べる
  • 顧客の経営層を納得させるための文章術
  • 不毛な会議を建設的に変える話術
  • 折れそうな人を勇気づける人間力

あれ、これPJTで教われるの?そう、これは教わるものではないです。つまり、かなり有能な人が高濃度の肥料と燦々と照りつける紫外線で促成栽培されるだけであって普通の人はこんな学習できませんね。

炎上プロジェクトにおける「経験浅」は歯車にもなれない

あれだよあれ、地下室で棒押してくるくる回る人です。

炎上プロジェクトが勲章になるのは元々炎上を鎮火させる実力をもった人だけです

炎上プロジェクトの火消し、というのは条件によってはかなりヒーローになれる可能性はあります。でもそれはマイナスをプラスにすることには絶対にならない(炎上しなかったときよりも良かった、となるのはQCDでいうQだけであって、CDの目的は達成できないことがほとんど)から、嬉しいことでもないんですけどね。

とにかく、炎上プロジェクトで急激に成長するのは炎上プロジェクトじゃなくても自分の力で成長できる人だけです。だからといって炎上プロジェクトの経験が即「イッセンマン」につながるなんてことはありえないですよ。どの業界でもそうだと思いますが、スキルと待遇を上げていくにはこういう経験ではなくて、ひたすら勉強し続けることだと思いますよ。

といいつつ、最後に

ところが、炎上プロジェクトでアホみたいな成長をするやつ、たまにいます。どちらかというとバリバリのエンジニアではなくて、無限の調整能力を持つ感じの人。そういう人はPMの資格を取ったり、コントロールが難しい大規模PJTのPMOの核として働ける可能性があります。エンジニアとしての成功を目指す、という意味では失格ですが、こういう人はどこでも重宝されるし、必要なポジションなんですよね。そういうのを目指すのであれば、一度は炎上プロジェクトで揉まれて精神修養をしたほうがよいかもしれませんね(ただし失敗すると心が死ぬ)