SIerとウェブ系のパソコンのスペックの違い
SIerからウェブ系企業に転職した者です。
長くSIerで働いてきて、酸いも甘いも経験してきたつもりです。
今日はSIerの「酸い」の部分、パソコンのスペックについて語ります。
SIerのPCは開発者にとって苦痛
SIerで使うパソコンは基本的に低スペックです。
メモリは4GBで、全員漏れなくWindowsです。
社内には強固なセキュリティ規則があり、たまにGitHubへの通信が禁止されていました。
シンクライアント環境での業務が推奨された後は、開発環境としてはさらに悪化しました。
ヌルヌルとした動きのリモートデスクトップ上で常に業務しているような感じです。
割り当てられたメモリは4GBで、SSDの容量はたしか128GBくらいだったと思います。
パソコンにはEclipse、Visual Studio、IntelliJ(JetBrain製のIDEを使う人はいませんでしたが)、Dockerなどのインストールが禁止され、notepad以外だと
秀丸エディタ一択
でした。
いわゆる一次請けの大手SIerでは普通の社員は開発なんてしません。
コードレビューもしません。
手元でコンテナを立ち上げたりもしません。
課題や進捗を記録したExcelを開き、メールソフトやチャットソフトを見て、PowerPointで資料を作るだけなので、パソコンのスペックは必要ないのです。
しかしながら、かわいそうなのは実際に手を動かす協力会社のメンバーです。
劣悪といっても仕方ないパソコンで、Eclipseが立ち上がるのをじっと待ち、低スペックのパソコンで我慢して開発を続けています。
こういうのは一次請けの大手SIer社員が気付いて、
「開発用PCのスペックがしょぼすぎて、生産性が落ちている」
と言わなければならないのですが、意思決定を牛耳る偉い人たちはプログラマの気持ちなんて理解しようとはしないので、パソコンのスペックは悪くなる一方でした。
SIerのマネージャーにとってプログラミングとは外注パートナーにやってもらう(やらせる)ものであって、自分たちの仕事ではないからです。
そして業務でも、SIerのプロパー社員がプログラミングでもしようものなら、
「お前は本来の業務(管理や報告)をサボって何を遊んでいるんだ?」
と冷たい目で見られるような雰囲気がありました。
「SIer社員は開発してはいけない。手を動かしてはいけない。
単価の高い一次請けの社員は上流工程をやるべきなのだ」
という暗黙の了解がありました。
なので、会社に行ってもみんなのディスプレイに映っているのは
- Zoomの画面(オフィスの6〜8割の人が常時会議している)
- メーラーの画面
- チャットの画面
- Excel
- PowerPoint
- Word
だけでした。それ以外を映している人は1%もいませんでした。
たまに黒い画面を開いている人を見かけたら、「おっ」と思ったものです。
黒い画面を映しているのはだいたい20代の若手社員でした。
そういえば、たまにteratermでサーバの情報を調べている人もいました(20代の若手社員)
ウェブ系企業では開発者の生産性を高めるための投資を惜しまない
ウェブ系企業に来て驚いたのは、社員の生産性を高めるための投資を惜しまない姿勢です。
パソコンはMacbookがデフォルトで、職務や好みによってはWindowsも選択可能です。
搭載されているメモリは32GBで、好みに応じてカスタマイズしようとしても何も言われません(SIerの場合は“標準でない設備”を購入するならば、理由を論理的に説明し、たくさんの偉い人の承認をもらう必要があります)
ウェブ系企業ではパソコンだけでなく、ディスプレイも“標準で”大きなディスプレイが配布されます。
SIerの場合は前の人が置き残していった古いディスプレイを使ったり、ディスプレイがない席もありました。
新人とか入社3年目くらいまでの若手社員は、先輩からのお下がりのディスプレイをもらっていたりしたものです。
ただ、理解のある上司がいれば、申請してディスプレイを購入することができます。
その他にも、ウェブ系企業ではキーボードやマウスは好きなものを購入できて、オフィスチェアも20万円くらいする座り心地の良い椅子がデフォルトで配布されます。
リモートワークの場合は自宅まで椅子が届きます。
SIerとウェブ系の業務環境はこれくらいの差があります。
私が転職したウェブ系企業が特別というわけではないでしょう。
また私が在籍していたSIerが特別というわけでもないと思います。
どちらも典型的なSIer、典型的なウェブの世界の話です。
なぜウェブ系は技術者に投資するのか
ウェブ系、というか自社開発の事業会社の場合、エンジニアの生産性や技術力が自社の競争力に直結しています。
開発者が快適に、働きやすい環境を整えることが自社のサービスを向上させ、ユーザーの利便性につながり、ひいては利益につながっていくのです。
一方で、SIerにとって開発者はコストです。
人月商売で利益が決まるため、できる限りの人数を確保して、一人あたりにかかるコストは抑えた方が利益が出ます。
また、技術力は必ずしもSIerの利益につながるとはいえず、むしろ生産性が上がると工期が短くなってしまい、お金を引っ張れなくなってしまいます。
生産性を上げて早く仕事が終わると暇な人とみなされるため、生産性を上げるインセンティブは働きません。
効率よく働くよりも、一日一日を目一杯稼働させることが大事なので、生産性の向上に考えが至らないことが多いです。
というより、SIerには生産性を向上させるインセンティブがありません。
生産性が高くなって、一人ひとりの作業時間が短くなると、お客様が支払ってくれる費用も削られてしまうからです。
たくさんの人を動員して、 非効率に仕事をすることで、お客さんにお金を支払ってもらうのです。
「このプロジェクトでは2000MMの工数が必要と見積もりました。
単価200万円でお金ください」
どちらかというとウェブ系が良さそうに見えるような記事になってしまいましたが、SIerとウェブ系では業務内容が全く異なるので、パソコンのスペックも違って当たり前です。
ExcelやPowerPointを開くのにメモリ32GBのMacBook Proは必要ありません。
SIerでは業務に必要なスペックのパソコンが支給されているだけです。
高性能のCPUやRAMが必要ならば、自然とスペックも高くなってくるはずです。
高くならないのは、意思決定に携わるSIerの高齢層にパソコンのスペックは全く必要ないからです。
ちなみに「業務に必要」というのは、「上流工程を担当する一次請けのSIerの業務に必要な」という意味なので、二次請け、三次請けの「PG」と呼ばれる開発者たちにとっては当然、ストレスフルな環境でしょう。