仕事の上で必要なもの
以前にも書いたが仕事でのWindows環境を使用している。
少し専門的になるがここを見ている人ならば問題ないだろう。
Windowsの開発環境はWSL2、Docker、VScode、Windows Terminalなどだ。
バージョン管理はGitをコマンドで叩いている。
このうち、WSL2やWindows Terminalなどは、普段Macを使っていると縁がない。
ある日、Dockerでエラーが出た。検索してみるとWindows固有のエラーらしいが、解決方法は曖昧なものばかりだったので、下手にいじって壊したら大変なので、そのあたりの人にチャットで質問してみた。
直接プロジェクト内でかわかっている人で知っている人はいなかった。
そもそもプロジェクトは3人で、自分以外にエンジニアは1人しかいないし、マネージャーは当然コードを見ない。 そしてMacを使っている。 外注の人は関わっているが、WindowsかMacかしらないし開発環境は合っていない。これも問題だが後で発覚したことなので触れない。
そのチャットに反応したのは他のプロジェクトの人だった。
その人は過去はMacを使っていたらしいが、Windowsでメインメモリは32GBにすることを推し進めた人だった。
まず、対処方法としては、WindowsのDockerはMacと比較し、Linuxベースで無いのでWindowsの理解が足りていなかった。 DockerのSettingからResourceでUbuntuを有効にしなければダネだった。
また、Windows Terminalを使えば、枯れたWindowsのコマンドプロンプトが使えるし、PowerShellも、Linuxもウィンドウを開けば操作できる。 たった一つの設定で、様々な影響出ていた。
以下リンクは、id:edo1zさんのブログから引用させていただきました。
つづいて、VScodeについても、
それでだ。
他のプロジェクトのWindowsを現場で使うことを決めた人の話し方は腑に落ちるものだった。
まず、Macについては、Apple M1が登場したころに、このチームは誕生した。
2020年だったと思うが、その頃、Silicon Mac(M1)では、Dockerが動作しない問題が残っていた。 まだまだ、対応するソフトも少なく、Rosettaで動作させている時代だった。
Mac に Rosetta をインストールする必要がある場合 - Apple サポート (日本)
一般的な使い方ならあまり問題ないだろうが、Dockerが必須なので、WindowsPCを選択という。
その上で、Windowsと、思い業務用のソフトウェア、Linuxを使うために、メインメモリ多めのWindowsPCが採用された。
それは、その次代としては合理的な判断だったと思う。自分の場合はIntel Macを使っていたが管理が煩雑だろう。
この会社はWindowsの管理者権限をIT部門であっても付与していない。
これでは仕事にならないが、WSL上のLinuxは自分で設定するので、suになれる。
apt-getだろうが、なんだって出来る。
そして最後に、直接プロジェクト内でかわかっている人達は、かなり面倒なやり取りの上、Macをゴリ押ししたらしい。
パワポで書いているマネージャーすらだ。
たしかに個人所有のMac mini M2を使ったほうが数段速いかもしれない。
iOS案件だってある。前任者が辞めた理由が分かってきた。会社の方針に従えば問題ないだけのことだ。
言語だってGO言語で書かれていたり、Python、TypeScript、Node.jsなんでもエンジニアの裁量で任されている。
問題は、直接関わっている人が、Windows、実現可能性などの技術選定、技術的負債などに弱いことが原因だった。
この案件の一部は、あの懐かしいWordPressを使う。それなのにWordPressに詳しいメンバーがいない。
それなら何故、WordPressが採用されるのか。規模の大きいプロジェクトにWordPressは向かないし、カスタマイズも制限される。
もっと可用性のあるWebフレームワークを採用すべきだった。
「俺、知ってる感」を醸し出す人はめんどくさい。過去に戸塚で苦労したが、今でもこういう人っているんだな。